ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
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
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- 起動・停止(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 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Scratch 作品の公開方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?