リンクとか備忘録とか日記とか@pcmgxxx

2005-06-24

[][][] アップデートをしてからadmin画面から新規アカウントの作成ができなくなりました。(XOOPS日本公式サイト - フォーラム)  アップデートをしてからadmin画面から新規アカウントの作成ができなくなりました。(XOOPS日本公式サイト - フォーラム) - リンクとか備忘録とか日記とか@pcmgxxx を含むブックマーク はてなブックマーク -  アップデートをしてからadmin画面から新規アカウントの作成ができなくなりました。(XOOPS日本公式サイト - フォーラム) - リンクとか備忘録とか日記とか@pcmgxxx

XOOPS 2.0.10 JP のバグ(XOOPS日本公式サイト - ニュース)も参照のこと。

つかバグだったのかコレ... 小一時間悩みました...orz

[][][] WebSlave Project(wsproject)0.7.12 に潜む罠  WebSlave Project(wsproject)0.7.12 に潜む罠 - リンクとか備忘録とか日記とか@pcmgxxx を含むブックマーク はてなブックマーク -  WebSlave Project(wsproject)0.7.12 に潜む罠 - リンクとか備忘録とか日記とか@pcmgxxx

  1. 予定を管理するモジュール知りませんか?(1)(XOOPS日本公式サイト - フォーラム)
  2. 予定を管理するモジュール知りませんか?(2)(XOOPS日本公式サイト - フォーラム)
  3. 予定を管理するモジュール知りませんか?(3)(XOOPS日本公式サイト - フォーラム)

wsproject-beta-v.0.7.12.src.zip を解凍するとできるフォルダ名は「wsProject」だが、実際には XOOPS_ROOT/modules/wsproject と「p」が小文字じゃないと動かないしモジュールのインストールもできない。

まったくもって罠そのもの。これまた小一時間悩みました...orz

トラックバック - http://pcmgxxx.g.hatena.ne.jp/vm_converter/20050624

2005-06-22

[][][] Tiger Server検証事始め:その4『Tiger Server+PHP+MySQL+Xoops』  Tiger Server検証事始め:その4『Tiger Server+PHP+MySQL+Xoops』 - リンクとか備忘録とか日記とか@pcmgxxx を含むブックマーク はてなブックマーク -  Tiger Server検証事始め:その4『Tiger Server+PHP+MySQL+Xoops』 - リンクとか備忘録とか日記とか@pcmgxxx

Xoopsを入れてみようと思いまして。Tiger Serverに。

Tiger ServerだとMySQLがちょっと面倒みたいですね。以下、参考情報。

問題としては2つあって、

  • socketのパスが(Tiger Serverにプリインストールの)MySQLとPHPで食い違ってる
  • MySQL 4.0 と 4.1からパスワードハッシュに互換性がないため、接続するクライアント(この場合 Tiger Server にプリインストールのPHP)が対応していないと接続できない

後者は「接続できない*場合がある*」位なのかも。Web Scripter's Meeting のスレッドだと socket のパスを書き換えただけで動いた人もいそうだし。パスワードの文字列長にもよるのかなぁ?? とか。

ま、それは置いといて。

以下に、PHP, MySQL, Xoops と順を追って書いてみよう。

[][][] Tiger Server検証事始め:その4−2『MySQL』  Tiger Server検証事始め:その4−2『MySQL』 - リンクとか備忘録とか日記とか@pcmgxxx を含むブックマーク はてなブックマーク -  Tiger Server検証事始め:その4−2『MySQL』 - リンクとか備忘録とか日記とか@pcmgxxx

これがまた。簡単に行くかと思ったらハマりましたね。トホホ。

以下、すんなり行けるようにまとめたもの。メモ書きレベルなのですんなり行かなくても保証しないですけど。

それと、上のPHPではServer Admin使ってるクセに、MySQLは全部CLIから行きます。

なので、アップル - サーバ - 製品ドキュメント:『Command-Line Administration』(PDF直)の P153〜154を必読。

$ sudo -s

○rootユーザにパスワードを与えたりとか
# mysql_install_db --user=mysql -u mysql
# mysqladmin shutdown
# mysqld_safe --skip-grant-tables --skip-networking --old-passwords &
# mysqladmin -u root flush-privileges password new-password
# mysqladmin -u root password "hogehugahunya"
# mysqladmin -u root -p shutdown

○MySQLを利用できるように
# echo "MYSQL=-YES-" >> /etc/hostconfig

○/etc/my.cnfの用意
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
# vi /etc/my.cnf

# diff -u /usr/share/mysql/my-medium.cnf /etc/my.cnf 
--- /usr/share/mysql/my-medium.cnf      2005-03-21 09:16:48.000000000 +0900
+++ /etc/my.cnf 2005-06-23 01:32:45.000000000 +0900
@@ -24,6 +24,8 @@
 
 # The MySQL server
 [mysqld]
+default-character-set=ujis
+old-passwords
 port           = 3306
 socket         = /var/mysql/mysql.sock
 skip-locking
@@ -132,10 +134,12 @@
 #innodb_lock_wait_timeout = 50
 
 [mysqldump]
+default-character-set=ujis
 quick
 max_allowed_packet = 16M
 
 [mysql]
+default-character-set=ujis
 no-auto-rehash
 # Remove the next comment character if you are not familiar with SQL
 #safe-updates

※文字コードをEUCに
※「mysqld」のオプションとして「old-passwords」を指定

○PHPとMySQLでのsocketの不整合修正
# cd /etc
# cp -p php.ini.default php.ini
# vi php.ini

# diff -u php.ini.default php.ini
--- php.ini.default     2005-05-26 06:01:08.000000000 +0900
+++ php.ini     2005-06-23 01:37:41.000000000 +0900
@@ -655,7 +655,7 @@
 
 ; Default socket name for local MySQL connects.  If empty, uses the built-in
 ; MySQL defaults.
-mysql.default_socket =
+mysql.default_socket = /var/mysql/mysql.sock
 
 ; Default host for mysql_connect() (doesn't apply in safe mode).
 mysql.default_host =

○/var/mysqlの権限修正
# chmod 1775 /var/mysql
# ls -ld /var/mysql
drwxrwxr-t   16 mysql  wheel  544 Jun 23 01:22 /var/mysql

○サーバを再起動かけて一服
(´ー`)v-~~~~ ピースライトノパッケージカワッチャッタナー

[][][] Tiger Server検証事始め:その4−3『Xoops』  Tiger Server検証事始め:その4−3『Xoops』 - リンクとか備忘録とか日記とか@pcmgxxx を含むブックマーク はてなブックマーク -  Tiger Server検証事始め:その4−3『Xoops』 - リンクとか備忘録とか日記とか@pcmgxxx

PHPとMySQLが正常に動いていれば、まぁ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 にする傾向が有る様な気がしますね。

どうしてわざわざ安全じゃない方を選ぶのかしらん。まぁいーけど。

shiroshiro2005/09/24 04:51どうしてわざわざって...単に「安全性について評価する能力がない」だけかと(^^;

トラックバック - http://pcmgxxx.g.hatena.ne.jp/vm_converter/20050622