目次
WebServer on MacOSX
この情報は古いです。。。OS10.5時点.
MacOSはunixベースのため、web上のテストにはもってこい。terminalも使え、apacheも最初から入っている。
開発環境
phpを再コンパイルする時などに必要になるのが、MacOSXの開発環境である。これは、installDVDに一緒に同梱されているので、optionで後からinstallするだけである。GDインストールを参照。
かなりのディスクspaceを消費するので、不要なときにはunistallをしたいが、通常のアプリのようにゴミ箱に捨てるだけではダメなようである。MacOS開発環境のアンインストール
phpにGDを入れる
かなり苦労しました。単に人様のページをいくつも参考にしただけですが、今ひとつ良く判ってないもので・・・でもなんとかできました。GDインストール
1.WebServerを有効にする
共有設定で、WebServerを有効にします。Serverは、Apache2で、MacOSXには最初からインストールされている。有効にしたら、http://127.0.0.1/ でアクセスすると、「あなたの予想に反してこのページが・・・」と表示される。
2.WebServerの設定
3.phpをインストールする
こちらに、MacOSXのバイナリがある。http://www.entropy.ch/software/macosx/php/
本家のダウンロードページ http://www.php.net/downloads.php からtarを持ってきて、解凍してLinuxと同じ方法であってもできると思う。
4.phpを有効にする
という方法もあるようだ。今回これでやってみた。
通常でOSをイストールすると、appleのwebkitもインストールされていて、apacheやphpはインストールされてるらしい。phpはapacheのModuleとして動作する。ただ、それが有効になっていないってことだ。
Terminalを起動しhttpd.confを編集
で。httpd.confであるが、普通に探してもない。MacOSXでは、肝心の要の重要ファイルは見えなくされており、これをみる術はFinderからは不可能。そこで、Terminal を使う。
アプリケーションフォルダのユーティリティーの中にTerminalがある。これは、一般にいうTelnetと同じで、普通に立ち上げると、localhostに対してOpenする。これを起動すると、Unixのシェルwindowが立ち上がる。そこから、システムのすべてのファイルをみることができる。
MacOS-X 10.5では、下記の場所にある。
/etc/apache2/
なお、10.4では、/etc/httpd/にあったと思う。
編集の方法
そこから、Apacheの設定ファイルである、httpd.confを編集して、php_moduleがコメントアウトされているのでそれを外せばいいのだが、ここで、問題があるのだ。実は最近知ったのだが問題はなかった。Finderで「移動→フォルダへ移動」でUnixアドレスを直接入れると可能で見えなかったファイルが見えるようになる。保存時に認証が毎回発生するがGUIで編集できて便利。
このファイルはrootが所有者なのだ、したがって、suでスーパーユーザになる必要があるが、そのパスワードがわからんのだ。rootのパスワードは、このMacの管理者のパスワードとは異なる特別なもの。
なので、sudo を使う。このコマンドならユーザのパスワードで認証できる。僕の記憶だと、10.3か10.2のときは、rootのパスワードも管理者のパスワードだった気がするんだが。。。
sudo vi /etc/apache2/httpd.conf
なお、編集はviで行う。finderからは見えないファイルなので、Unixのエディタで編集するしかない(改行の問題やコードの問題もあるのでTerminal上で編集した方が無難だ)。エディタが開いたら、カーソルで、次の行を探す。
# LoadModule php5_module libexec/apache2/libphp5.so
#のところに、カーソルを持ってきて a を押す。するとinsert(apend)モードになるので、deleteキー で#を消す。そして ESC で抜ける。次にLoadmoduleの下あたりに下記を追加する。
<IfModule mod_php5.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps <IfModule mod_dir.c> DirectoryIndex index.html index.php </IfModule> </IfModule>
再び、ESCで抜け、最後に ZZ とキーを押して、Save&Quitする。
Apache再起動
同じくterminalから、下記として再起動する。
sudo apachectl -k restart
phpが有効かどうかテスト
Finderからエディタで下記のファイルを作る。ファイル名は、何でもいいが、拡張子はphp。ここでは、test_php.phpとした。
<?php phpinfo(); ?>
このファイルを下記に保存する。Documentのルートか、ホームのSiteに入れる。Documentのルートは、(ライブラリ /WebServer/Documents/)
サファリから、次のアドレスを開く。
http://127.0.0.1/test_php.php
大量のwarningが出る
MacOSXにインストールしたdrupalでwarningがでる。対策方法。「phpのtimezon設定」
次にMySQLを導入する。 MYSQL on MacOSX