
Mac OS X で起動時に Apache が httpd を自動的に起動するようにする方法
Mac ベースのウェブ開発者は、おそらく OS X でコマンドラインを使って Apache ウェブサーバーを手動で起動・停止することに慣れているでしょう。しかし、Mac の起動・再起動時に Apache を自動的に起動させたい場合は、さらに一歩進んで launchctl を使う必要があります。こうすることで、ウェブ開発者は Apache httpd デーモンを起動するために apache start コマンドを手動で実行する必要がなくなり、Mac の起動時に Apache が自動的に起動するようになります。もちろん、起動時に Apache が自動起動しないようにする方法も説明します。
これらのコマンドは基本的に、システム起動時にApacheウェブサーバの起動デーモンをOS Xにロードします。launchctlを使用するため、Apacheのロードまたはアンロードにはsudoによる管理者権限が必要です。これは、共有設定パネルに「ウェブ共有」オプションがなくなった、比較的新しいバージョンのOS Xでのみ必要なことに注意してください。
注:これは、Mac 上で Apache が既に構成およびセットアップされていることを前提としています。まだ構成およびセットアップしていない場合は、そこから開始する必要があります。そうでない場合は、多くの構成を行わずに Apache が自動的にロードされます。
Mac OS X で起動時に Apache を自動的に起動するように設定する
ターミナルから次のコマンドを入力します。
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
ジョブを完了するには、Return キーを押して、要求された管理者パスワードを入力します。
これで、Mac を起動または再起動すると、Apache が自動的に起動するようになります。これは、任意のブラウザで URL として「localhost」と入力することで簡単に確認できます。
ローカルホストでおなじみの「It Works!」メッセージが表示され、コア ファイルは次の場所にあります。
/Library/WebServer/Documents/
さらに、localhost/~User のユーザー レベルのサイト オプションを有効にすることもできますが、これはこの記事の範囲外なので、ここで説明します。
Mac OS X で起動時に Apache の読み込みを停止する
システムの起動時に Apache が自動的に起動しないようにするには、次のように、他のデーモンと同様に launchd からエージェントを削除するだけです。
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
変更を確認するには、再度管理者パスワードを入力する必要があります。
launchd で Apache がロードされているかアンロードされているかを判断する
Apache が自動的にロードされるように設定されているかどうかわからない場合は、次のようにして launchd に Apache を照会できます。
launchctl list|grep apache
apache.httpd が返されませんか?デーモンがロードされていないため、自動的に起動しません。Apache は引き続き使用でき、手動で起動できますが、再起動やブートを行っても自動的に起動しません。これは非常に単純な動作です。
OS XでApache、PHP、MySQLを設定するのが複雑すぎる、または面倒だと感じる場合は、MAMPのような設定済みのWebサーバーパッケージを使用するという優れた解決策もあります。MAMPは、Apache、PHP、MySQLが単一のアプリケーションパッケージに既に含まれた自己完結型のWebサーバーソリューションも提供しています。ユーザーはMAMPアプリを起動し、ローカル開発用のWebサーバーの起動と停止に必要なサービスを開始するだけです。MAMPは強力で、MacベースのWeb開発者にとって優れたツールです。OS Xで実行するために個々のコンポーネントを手動で設定するよりも、一般的に手間と複雑さが大幅に軽減されます。どちらのソリューションも優れた選択肢となるため、ご自身の環境に合った方をお選びください。