macでXAMPP
1週間ほどwindows+xamppで開発してました。
しばらくはまたmacに戻ることになったので、今度はmacにxamppを導入してみました。そこでちょっとハマったものをメモ。
XAMPP for Mac OS X
http://www.apachefriends.org/jp/xampp-macosx.html
今回は1.7.3を使いました。残念ながら、mac版は1年近く更新されていません。windows版と違い、MySQLも5.5ではなく5.1です。ちゃんとしたものを作るなら、環境構築からやり直すべきですね。ちなみにMAMPという似たものもあるようですが、こちらもmysqlのバージョンが古かったりします。
さて、xamppを/Application/XAMPPにおいて、xampp controlを動かすと、さくっとapacheとmysqlを動かせます。windows版と違ってcontrolの画面が質素ですね。
apacheを起動した状態でlocalhostにアクセスすると、localhost/xamppにリダイレクトされて設定画面が表示されます。これで正常に動いているのが確認できました。
また、localhost/~user(私の場合ならlocalhost/~mythosil)にアクセスすると、自分用のサイトが見られます。この時には、~/Sitesに置いてあるファイルが読まれます。今回はこちらで開発をやっていきます。
まずは~/Sites/index.phpをつくって、以下のように記述します。
<?php echo "Hello World";
試しにlocalhost/~mythosil/index.phpにアクセスすると、Hello Worldが表示されます。
次に、存在しないファイルにアクセスしようとした場合、すべてindex.phpを返すようにしてみます。~/Sites/.htaccessを作って、以下のように記述します。
<IfModule mod_rewrite.c> RewriteEngin On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </IfModule>
では、localhost/~mythosil/aaaaaにアクセスしてみましょう。
うごいてねー!!
apacheのエラーログ(/Application/XAMPP/xamppfiles/logs/error_log)を見てみましょう。
[Sat Apr 02 12:39:07 2011] [error] [client ::1] File does not exist: /Applications/XAMPP/xamppfiles/htdocs/Users
なんか変なとこからファイルを読もうとしてます。ただ、なんとなく原因が分かったので、下のコマンドを打ってから再度アクセスしてみました。
sudo ln -s ~/Sites /Application/XAMPP/xamppfiles/htdocs/Users
やったね!
あまり賢くない解決手法な気がするので、apacheの設定を調べてみます。普段使ってるnginxと違って、apacheは覚えることが多い気がします。