MacにはデフォルトでApacheが入っている
sudo apachectl start
It works!と表示されます。
sudo apachectl stop
sudo apachectl restart
ハマるポイント
Brewのapacheが入っていることがある。
無論勝手に入ることはないでしょうが、brewは簡単にコマンド一つで入れられますので。
勿論設定ファイルも複数あることになる。
以前私がハマったポイントは、いくら設定ファイルでPHPのsocketを有効(コメントアウトを外す)にしてもPHPが有効にならなくて気絶したことがありました。
必ず自分がどちらのApacheを使うのか。設定ファイルはどちらのapacheなのかを明確にして作業を進める必要があるでしょう。
対策
which httpd
でどのApacheが今ターミナルで有効かを確認しましょう。
/usr/sbin/httpd
もし別のApacheを使いたいのなら、
コンソールの直リンクをTerminalにベタばりする。
BashProflieなどでの参照の順番を変更する。
というやり方があります。
先に読まれたコマンドが実行されるっぽいです。
ドキュメントルートの場所
Library/WebServer/Documents
Terminalで
open Library/WebServer/Documents
と打つとFinderで開けて楽。
Apacheを固定IPでローカルのWi-Fiにいる端末からアクセスできるようにする。
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
# Listen 80
Listen 192.168.11.1:80
</IfDefine>
Listenが80バンとか担っていると思うのでここを
Listen 192.168.11.1:80
のように127.0.0.1ではないPCがWifi接続しているIPをしていする。
固定IPにする方法、
固定IPの確認方法は各自調べてみて。
再起動すると他のスマホとかからでもアクセスできるはず。
設定ファイル
/etc/apache2/httpd.conf
編集
sudo vim /etc/apache2/httpd.conf
Apacheの設定ファイル
/etc/apahce2/httpd.conf
通常のアクセスログファイル
/private/var/log/apache2/access_log
エラーのログファイル
/private/var/log/apache2/error_log
セキュリティー的なこともあってエラー内容は表示されないのでエラーファイルのログでエラーがわかると開発効率が違う。
バーチャルホスト
まず設定をオンにする。
コメントアウトするだけ。
バーチャルホストは親元のファイル、もしくは各自のhtaccessどちらかに書く。
ServerName localhost
DocumentRoot /Users/username/Sites