宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
「httpdサービスを起動しようとしたが、どのコマンドを使えばいいかわからない」
\n「CentOS 6系のinit.dコマンドしか知らないが、CentOS 7以降ではsystemctlが必要と聞いた」
\n
\nこの記事では、ApacheのhttpdサービスをLinuxで起動・停止・再起動する方法を、CentOS 7以降のsystemctlから旧来のinit.dまで実践的に解説します。
\n
\n
【この記事でわかること】
\n\n・CentOS 7以降は systemctl start httpd でサービスを起動する
\n・systemctl stop / restart / reload / status で停止・再起動・再読込・確認ができる
\n・systemctl enable httpd でOS起動時に自動起動するよう設定できる
\n・CentOS 6以前は /etc/init.d/httpd start または service httpd start を使う
\n・systemctl status httpd でエラーログも含めた詳細な状態を確認できる
\n

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

CentOS 7以降:systemctlでhttpdを制御する

CentOS 7以降では、サービス管理はinit.dからsystemdに移行しました。httpdの制御にはすべて systemctl コマンドを使います。

1. httpdを起動する

# httpdサービスを起動する [root@server ~]# systemctl start httpd # 起動結果を確認する [root@server ~]# systemctl status httpd * httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2026-04-08 10:00:00 JST; 3s ago

2. httpdを停止する

# httpdサービスを停止する [root@server ~]# systemctl stop httpd

3. httpdを再起動する

設定ファイルを変更した後は、変更を反映させるためにhttpdを再起動します。

# httpdサービスを再起動する(接続が一瞬切れる) [root@server ~]# systemctl restart httpd

4. 設定ファイルを再読み込みする(reload)

restart は一度サービスを止めてから起動し直しますが、reload は既存の接続を維持したまま設定ファイルだけを再読み込みします。本番環境での設定変更には reload が適しています。

# 既存接続を維持しながら設定を再読み込みする [root@server ~]# systemctl reload httpd

5. httpdの状態を確認する(status)

[root@server ~]# systemctl status httpd * httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2026-04-08 10:00:00 JST; 1min 30s ago Main PID: 1234 (httpd) CGroup: /system.slice/httpd.service ├─1234 /usr/sbin/httpd -DFOREGROUND ├─1235 /usr/sbin/httpd -DFOREGROUND └─1236 /usr/sbin/httpd -DFOREGROUND

「Active: active (running)」と表示されていれば正常に起動しています。「Active: inactive (dead)」の場合は停止しています。

OS起動時に自動起動するよう設定する(enable / disable)

デフォルトでは、サーバーを再起動してもhttpdは自動起動しません。本番サーバーでは必ず enable 設定を行いましょう。

1. 自動起動を有効にする

# OS起動時にhttpdを自動起動するよう設定する [root@server ~]# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

2. 自動起動を無効にする

# 自動起動を無効にする [root@server ~]# systemctl disable httpd

3. 自動起動の設定を確認する

# 自動起動の設定状態を確認する [root@server ~]# systemctl is-enabled httpd enabled

「enabled」なら自動起動が有効、「disabled」なら無効です。

CentOS 6以前:init.d / service コマンドで制御する

CentOS 6以前では、init.dスクリプトまたは service コマンドでhttpdを制御します。

1. init.dスクリプトを直接実行する

# httpdを起動する [root@server ~]# /etc/init.d/httpd start # httpdを停止する [root@server ~]# /etc/init.d/httpd stop # httpdを再起動する [root@server ~]# /etc/init.d/httpd restart # 設定ファイルの構文チェック [root@server ~]# /etc/init.d/httpd configtest Syntax OK # httpdの状態を表示する [root@server ~]# /etc/init.d/httpd status httpd (pid 1234) is running...

2. serviceコマンドを使う(短縮形)

# serviceコマンドでhttpdを起動する [root@server ~]# service httpd start # serviceコマンドでhttpdを停止する [root@server ~]# service httpd stop # serviceコマンドでhttpdを再起動する [root@server ~]# service httpd restart

service コマンドは /etc/init.d/ スクリプトの短縮形です。どちらを使っても同じ結果が得られます。

トラブルシュート

1. httpdが起動しない場合

systemctl status httpd でエラーメッセージを確認し、設定ファイルの構文エラーがないかチェックします。

# 設定ファイルの構文チェック [root@server ~]# httpd -t Syntax OK # またはapachectlを使う [root@server ~]# apachectl configtest Syntax OK

2. ポートがすでに使用されている場合

80番ポートが別プロセスに占有されていると起動できません。ss -tlnp | grep :80 で確認してください。

# 80番ポートを使用しているプロセスを確認する [root@server ~]# ss -tlnp | grep :80

まとめ

やりたいこと コマンド(CentOS 7以降)
httpdを起動する systemctl start httpd
httpdを停止する systemctl stop httpd
httpdを再起動する systemctl restart httpd
設定を再読み込みする systemctl reload httpd
状態を確認する systemctl status httpd
自動起動を有効にする systemctl enable httpd
自動起動を無効にする systemctl disable httpd
自動起動の設定確認 systemctl is-enabled httpd

Apacheの操作だけでなく、Linuxサーバーを安全に管理するための「型」を身につけたいですか?

サービスの起動・停止・自動起動設定はLinuxサーバー運用の基本中の基本です。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。