FreeBSDにDrupalをインストールしてみる

DrupalをFreeBSD上にインストールするメモ。

今回もさくらVPS上のFreeBSDにインストールしました。

さくらVPS上のFreeBSD環境については「FreeBSD on さくらVPS」に記載している通りです。

また、今回は「drupal.force.pdns.jp」というサブドメインで動かしてみます。

インストールは基本的にDrupal 6 クイックスタートページの通りに進めれば特に問題なく終わるかと思います。

・データベースの選定

DrupalではMySQLとPostgreSQLの何れかのデータベースを使用する事が出来ます。

・MySQLの場合

rootユーザでMySQLにアクセス。

# mysql -p
Enter password:ルートユーザのパスワードを入力

データベースを操作するユーザがいなければ先に作成します。

insert into mysql.user set user="ユーザ名", password=password("パスワード"), host="localhost";
insert into mysql.user set user="ユーザ名", password=password("パスワード"), host="127.0.0.1";
flush privileges;

次にデータベースを作成します。

create database データベース名 ;

ユーザに作成したデータベースのアクセス権を設定します。

GRANT ALL PRIVILEGES ON データベース名.* TO ユーザ名@localhost IDENTIFIED BY 'パスワード';
GRANT ALL PRIVILEGES ON データベース名.* TO ユーザ名@127.0.0.1 IDENTIFIED BY 'パスワード';

・PostgreSQLの場合

最初にPHPのPostgreSQLモジュールがインストールされているか確認します。portsでphp5-pgsqlをインストールしていなければ、

portinstall -f databases/php5-pgsql

して、PostgreSQLモジュールをインストールしておいてください。

次にデータベースにアクセスするユーザを作成します。FreeBSDでportsからPostgreSQLを導入した際の管理用ユーザは”pgsql”(ちなみに、ロールに対するスーパーユーザも”postgres”では無く”pgsql”になっています。)ですから、

su pgsql

として”pgsql”アカウントに変更します。Drupalに必要なデータベースアクセス用ユーザの作成は

createuser --pwprompt --encrypted --no-adduser --no-createdb ユーザ名

のように実行してください。”ユーザ名”の部分は作成するユーザ名を入力します。

上記コマンドを実行すると作成するユーザに対するパスワードの入力を求められます。

Enter password for new role:パスワード
Enter it again:パスワード(再入力)

最後に

Shall the new role be allowed to create more new roles? (y/n) n

と聞かれます。これはロール絡みの操作を許可するかどうかを指定するものです。ロールって何ぞやと言う事ですが、unixの世界で言うところのユーザとかグループとかそんな物を指すようです。ですから、先程createuser云々でユーザ名を入力しますと書きましたが、PostgreSQLの場合は「ロール名を指定して」と記述するのが正しいわけですね。

恐らくDrupalからロールを作成する事は無いと思いますから、基本的に”n”を入力すれば良いはずです。インストール後にロールを確認しても増えていませんし。

ちなみにロールの状態は

psql -d postgres

した後

select * from pg_roles ;

してあげると登録済みのロールの状態が見れます。createuserする時に”–no-adduser –no-createdb”オプションを指定しているので”y”を指定してもrolcreateroleがtrueになるだけです。

rolsuper・rolcreaterole・rolcreatedb・rolcatupdate辺りはfalseになりますから、このロールで新しいロールを作成してもスーパーユーザや新規データベース作成の権限を付与する事は出来ません。

psqlから抜けるには”\q”と入力すれば抜ける事が出来ます。

次にデータベースを作成するため

createdb --encoding=UNICODE --owner=ユーザ(ロール)名 データベース名

を実行します。

・Drupalの入手

Drupal JapanのDrupal 6 クイックスタートページ上に「Drupal 6.20 Drupal Japan日本語ディストリビューション」をクリックしてアーカイブファイルを入手します。今回はdrupal-6.20-japanese_020.tgzファイルを入手しました。

取得したファイルはtar+zipのアーカイブとなっていますので任意のディレクトリに展開しておきます。今回は/usr/local/www/の下にdrupal.force.pdns.jpというディレクトリを作成してその下にアーカイブファイルををコピーしてから

tar zxvf drupal-6.20-japanese_020.tgz

として展開しました。

展開する”drupal-6.20″というディレクトリが作成されますので、

mv drupal-6.20 data

としてリネームしています。Webインストーラ実行前に下記を実行して環境を整えておきます。

cd data
rm -r scripts
chmod 666 ./sites/default/settings.php
chmod 777 ./sites/default/files/*

・ドメインの設定

今回Drupalは専用のFQDN(drupal.force.pdns.jp)用を割り当てたので、DNSに対してdrupalをAレコードで追加しておきます。

drupal       IN      A       サーバのIPアドレス

当然の事ですがお使いの環境に合わせてDNSに登録してください。シリアルの変更を忘れずに行った後、namedを再起動させます。

・Apacheの設定

Apacheの設定は「さくらVPSでJoomla! 1.5.21 Japanese を動かしてみた。」あたりも参照してください。

ここではApacheの該当サブドメイン用設定ファイルのみ記述しておきます。(/usr/local/etc/apache22/Includes/drupal.force.pdns.jp.conf)

<VirtualHost *:80>
ServerAdmin
管理者のメールアドレス
DocumentRoot /usr/local/www/drupal.force.pdns.jp/data
ServerName  drupal.force.pdns.jp
LimitRequestBody 1048576
UserDir     disabled
HostNameLookups     ON
ErrorLog /usr/local/www/drupal.force.pdns.jp/log/httpd-error.log
CustomLog /usr/local/www/drupal.force.pdns.jp/log/httpd-access.log combined
<Directory /usr/local/www/drupal.force.pdns.jp/data>
AllowOverride All
Allow from all
Order allow,deny
</Directory>
</VirtualHost>

設定が終わったら

/usr/local/etc/rc.d/apache22 restart

してApacheを再起動しておきます。

・Webインストーラの実行

設定したURLにアクセスしてDrupalのWebインストーラを実行します。

「日本語プロフィール」にチェックを入れて「Save and continue」ボタンをクリックします。

データベースの設定画面が表示されたら、データベースのタイプ・データベース名・データベースのユーザ名・データベースのパスワードを入力します。

データベースとHTTPDサーバが異なるマシンで動作している等の場合は、「高度なオプション」をクリックする事で追加の設定内容が展開されるので、そちらも合わせて設定します。

インストールが完了するとサイトの環境設定画面が表示されます。適宜設定して「保存して次へ」ボタンをクリックします。

インストールが完了すると上記のような画面が表示されます。「新しいサイト」のリンクをクリックしてDrupalにアクセスします。

左サイドメニューから、管理セクション→リポート→現状報告と進んで、エラーになっている項目が無いか確認します。

インストール直後は一部のパーミッションが適切ではないためエラーが表示されているはずです。アーカイブを展開したディレクトリ(今回は/usr/local/www/drupal.force.pdns.jp/data)に移動して

chmod 444 ./sites/default/settings.php
chmod 555 ./sites/default

を実行してパーミッションを変更してください。

cronメンテナンスタスクが「!」になっている場合は「cronを手動で実行」をクリックします。必要であればcrontabに登録しておきましょう。

これでインストールは一通り終了となります。

インストールサンプルは「http://drupal.force.pdns.jp/」で参照できます。


コメント

タイトルとURLをコピーしました