apache2 のインストール
続いて apache2 のインストールです。元から apache2 も入っているようですが,この際なので macports で入れなおしてしまいます。参考にしたのはこのページ。
- apache2 を port にてインストール。
$ sudo port install apache2
- が,インストール中にエラー発生。どうも sqlite3 のインストールでこけている様子。「apache2 mac port sqlite3」というキーワードでgoogle検索すると「Mac Ports で Apache2 のインストールエラー」というページを発見。このページの情報をもとに作業して,無事にインストールを終了。
$ sudo port clean –all sqlite3 ← 一旦,sqlite3をアンインストールする。
$ sudo port install sqlite3 ← 再度,sqlite3をインストールする。
$ sudo port install apache2 - 続いて PHP5 のインストールです。
$ sudo port install php5 +apache2 +mysql5 +pear
続いて,portコマンドの最後に示された後処理を実行します。
$ sudo /opt/local/apache2/bin/apxs -a -e -n “php5″ libphp5.so
$ cd /opt/local/etcPHPの設定用 php.ini を作ります。これもひな形があるので,それをコピーしておきます。
$ cd /opt/local/etc
$ sudo cp php.ini-recommended php.ini - apache2 用の config ファイルを作成します。まずひな形をコピーします。
$ sudo cp /opt/local/apache2/conf/httpd.conf.sample /opt/local/apache2/conf/httpd.conf
- httpd.conf ファイルを編集します。19行目あたりに次の行を追加して PHP の設定を読み込むようにします。
……
Include conf/extras-conf/mod_php.conf
……読み込む mod_php.conf の中身は次のとおり。
#<IfModule mod_php5.c>
AddHandler php5-script .php
AddType text/html .phpDirectoryIndex index.php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps#<IfModule>
<IfModule>をコメントアウトしていますが,コメントを付けずに apache2 を起動すると なぜか PHP のスクリプトを正しく認識してくれなかったのがコメントアウトの理由です。原因は追求してません……。そのうち時間ができたらきちんと追求しようと思っています。
- これで起動できます。
$ sudo /opt/local/apache2/bin/apachectl configtest ← 文法チェック
$ sudo /opt/local/apache2/bin/apachectl restart ← 起動 - User ディレクトリを有効にするには httpd.conf の 443行目付近にある以下の指定を有効にします。
# User home directories
#Include conf/extra/httpd-userdir.conf ← このコメントを外します。必要に応じて httpd-userdir.conf の中身をいじれば,公開するディレクトリを変更することもできます。デフォルトでは Sites ディレクトリが公開対象です。
詳しくないのでよく分かっていないのですが,macportsでインストールすると元々入っている apache2 とは別のところに入るみたいです……。
