MacPortsでMAMP環境構築

いろいろやり方はあります。
最も簡単なのは、MAMPといわれるApache,MySQL,PHPを含んだパッケージを入れてしまうこと。
http://www.mamp.info/en/index.php
あとは、Macには元からPHPが含まれているので、そちらを採用する方法もあります。


僕は、MacPortsで全て管理した方がメンテナンスが楽そうなので、
portで、MySQL,Apache,PHPを入れる方法を採用しました。

Apacheのインストール

以前書いた記事を見てください。
http://d.hatena.ne.jp/mtbtaizo/20080612

MySQLのインストール

以下のサイトが丁寧に説明されていました。
参考にさせて頂きました。
ありがとうございます。
http://www6.atwiki.jp/simamaru/pages/26.html


MySQLインストール

$sudo port install mysql5 +server

初期DB作成

$sudo -u mysql mysql_install_db5

自動起動の設定

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

マニュアルで起動

$sudo /opt/local/share/mysql5/mysql/mysql.server start

DB作成

$mysql5 -u mysql create DB名

PHPのインストール

以下のサイトを参考にさせてもらいました。ありがとうございます。
http://colamune.com/blog/archives/38


GDライブラリ用のパッケージをインストール

$sudo port install freetype jpeg libpng

PHPインストール

$sudo port -d install php5 +apache2 +curl +gd +mysql5 +pear

これは、かなり時間がかかった。

php.iniの設定

$cd /opt/local/etc
$sudo cp php.ini-recommended php.ini

Apacheへの設定

$cd /opt/local/apache2/modules
$/opt/local/apache2/bin/apxs -a -e -n php5 libphp5.so

注意点
他のページを見てたらそう書かれていることが多かったのですが、
apxsのオプションで指定する際、"php5"のようにダブルクォートで囲まないようにしましょう。
Apache起動時にsyntax errorになります。

sudo /opt/local/apache2/bin/apachectl restart
httpd: Syntax error on line 115 of /opt/local/apache2/conf/httpd.conf: LoadModule takes two arguments, a module name and the name of a shared object file to load it from

やってしまった人は、httpd.confを修正すればOK。
誤 LoadModule "php5"_module modules/libphp5.so
正 LoadModule php5_module modules/libphp5.so


PHP拡張子の追加
/opt/local/apache2/conf/extras-conf/mod_php.confにphpの拡張子をApacheに登録する記述があります。
これをhttp.confの最終行に追記します。

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

確認する

以下のファイルを作成します。

$sudo touch /opt/local/apache2/htdocs/phpinfo.php

ファイルを開いて、次の1行を加えます。

<<?php phpinfo() ?>

Apacheを再起動

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


ブラウザで、以下のURLにアクセスします。
http://localhost/phpinfo.php


こんな風にみれたらOK