2012年7月30日月曜日

Mountain Lionにおいてphpが使えなくなる問題

前回、Mountain LionにアップデートすることによるWeb共有の消滅について書いた。

確認の際に拡張子htmlのページしか確認しておらず、拡張子phpについては全く意識していなかった。

phpのページを開いたところ、ソースが全文表示され驚いた。

セキュリティ的な問題でWeb共有を消したんだろうが逆にソース丸見えになっていたとは…

で!

phpを再度利用するための解決方法

コンソールを立ち上げ、apacheの設定ファイルであるhttpd.confを書き換えます。

sudo vim /etc/apache2/httpd.conf

モジュール読み込みの箇所までスクロール、もしくは検索をします。

#LoadModule php5_module libexec/apache2/libphp5.so のコメントアウトを外します。(#を外します)

これで上手く行くだろうと、Apacheを再起動するが今度は何も見えない。

そうですphp.iniも問答無用で消滅しています。

php.iniの復活

cd /etc/phpに移動、lsコマンドでファイル一覧を見てみます。

php.ini-5.2-previous おそらくこれはアップデート前Lion時のphp.iniのバックアップファイル

php.ini.default こちらは、php.iniの純粋なバックアップ

自分は特にデフォルトから変えていないのでどちらでも良いです。

sudo cp /etc/php.ini-5.2-previous /etc/php.ini

これでphp.iniという名前でコピーが生成されます。

最後に、chmod +w /etc/php.iniとし書き込み権限を渡します。

ls -l /etc/php.iniとすることで、権限を確認。

-rw-r--r--

Apacheを再起動させます。

apachectl restart

phpのページを開けば、動作していると思います。

2012年7月27日金曜日

Mountain LionにおけるWeb共有の消滅と403 Forbiddenの解決策

Mountain Lionがとても良いです。

しかし、Web共有がシステム環境設定の共有より消えました。

何もしなくても、Web系の開発が楽なのがMacの良い所でもあったのに、これだと困る。

しかし、Apacheは標準で搭載されているようで、ターミナルにて

sudo apachectl stop でWeb共有の停止(Apache停止)

sudo apachectl restart でApache 再起動

sudo apachectl start でWeb共有の開始(Apache起動)ができます。

ワ─イ♪└┤*´∀`*├┘ワ─イ♪と思ったのもつかの間、ページが見られない。

Lionまでは、Web共有のスイッチを入に変え、

http://localhost/~USERNAME/

にアクセスすると/Users/USERNAME/Sites/にあるファイルへアクセスが出来ていました。

しかし、Mountain Lion(10.8)で、http://localhost/~USERNAME/にアクセスすると、

Forbidden
You don't have permission to access

と出てくる。

403エラー。つまりは、てめぇには権限が無いから見せねえよ!っていうエラーです。

解決方法

解決方法ですが、ココに書いてありました。

ターミナルを開いて、以下のアドレスのファイルを製作(もしくは変更)します。

sudo vim /etc/apache2/users/USERNAME.conf

(USERNAMEは変更してください。vimが無い場合は他のエディタで)


<Directory "/Users/USERNAME/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

と書いてください。(USERNAMEは、各自自分のに変更)

ちなみに空白はタブキーで入れないでくださいね。

このあと、Apacheを再起動すれば終わり。コンソールにて、

apachectl restart

これで解決。

追記で、phpも消滅していたので書きました。

Mountain Lionにおいてphpが使えなくなる問題