httpd ないと話にならない。今時なら apache 2.2 かな?
% sudo portinstall www/apache22
特に設定は変更しなかった。/etc/rc.conf に以下の行を追加する。これで、次回リブート時から自動で apacheが起動してくれる。
apache22_enable="YES"
/usr/local/etc/apache22/httpd.conf をほどよく編集。少なくとも ServerAdmin? と ServerName? はちゃんと設定しておかないとかっこ悪くない?giantstar は、web server としては www.nw.is.kyusan-u.ac.jp なので、ServerName? はその方向で。
xoops を動かす予定なので PHP も必要。4.x と 5.x でちょっと悩んだけど zend エンジンに期待して 5.x。
% sudo portinstall lang/php5
MULTIBYTE を on にした。そうしないと日本語通らない気がする。本当?
インストール後のメッセージに従って、/usr/local/etc/apache22/httpd.conf に以下の行を加える。
DirectoryIndex index.html index.php AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
これも xoops に必要。なんだかいっぱいバージョンがあってこれも悩む。以前にオフラインで聞いた情報などを元に 5.0 を選択。
% sudo portinstall databases/mysql50-server
apache 同様 rc.conf に以下の行を追加する。
mysql_enable="YES"
mysql の root ユーザにパスワードをつける。デフォルトはなにも付いてないんだよねぇ。ドキドキ。
% mysql -u root > set password=password('foo'); > exit
行頭の > は、mysql コマンドのプロンプト。foo がパスワードなのでほどよく変更。
SQL を手で叩けないので、phpMyAdmin? に助けてもらう。
これは簡単。
% sudo portinstall databases/phpmyadmin
/usr/local/www/phpMyAdmin?/config.ini.php を編集。こんな感じ。
/* Servers configuration */ $i = 0; /* Server localhost (config:root) [1] */ $i++; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['extension'] = 'mysql'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'hoge'; /* End of servers configuration */
MySQL のサーバは1台しか居ないから、無駄っぽいけどひょっとしたら将来増えるかもしれないし…。
まずは認証用のファイルを作る。
% sudo mkdir /usr/local/etc/www/htpasswds % sudo htpasswd -c /usr/local/etc/www/htpasswds/.htpasswd1 phpadmin
DocumentRoot? 以下に置きたくないので別のディレクトリを作ってそこにファイルを格納。phpadmin はユーザ名なので適当に。パスワードはほどよく。
/usr/local/etc/www/apache22/httpd.conf に以下を追加
Alias /phpmyadmin/ /usr/local/www/phpMyAdmin/ <Directory "/usr/local/www/phpMyAdmin"> Options none AllowOverride Limit Order Deny,Allow Deny from all Allow from .is.kyusan-u.ac.jp AuthUserFile /usr/local/www/htpasswds/.htpasswd1 AuthName "Please Enter phpMyAdmin Username and Password" AuthType Basic Require valid-user </Directory>
Alias 元のパス名は適当に変更したほうが良いかも。これで、http://FQDN/phpmyadmin/ で phpMyAdmin? にアクセス可能になる。要求されるユーザ名とパスワードは上で設定したもの。
MySQL に xoops 用 DB アクセス用のユーザを作成する。「特権」メニューから「ユーザを追加する」を選択。ユーザ名は自由に(たとえば xoopsuser)。ホストは localhost で良いんじゃない?パスワードはほどよく。
phpMyAdmin? のメインページから「新規データベースを作成する」。DB の名前はほどよく。
3.5.1 で作成したユーザに対して、3.5.2 で作成した DB へのアクセス権限を与える。全部の権限を与えておけば良いんじゃない?
XOOPS の最新版探してたら、XOOPS Cubeを発見。2.0.14 JP ってのがリリースされてたのでダウンロードしてきた。
DocumentRoot? に全部置いて良いのかどうか自信が無かったので、/usr/local/www に展開してみた。
% cd /usr/local/www % sudo tar xvfz ~/xoops-2.0.14-J.tar.gz % ln -s xoops-2.0.14-JP xoops
最後のシンボリックリンクはなんとなく。今後バージョンアップしたときとかに役立つかな?と。
このままじゃ apache 経由でアクセスできないので以下を httpd.conf に追加。
Alias /xoops/ /usr/local/www/xoops/html/ <Directory "/usr/local/www/xoops"> AllowOverride AuthConfig order allow,deny allow from all </Directory>
Directory ディレクティブは不要なんだけど、なんかするかもしれないと思ったので一応。
これで http://FQDN/xoops/ で xoops にアクセスできる。最初はインストーラが起動する。各種質問にほどよく答える。MySQL 関連の情報は 3.5 で設定したとおりに。
管理メニューからほどよく設定。必要そうなモジュールを入れる。ここで使ってる Wiki モジュールは B-Wiki。
ただし、今回ダウンロードしてきた bwiki-20050212 はそのままでは動かなかった。よくわからないんだけど HTTP_GET_VARS と HTTP_POST_VARS を _GET と _POST に変更したら動いてるっぽい。実はまだ NOTICE が出るんだけど、xoops の一般設定で PHPデバッグをやめて気が付かなかったことにする。
最後に、xoops で最初に表示されるモジュールを B-Wiki にして現状ぐらい?