| この記事の要点 |
|
macOS の Apache
macOS には標準で Apache HTTP Server(httpd)が同梱されており、開発用 Web サーバとして使えます。本ページでは macOS で Apache を起動・停止・再起動する基本コマンドと、よく使う運用コマンドをまとめます。
基本コマンド一覧
| 操作 | コマンド |
|---|---|
| 起動 | sudo apachectl start |
| 停止 | sudo apachectl stop |
| 再起動(プロセス停止 → 起動) | sudo apachectl restart |
| 設定再読み込み(無停止 graceful) | sudo apachectl graceful |
| graceful 停止(処理中リクエスト完了後) | sudo apachectl graceful-stop |
| 設定ファイル構文チェック | sudo apachectl configtest / apachectl -t |
| 状態確認 | sudo apachectl status |
| バージョン確認 | httpd -v |
| ロードされているモジュール | apachectl -M |
起動
sudo apachectl start
起動後、ブラウザで http://localhost/ にアクセスすると Apache のデフォルトページ(または /Library/WebServer/Documents/index.html の内容)が表示されます。
停止
sudo apachectl stop
再起動
sudo apachectl restart
restart はプロセスを停止してから起動します。本番運用や開発中の接続を切りたくない場合は graceful を使います。
graceful(無停止リロード)
sudo apachectl graceful # 設定を再読み込み(既存接続は維持)
sudo apachectl graceful-stop # 既存接続完了後に停止
設定ファイル(httpd.conf)を編集した後、接続を切らずに反映したい場合は graceful が安全です。
configtest(構文チェック)
設定変更後は必ず構文チェックしてから restart / graceful するのが鉄則です。誤った設定で再起動すると、Apache が立ち上がらなくなることがあります。
sudo apachectl configtest
# Syntax OK ← この表示が出れば OK
# 同じ意味
sudo apachectl -t
標準同梱 Apache と Homebrew 版の違い
macOS には標準同梱の Apacheと、別途 Homebrew でインストールできる httpd があります。両者は完全に別物で、パスと設定ファイルが異なります。混在すると混乱の元なので、用途を決めて使い分けます。
| 項目 | 標準同梱 | Homebrew 版 |
|---|---|---|
| 実行ファイル | /usr/sbin/httpd | /opt/homebrew/bin/httpd(Apple Silicon)/usr/local/bin/httpd(Intel) |
| apachectl | /usr/sbin/apachectl | /opt/homebrew/bin/apachectl |
| 設定ファイル | /etc/apache2/httpd.conf | /opt/homebrew/etc/httpd/httpd.conf |
| ドキュメントルート | /Library/WebServer/Documents | /opt/homebrew/var/www |
| ログ | /private/var/log/apache2/ | /opt/homebrew/var/log/httpd/ |
| デフォルトポート | 80 | 8080(インストール直後) |
| 起動方法 | sudo apachectl start | brew services start httpd |
Homebrew 版の起動・停止
brew install httpd
brew services start httpd # 起動 + 自動起動登録
brew services stop httpd # 停止 + 自動起動解除
brew services restart httpd # 再起動
brew services list # 状態確認
自動起動の制御(launchctl)
macOS は launchd でサービスを管理しています。OS 再起動時に自動で Apache を立ち上げたい場合は launchctl を使います。
# 自動起動を有効化(macOS の plist は既に同梱)
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
# 自動起動を無効化
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
macOS Catalina 以降は /System/Library が読み取り専用となり、上記コマンドが動作しないバージョンもあります。その場合は Homebrew 版 + brew services の方が確実です。
状態確認とトラブルシュート
プロセス確認
ps aux | grep httpd
# httpd プロセスが複数立ち上がっていれば動作中
sudo lsof -i :80
# 80 番ポートを listen しているプロセスを確認
ログ確認
# 標準同梱版
sudo tail -f /private/var/log/apache2/error_log
sudo tail -f /private/var/log/apache2/access_log
# Homebrew 版
tail -f /opt/homebrew/var/log/httpd/error_log
tail -f /opt/homebrew/var/log/httpd/access_log
よくあるエラー
| 症状 | 原因 | 対処 |
|---|---|---|
| Address already in use: AH00072 | 80 番が他プロセス(nginx 等)に占有 | sudo lsof -i :80 で犯人特定、停止 |
| (13)Permission denied | 1024 未満のポートに非 root で bind しようとした | sudo を付ける、または 8080 等を使う |
| Syntax error on line N of /etc/apache2/httpd.conf | 設定ファイル誤り | sudo apachectl configtest でエラー位置を確認 |
| 403 Forbidden | ドキュメントルートのパーミッション | chmod -R 755 で読み取り権付与 |
| localhost につながらない | Apache が止まっている / ファイアウォール | sudo apachectl start、システム設定 → ファイアウォール |
FAQ
Q: macOS のどのバージョンから Apache の標準同梱は無くなった?
A: macOS Monterey (12)・Ventura (13)・Sonoma (14) まで /usr/sbin/httpd は同梱されています。将来的には削除される可能性があり、Apple は公式に「開発用」と位置付けています。本格運用は Homebrew 版か Docker 推奨。
Q: 80 番ポートを使うと毎回 sudo が必要
A: macOS では 1024 未満のポートに bind するには root 権限が必要です。開発用に 8080 / 8000 などを使えば sudo 不要にできます。
Q: graceful と restart の違いは?
A: restart は親プロセスごと再起動し既存接続も切れます。graceful は子プロセスを順次入れ替え、既存接続は完了まで維持します。本番では graceful が推奨。
関連
- コマンド一覧 — 親カテゴリ
- macOS — 上位カテゴリ
- Apache(httpd) — サーバ本体
- httpd.conf / launchctl / brew services
子ページはありません
- 起動・停止(Linux)
- 起動・停止
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09