macportsでMac Snow LeopardにApache2 + PHP5 + MySQL5 を入れる

探せばどこにでもあるようなものだけど自分のメモ用に
目的としては、自分のメモ用にMediaWikiをローカルに入れようって感じ。

apache2のインストール

variantsはそれっぽいのがなかったから何もやんない。

$ sudo port install apache2

###########################################################
# 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 port load apache2
###########################################################

$ sudo port load apache2

で、apacheが入ったと思います。

PHP5のインストール

$ port variants php5
[+]apache2: Add Apache 2.2 web server module
     * conflicts with apache no_web
   mysql5: Obsolete; install php5-mysql port instead
   pear: Add PEAR

$ sudo port install php5 +apache2 +mysql5 +pear

オプションはこんな感じに。

けどObsoleteって書いてあるからどうなんだろうと思いながらもあとでphp5-mysqlいれてみます。

The +mysql5 variant is obsolete. Please install the php5-mysql port instead.

って言われました。

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

んで、指定通りに

$ cd /opt/local/etc/php5/
$ sudo cp php.ini-development php.ini
$ cd /opt/local/apache2/modules/
$ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
[activating module `php5' in /opt/local/apache2/conf/httpd.conf]

次にapachephpが動くように

$ sudo vi /opt/local/apache2/conf/httpd.conf

AddType application/x-httpd-php .php #最後とかに追加する

んでapache再起動

$ sudo /opt/local/apache2/bin/apachectl restart

これでPHPが動くようになってるはずです。
infophpで確認とかしてみるといいかもですね。

MySQL5のインストール

なんか前に入れたときは +server とかあった気がするけどなくなったみたいですね
そんな感じで

$ sudo port install mysql5-server

インストール済むとこんなん出ます

###########################################################
# 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 port load mysql5-server
###########################################################
--->  Installing mysql5-server @5.1.49_0
******************************************************
* In order to setup the database, you might want to run
* sudo -u _mysql mysql_install_db5
* if this is a new install
******************************************************

で、指定通りに

$ sudo port load mysql5-server
$ sudo -u _mysql mysql_install_db5

するとこんな表示が

Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password'
/opt/local/lib/mysql5/bin/mysqladmin -u root -h gin0606.local password 'new-password'

Alternatively you can run:
/opt/local/lib/mysql5/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /opt/local ; /opt/local/lib/mysql5/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /opt/local/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /opt/local/lib/mysql5/bin/mysqlbug script!

パスワードを設定しろとのことなので

$ sudo /opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password'

んで、php5 +mysql5の代わりにphp5-mysql入れます

$ sudo port install php5-mysql

インストール後、こんな表示

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

とのことなので
mysql.default_socket
mysqli.default_socket
pdo_mysql.default_socket
の3つを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

以上で多分終わり?なのかな。
とりあえずapache再起動でとりあえず終わりってことに

$ sudo /opt/local/apache2/bin/apachectl restart

MediaWikiもインストール出来たから多分成功したと思うけどMediaWiki英語だらけで使い方がわからんね……