MacPorts + MySQL5 + Apache2 + PHP5
MacPorts で MySQL5 と Apach2 と PHP5 を入れたメモ。
インストール完了まで意外と時間をくってしまった。
MySQL5
ややこしいことに mysql5 と mysql5-server の2つが対象としてあるので要注意。
mysql5 を選ぶと mysql_install_db5 で一手間必要だったり、 plistを自前で書く必要がでてくるので、mysql5-server を選ぶ。
$ sudo port install mysql5-server
---> Computing dependencies for mysql5-server
---> Fetching mysql5
---> Verifying checksum(s) for mysql5
---> Extracting mysql5
---> Applying patches to mysql5
---> Configuring mysql5
---> Building mysql5
---> Staging mysql5 into destroot
---> Installing mysql5 @5.1.46_0
The MySQL client has been installed.
If you also want a MySQL server, install the mysql5-server port.
---> Activating mysql5 @5.1.46_0
---> Cleaning mysql5
---> Fetching mysql5-server
---> Verifying checksum(s) for mysql5-server
---> Extracting mysql5-server
---> Configuring mysql5-server
---> Building mysql5-server
---> Staging mysql5-server into destroot
---> Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting mysql5-server with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
###########################################################
---> Installing mysql5-server @5.1.46_0
******************************************************
* In order to setup the database, you might want to run
* sudo -u _mysql mysql_install_db5
* if this is a new install
******************************************************
---> Activating mysql5-server @5.1.46_0
---> Cleaning mysql5-server
無事インストールが終わったら、mysql_install_db5 を実行する。
$ sudo -u _mysql mysql_install_db5
Installing MySQL system tables...
...略
Please report any problems with the /opt/local/lib/mysql5/bin/mysqlbug script!
ログイン時、MySQLが自動で起動するように設定。
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
これで、mysqld が勝手に立ち上がる。
最後にログイン出来るか確認して、インストール完了。
$ mysql5 -u root
...略
mysql>
Apach2 と PHP5
Apach2 と PHP5 をいっぺんにインストール。
$ sudo port install php5 +apache2 +mysql5 +pear
Password:
---> Computing dependencies for php5
...略
---> Building apache2
---> Staging apache2 into destroot
---> Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting apache2 with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
###########################################################
Note: apache2 installs files outside the common directory structure.
---> Installing apache2 @2.2.15_1+darwin+preforkmpm
---> Activating apache2 @2.2.15_1+darwin+preforkmpm
---> Cleaning apache2
...略
---> Configuring php5
The +mysql5 variant is obsolete. Please install the php5-mysql port instead.
---> Building php5
---> Staging php5 into destroot
Note: php5 installs files outside the common directory structure.
---> Installing php5 @5.3.2_0+apache2+darwin_10+macosx+mysql5+pear
---> Activating php5 @5.3.2_0+apache2+darwin_10+macosx+mysql5+pear
To customize php, copy
/opt/local/etc/php5/php.ini-development (if this is a development server) or
/opt/local/etc/php5/php.ini-production (if this is a production server) to
/opt/local/etc/php5/php.ini and then make changes.
If this is your first install, you need to activate PHP in your web server.
To enable PHP in Apache, run
cd /opt/local/apache2/modules
/opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
---> Cleaning php5
ログイン時、Apache2 が自動で起動するように設定。
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
php.ini をコピー。
$ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini
php5 単体では、MySQLインターフェースがインストールされない。
なので、別途インストールする必要がある。
$ sudo port install php5-mysql
...略
---> Staging php5-mysql into destroot
---> Installing php5-mysql @5.3.2_0+mysqlnd
To use mysqlnd with a local MySQL server, edit /opt/local/etc/php5/php.ini and set
mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket
to /opt/local/var/run/mysql5/mysqld.sock
---> Activating php5-mysql @5.3.2_0+mysqlnd
---> Cleaning php5-mysql
MySQLに関わる設定をする為、php.ini を修正する。
$ sudo vi /opt/local/etc/php5/php.ini
pdo_mysql.default_socket =/opt/local/var/run/mysql5/mysqld.sock
mysql.default_socket =/opt/local/var/run/mysql5/mysqld.sock
mysqli.default_socket =/opt/local/var/run/mysql5/mysqld.sock
mbstring も分離されているので、別途インストールする。
$ sudo port install php5-mbstring
...略
---> Installing php5-mbstring @5.3.2_0
---> Activating php5-mbstring @5.3.2_0
---> Cleaning php5-mbstring
以上で、port を使ったインストール作業は完了。
続いて、httpd.conf の設定を行う。
httpd.conf に php5 モジュールを追加。
$ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
[activating module `php5' in /opt/local/apache2/conf/httpd.conf]
httpd.conf に php の設定を追加。
$ sudo vi /opt/local/apache2/conf/httpd.conf
...
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.php
httpd を再起動。
$ sudo /opt/local/apache2/bin/apachectl restart
最後に、php ファイルを用意しブラウザからアクセス出来ることを確認して、インストール完了。
なんか・・・
意外と手間取った。