2015年2月14日土曜日

MacPortsを使ってApache2.4とphp5.6.5を入れた件について

siroponnです。

今回はMacPortsでApache2.4とphp5.6.5を入れたことについて書いていこうかと思います。
僕自身素人でしかもweb系のものをからっきしなので、間違っているかもしれません。
実際僕もフリーランスの先輩にいくつか教えてもらいました。

じゃあまずMacPortsを入れましょう。ここは他のサイトを当たってください。

次にMacにデフォルトで入ってるApache2.2を無効化してしまいましょう。
Apache2.4を使おうが、Apache2.2を使おうがMacPortsを使う以上、こいつは邪魔です。
以下のコマンドを打ちます。
$sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

次に、Apache2.4をportコマンドで入れます。おそらくApache2.4-develみたいな名前であると思います。

インストールが終わったら、Apache2.4のhttpd.plistのシンボリックリンクをLaunchDaemonsにはりましょう。

$cd /System/Library/LaunchDaemons

$sudo ln -s /opt/local/etc/LaunchDaemons/org.macports.apache24-devel org.macports.apache24-devel

Apache2.4のインストールが終わったら起動確認しましょう。
こちらは手順を覚えていないのでもしかしたら起動できないかも。

$sudo apachectl start

起動できましたか?起動できたら以下のコマンドでindex.htmlファイルを編集します。
vimの使い方は検索してください。

$sudo vi /opt/local/www/apache2/html/index.html

it works!ってなっている部分をit24worksに変えましょう。
その後、apache2.4の設定ファイルをいじります。

/opt/local/etc/apache2以下にapache.org.confみたいなファイルがあるのでそれをhttpd.confとしてコピーします。httpd.confファイルがあればこれはしなくていいです。
httpd.confを作ったらそれを開きます。
Listen 12.34.56.78:80と書いてある部分を見つけます。
そこを#でコメント化し、その一行したにListen 80と記述します。
次にServerName www.examlpe.com:80と書いてある部分を見つけてください。
見つけたらそこをコメント化してください。
一行下にServerName localhost:80と記述します。
これでひとまずhttpd.confファイルの設定は終了です。保存してviを抜けましょう。

$sudo apachectl restart

でhttpdファイルを再読み込みします。

何にもエラーが出なければブラウザのURL欄にlocalhostと入力してください。

it24worksと出たでしょうか?できたらとりあえずapache24はインストールできました。

次はphpのインストールになります。

$sudo port search php56と打つと色々出てきますが、とりあえず生のphpを入れましょう。

$sudo port install php56

実行するとphp56がインストールされます。

ここで注意して欲しいのがapache2.2も同時に依存パッケージとして入ってるくることです。設定さえしなければ大丈夫なのですが、/opt/local/にapache2という項目が入っています。めんどくさいのでそのまま放置しておきますが、今後間違えないようにしてください。

さて入ってきたら

$cd /opt/local/etc/php56

$sudo cp php.ini-development php.ini

としてphp.iniファイルを複製しておきます。今後php.iniファイルをいじるときはこの複製したファイルをいじります。

$sudo port select php php56

でphp56を使うとしておきます。

次はphp-fpmです。

$sudo port install php56-fpm

で、php-fpmをインストールします。

インストールが終わったら.confファイル作れよバーカって書いてあるので(バーカとは書いていない).confを作ります。

$sudo cp /opt/local/etc/php56/php-fpm.conf.default /opt/local/etc/php56/etc/php-fpm.conf

さて、.confファイルが作り終わったら、php-fpmを起動させます。

$sudo port load php56-fpm

これでphp56-fpmを使う準備はできました。

次はまた、apache2.4の設定に戻ります。httpd.confファイルを開いてください。

開いたら、Include etc/apache2/extra/httpd-vhosts.confという部分がコメント化されているのでそこのコメントを削除します。

保存してviを抜けます。

その後以下のコマンドを打ちます。
$sudo vi /opt/local/etc/apache2/extra/httpd-vhosts.conf
これはヴァーチャルホストという機能を使うための設定ファイルです。詳しくは各自調べてください。

すでにある記述を軒並みコメント化します。コメント化してあればいいです。おらおらおら。

そのファイルの一番下に以下を記述します。
<VirtualHost *:80>
    DocumentRoot "/opt/local/www/apache2/html2"
    ServerName localhost3
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/(DirectoryRoot)/$1
    <Directory "/opt/local/www/apache2/html2">
    Require all granted
   </Directory>
</VirtualHost>

これで保存します。DocumentRootは貴方が自由に決める部分です

今回はテスト用なので自分で勝手に決めた、virtualhost用のdirを作ります。

$sudo mkdir /opt/local/www/apache2/html2

作成したdirにviでindex.phpを作ります。
そのファイルにphpinfo()を記述します。詳しくはphpのサイトを見てください。

終わったら
$sudo apachectl restart
を実行して設定ファイルを反映します。

ブラウザのURL欄にlocalhost3をうって実行。

phpの設定が出ましたか?
出たなら成功です。
ですが、出ない場合もあるかもしれません。僕は出ませんでした。

/etc以下のhostsファイルを開いてください。

127.0.0.1    localhost
255.255.255.255    broadcasthost
::1    localhost

が記述されています。この127.0.0.1 localhostの下に
127.0.0.1    localhost3を書きます。

ファイルを保存して閉じます。

一応apachectl restartします。

ブラウザでlocalhost3を再び入力します。

今度こそphpの設定が出ると思います。

以上で終了です。かなり雑多でかけ足に記述しました。


以下がまとめです。

・Macportsで必要なものをぶっこむ。
・各種設定をする。
・virtualHost使用時にhostsファイルにIPアドレスとサーバネームを記述する。
・起動!

ですね。

php-fpmを入れる部分はフリーランスの方に教えていただいた方法です。apache2.4の方にphp用のmodが入っていないので悩んでいたところ教えてもらいました。

では、また!