という感じで、いろいろ入れてみましたが、結構はまって1日かかってしまいました。
これらを入れる方法はMacPortsやFinkによるまとめインストール、各パッケージの個別インストール、そしてMac OS X Leopard標準のもの、といくつかあります。
今回RailsをLeopard標準のものとしたので、
・同様にLeopardに標準で入っているものはそのまま使う
・不足するものはFinkで追加する
という方針でやってみました。個別インストールは後で管理が大変になるので、標準またはパッケージ管理ソフト(FinkやMacPorts)に任せてしまいたいという理由です。FinkよりMacPortsの方がいいという方もいますが、以前からFinkを使っていたというだけの理由でFinkにしました。
また、これまではPHPなどの開発にMAMPやXAMPPを使っていたのですが、すべて今回の環境に移行しようと思います。
● MySQLのインストール
まずは、Railsに必須のMySQLから行きます。これは標準で入っていないので、Finkですね。
$ fink selfupdateFinkを触るのは久しぶりなので、アップデートからとなります。インストールはこれで一発なのですが、さあ次は何を設定する必要があって起動はどうやるのか、またどうすれば自動起動できるのか... 情報が少ないですね。
$ fink index
$ fink scanpackages
$ fink update-all
$ fink install mysql
$ mysqld_safe &どれもダメでした。Permission deniedと怒られてしまう。いろいろ探して、参考になったのはこちらです。
$ mysqld_safe --user=mysql &
$ /sw/bin/mysqld_safe --user=_mysql &
Eity's Web - daemonic
$ sudo daemonic enable mysqlそして、試しにこれまで運用していたMAMPのmysqlディレクトリを丸ごとコピーしてみました。
$ sudo /Library/StartupItems/daemonic-mysql/daemonic-mysql start
$ sudo cp share/mysql/my-medium.cnf /etc/my.cnf
$ sudo mv /sw/var/mysql /sw/var/mysql.org
$ sudo cp -R ~/Documents/MAMP/db/mysql /sw/var/mysql
$ cd /sw/var
$ sudo chown -R _mysql:_mysql mysql
すると、データベースもその中のテーブルも、そっくり引っ越しすることができました。
● Apacheの起動
これは単に、システム環境設定 → 共有 → Web共有にチェック というだけですね。これで標準のApacheが動きます。細かい設定は後でやりましょう。
● PHPを動かす
PHPも標準の設定では動きません。先人の皆さんの情報で、動かすことは簡単にできました。
Mac OS X 10.5 Leopard で PHP を動作させるには − kazumich.log
/etc/apache2/httpd.confを書き換えます。ちなみに、/etcは/private/etcのシンボリックリンクなんですね。
#LoadModule php5_module libexec/apache2/libphp5.so
このコメント#を外してWeb共有のチェック付け外しによる再起動で、PHP5の設定が生きます。
● phpMyAdminのインストール
これは標準でないので、Finkになりますね。
$ fink install phpmyadmin
$ sudo ln -s /sw/share/phpmyadmin /Library/WebServer/Documents/phpmyadmin
$ cd /sw/share/phpmyadmin/
$ sudo cp config.sample.inc.php config.inc.php
$ sudo vi config.inc.php
認証をクッキーとしたので、$cfg['blowfish_secret'] の設定だけして終了。
● PHPからMySQLへのアクセス設定
これまた先人の皆さんの情報で簡単にいくはず、でした。しかし、はまりました
まず/etc/php.iniを設定します。
mysql.default_socket = /tmp/mysql.sock
しかし、これをやってもphpinfo()で見ると反映されません。/var/mysql/mysql.sockになったままです。なぜ?
仕方がないので、MySQL設定の方を変更することにします。
/etc/my.cnfと/etc/php.iniのソケット設定を、
/var/mysql/mysql.sock
とします。そしてパーミッション関係を調整してMySQLを再起動... ですが、何度mysqldを強制終了してもうまくいかないので、Mac自体を再起動してしまいました。
$ sudo chown _mysql:_mysql /private/var/mysql
$ sudo chmod 777 /private/var/mysql
これで、やっとphpMyAdminがデータベースに接続するところまで来ました。
● MySQL、PHP、phpMyAdminをUTF-8で統一
Mac OS XはUTF-8で統一されていると思っていたのですが、PHPの初期設定はEUC-JPなんですね。今後のトラブルを避けるために、UTF-8に統一することにしました。
ふと、EUC-JP前提のEthnaはどうなるだろう、と気にはなりましたが、それはまた後で悩むことにしましょう。
設定したのは次の部分です。
・/etc/php.ini
default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8
・/etc/my.cnf
[mysqld]
default-character-set = utf8
character-set-server = utf8
init-connect="SET NAMES utf8"
skip-character-set-client-handshake
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
・/sw/share/phpmyadmin/config.inc.php
$cfg['DefaultLang'] = 'ja-utf-8';● Webminのインストール
$cfg['DefaultCharset'] = 'utf-8';
最後に、あまり役にはたたないかもしれないけれど、Webminも入れてみました。標準では入っていないので、当然Finkからインストールです。
$ fink install webminこれで再起動して、すべてOK、ふぅ〜、やっとAptana RedRailsに戻れる
$ fink install webmin-apache
$ fink install webmin-mysql
$ fink install webmin-theme-caldera
$ fink install webmin-theme-msc
$ sudo daemonic enable webmin