Tiger Server検証事始め:その4−3『Xoops』

PHPMySQLが正常に動いていれば、まぁXoopsはすぐ動くんじゃないかと。
とりあえず、Xoops用のDBを作るところから。

$ mysqladmin -u root -p create xoops
Enter password: 

$ mysql -u root -p mysql
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or ¥g.
Your MySQL connection id is 4 to server version: 4.1.10a-log

Type 'help;' or '¥h' for help. Type '¥c' to clear the buffer.

mysql> grant all privileges on xoops.*
    -> to xoops@localhost identified by 'hogehugahonyahonya';
Query OK, 0 rows affected (0.60 sec)

mysql> quit
Bye

$ mysql -u xoops -p xoops
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or ¥g.
Your MySQL connection id is 5 to server version: 4.1.10a-log

Type 'help;' or '¥h' for help. Type '¥c' to clear the buffer.

mysql> quit
Bye

んでもってXoopsのインストールというか設置というか。

$ curl -O "http://osdn.dl.sourceforge.jp/xoops/15115/xoops-2.0.10-JP.tar.gz"
$ tar xzf xoops-2.0.10-JP.tar.gz

$ cp -rp ./xoops-2.0.10-JP/html/ /Library/WebServer/Documents/xoops
$ ls -l /Library/WebServer/Documents/xoops/
(略)

そしたらブラウザで、http://サーバ/xoops/install/index.php へ。
すぐに、書き込み権限が無いと怒られるので、以下のように。

$ sudo -s
# cd /Library/WebServer/Documents/xoops/
# ls -F

# chmod 777 uploads/ cache/ templates_c/
# chmod 666 mainfile.php 
# ls -ld uploads/ cache/ templates_c/
# ls -l mainfile.php 

一旦ブラウザでインストール作業を終えたら、以下を実行。

# pwd
/Library/WebServer/Documents/xoops

# rm -rf install

# chmod 400 mainfile.php
# chown www:www mainfile.php 
# ls -l mainfile.php 
-r--------   1 www  www  4665 Jun 23 02:43 mainfile.php

まぁ取りあえずはコレでXoopsが動く所までは行けると思う。
ずいぶんと端折って書いてあるけど。


ところで。最後の mainfile.php の権限やオーナー・グループの変更の所ですが。
今回 Tiger Server にXoopsを入れるに当たり、本だのwebのドキュメントだの何だの眺めたんですが、大体は「chmod a-w mainfile.php」とか「chmod 444 mainfile.php」とかしてるだけで、オーナーやグループは変えてなかったりするんですけど、otherな方々に見せる必要ってあるんですかね。mainfile.phpって。
いや、MySQL上に作ったXoopsのDBへの接続パスワードとかそのまま平文で載ってるんで>mainfile.php
どうしたもんかなぁと思って chmod 400 して chown www:www しといたんですけどね。どうなんでしょうね。コレ。
まぁしばらく動かしてみて、問題無ければこのまんま、かな。


追記
そういう意味で言えば、Mac OS X Server 10.4: Issues connecting PHP to MySQL には、/etc/my.cnf の socket のパスを /tmp/mysql.sock にするより、/etc/php.ini を用意して mysql.default_socket = /var/mysql/mysql.sock にした方が*安全だ*と書いてあるのに、何故かMacな方々は /etc/my.cnf で /tmp/mysql.sock にする傾向が有る様な気がしますね。
どうしてわざわざ安全じゃない方を選ぶのかしらん。まぁいーけど。