MacPortsでApacheとPHPとMySQLを入れ直したメモ

環境

MacPortsの更新

$ sudo port selfupdate

MySQL

$ sudo port install mysql5 +server

自動で起動するように以下のコマンドを実行。

$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

MySQLの初期化コマンドを実行。

$ sudo -u mysql mysql_install_db5

パーミッションを変更。

$ sudo chown -R mysql /opt/local/var/db/mysql5/
$ sudo chgrp -R mysql /opt/local/var/db/mysql5/

my.cnf(MySQLの設定ファイル)の設定。

$ sudo cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf
$ sudo vim /opt/local/etc/mysql5/my.cnf

書き込む内容は「my.cnfでよくやる設定メモ - bojovs技術日記」参照。
MySQLを起動。

$ sudo mysqld_safe5

rootのパスワードを設定。

$ sudo mysqladmin5 -u root password '(パスワード)'

パスワードが反映されているかログインして確かめる。

$ mysql5 -u root -p

こんな感じの表示になれば成功。

$ mysql5 -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.67 Source distribution

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

mysql>

ちなみにmy.cnfを弄り直したりしてMySQLを再起動したくなったときは以下のコマンドを実行する。

$ sudo launchctl stop org.macports.mysql5
$ sudo launchctl start org.macports.mysql5

PHP

インストール
$ sudo port install php5 +apache2 +mysql5

いろいろ落ちてきて時間がかかる。
インストールが終わると以下のようなメッセージが表示される。

If this is your first install, you might want
cd /opt/local/apache2/modules
/opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so

httpd.confにlibphp5.soの記述をしてくれるそうなので、この通りに実行する。

$ cd /opt/local/apache2/modules
$ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
php.iniのコピー
$ cd /opt/local/etc
$ sudo cp php.ini-dist php.ini
php.iniの編集
$ sudo vim /opt/local/etc/php.ini

php.iniでよくやる設定まとめ - bojovs技術日記参考。

Apache再起動
$ sudo /opt/local/apache2/bin/apachectl restart

Apache

httpd.confの編集
$ sudo vim /opt/local/apache2/conf/httpd.conf

mod_php.confを読み込む。

# PHP
Include conf/extras-conf/mod_php.conf

ドキュメントルートを変更する(任意)。

DocumentRoot "/Users/(ユーザ名)/Sites"

Directory Indexの設定をする。


    DirectoryIndex index.html index.php #「index.php」を追記。

あとはhttpd.confの設定メモ - bojovs技術日記参照。

設定ミスの有無をチェックし、Apache再起動
$ sudo /opt/local/apache2/bin/apachectl configtest
$ sudo /opt/local/apache2/bin/apachectl restart

終了です。