macportsのapache2でユーザディレクトリからの実行を有効にする
ブラウザからの出力確認をしていなかったため気がついていなかったけど、パスが違っていたらしい。Internal Server Errorになる原因になかなか気がつかなかった。また、macportsから入れて弄ってない状態だと、ユーザディレクトリが有効になっていなかったため、編集を加える。
macportsから入れたApache2でユーザディレクトリを有効にする。
$ sudo vi /opt/local/apache2/conf/httpd.conf
# User home directories - #Include conf/extra/httpd-userdir.conf + Include conf/extra/httpd-userdir.conf
$ sudo vi /opt/local/apache2/conf/extra/httpd-userdir.conf - <Directory "/Users/*/Sites"> - AllowOverride FileInfo AuthConfig Limit - Options MultiViews Indexes FollowSymLinksIfOwnerMatch IncludesNoExec - <Limit GET POST OPTIONS> - Order allow,deny - Allow from all - </Limit> - <LimitExcept GET POST OPTIONS> - Order deny,allow - Deny from all - </LimitExcept> - </Directory> + #<Directory "/Users/*/Sites"> + # AllowOverride FileInfo AuthConfig Limit + # Options MultiViews Indexes FollowSymLinksIfOwnerMatch IncludesNoExec + # <Limit GET POST OPTIONS> + # Order allow,deny + # Allow from all + # </Limit> + # <LimitExcept GET POST OPTIONS> + # Order deny,allow + # Deny from all + # </LimitExcept> + #</Directory> + <Directory /Users/*/Sites> + AllowOverride All + Options IncludesNoExec ExecCGI FollowSymLinks + <Limit GET POST OPTIONS> + Order allow,deny + Allow from all + </Limit> + <LimitExcept GET POST OPTIONS> + Order deny,allow + Deny from all + </LimitExcept> + </Directory>
Apacheの再起動を行う。
$ sudo /opt/local/apache2/bin/apachectl configtest $ sudo /opt/local/apache2/bin/apachectl restart
シンボリックリンクを追加する。
$ sudo mkdir /usr/local/bin $ sudo ln -s /usr/bin/perl /usr/local/bin/perl
参考リンク