2007年12月15日土曜日

Leopardに"XOOPS 2.0.16a JP"をインストール

Leopardに"XOOPS 2.0.16a JP"をインストールした。

何故XOOPS Cubeで無いかというと、買った本がXOOPSだったから、
XOOPS CubeとXOOPSの違いがわかってなかった、よくみたらこの本2005年発行、印刷は今年の7月だけど。
一方のXOOPS Cubeはまだ本があまり出てないみたい。

インストールは超簡単、ユーザフォルダ内のSites以下へ"xoops-2.0.16a-JP"フォルダ内の
htmlディレクトリをコピー、まぎらわしいので、"xoops"に改名。

以下のURL入力でインストーラが起動するはず・・・
http://localhost/~ユーザ名/xoops/

と思いきや、403 forbiddenが発生
ちょっと調べると原因は/etc/apache2/users内に、自分のユーザー名の.confファイルが無かった。
Pantherからアップグレードした際に、/etc/httpd/users内のファイルが/etc/apache2/usersへコピーされていないのが原因だった。Leopardインストーラの不具合だろうか?
そのままコピーすると、今度はディレクトリ内にがindex表示された。
/etc/apache2/apache2.confを見てみると、php5のLoadModule部がコメントアウトされていた。
コメントアウトを外し、

apachectl restart

やっとインストーラが起動した。
パーミッションの変更は、Finderの"情報を見る"から変更。

データベースの設定は、mysqlのコマンドラインクライアントから、

create database xoops_dev;
create user xoops_dev@'%' identified by 'xoops_dev';
grant all privileges on xoops_dev.* to xoop_dev@'%';

を順に叩いて行った。
インストラーを進めて、さあデータベースへ接続・・・
エラー

mysql -u xoops_dev -p xoops_dev

で問題なく接続できる事を確認。
そこでネットを探索

http://oshiete1.goo.ne.jp/qa2494005.html

こちらに掲載されていたサンプルコードでテスト
mysql_connectとmysql_select_dbの引数は当然、"xoops_dev"に変更
するとこんなエラーが

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2) in/Users/Akio/Sites/dbtest.php on line 2
Could not connect: Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2)

ソケットへ接続できないと言っている。
たしかに/var/mysql/mysql.sockなんてファイルはない。

mysql>status;

とすると、ソケットは/tmp/mysql.sockと出た。
http://php.plus-server.net/ref.mysql.html
ここの説明を読むと、phpは特に指定が無いとデフォルトのパスを使うとある。
/etc/php.iniを探すと、php.ini.defaultというファイルがあった、
中を見てみると、mysql.default_socketは空
つまり/var/mysql/mysql.sockがデフォルトの値ということだろう。

sudo cp /etc/php.ini.default /etc/php.ini
sudo vi /etc/php.ini

mysql.default_socket = /tmp/mysql.sock

として、

sudo apachectl restart

こんどは成功
再度xoopsのインストーラを起動、今度はなんなくさっきのステップをクリアした。
今日はこのへんでやめとく。

ちなみにこれ書いているときにSafariがクラッシュした、ブックマークしてないタブがいくつかあったのに
でもGoogleのWeb履歴でなんとか回復
ローカルへの疑心とオンラインの有り難さを実感。


2007年12月11日火曜日

LeopardへのMySQLのインストール

Xoopsでサイト構築をするために、MySQLをLeopardへインストールした。
公式サイトからTiger用の「5.0.45」のパッケージをダウンローして、インストール
同じフォルダにあるMySQL.prefPaneもインストールした。

システム環境設定からMySQLで起動しようとしたが、失敗。
仕方ないので、ターミナルからmysqldを使って起動を試みる、
sudo /usr/local/mysql/bin/mysqld_safe
ところが、ユーザにパスワードを設定していない状態でEnterだけ押すと、sudoはなにもせずに終了。
パスワードを指定するべきとこだけど、面倒なので方策を探す。
ネットで調べると、sudoersでNOPASSWDを指定することで解決する事がわかった。
ただ、ユーザは/etc/passwdで管理されていないため、
ユーザ名の行を作ってsudoersで指定しても効果なし、そこで%adminの行を変更する。

%admin ALL=(ALL) NOPASSWD: ALL

さきほどのコマンドでMySQLの起動に成功

ただシステム環境設定からの起動はあいかわらず出来ない、 
こんなサイトがあった本家の物ではないが10.5OKと書いてある、
http://creativeeyes.at/tools/mysqlpp.php
そこでここからダウンロードしたものをインストール、古い方は削除。
味家ないデザインだが、こちらだと問題なく動作した。
また、パッケージの中のMySQLPPDefs.plistで設定がいじれるみたい。
ちなみに本家はこっちにソースがあるので、原因は調べられそう。

ラベル: ,