CentOS7 への Apache2.4 インストールと各種コマンド

スポンサーリンク
スポンサーリンク

CentOS7.2 に Apache2.4 インストールしていく手順です。

環境

・CentOS7.2
・Apache2.4

インストール状況の確認

まずは、インストール状態を確認します。
以下のコマンドにて、現在インストールされているかどうかを含め、Apache の状況を確認していきます。
※yum で PHP をインストールしている場合には、依存関係として Apache がインストールされますので、その場合には、バージョン 2.4 がインストールされているかどうか確認を行います。


$ httpd -v
# 既にインストールされている場合には、バージョン情報が表示されます。
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 5 2018 01:47:09

# インストールされていない場合には、コマンドが見つからないエラーが表示されます。
-bash: httpd: コマンドが見つかりません

もしくは、


$ yum list installed | grep httpd

Apache インストール

インストールされていない場合には、以下のコマンドにてインストールを行います。


$ sudo yum -y install httpd

インストールが完了したら、バージョンを確認します。


$ httpd -v
Server version: Apache/2.4.6 (CentOS) Server built: Nov 5 2018 01:47:09

バージョンに問題がなければ、インストールは完了です。
完了したら、自動起動設定を行っていきます。

自動起動設定

サーバー起動時に自動で起動するように以下のコマンドにて設定を行います。


$ sudo systemctl enable httpd.service

設定に問題がないか確認を行います。


$ systemctl list-unit-files -t service | grep httpd
httpd.service            enabled

enabled と表示されていれば OK です。

なお、自動起動設定を解除する場合には、以下のコマンドで設定を解除します。


$ sudo systemctl disable httpd.service

起動と停止等の各種コマンド

設定ファイルの構文チェック

設定ファイルの内容に誤りがないか構文チェックを行います。


$ httpd -t

もしくは、


$ apachectl configtest

起動


$ sudo systemctl start httpd.service

停止

子プロセス全てを kill します。その後、親プロセス自身が終了します。


$ sudo systemctl stop httpd.service

再起動

stop コマンド後に start コマンドを実行します。
※stop コマンドにて処理中のリクエストは全て停止されますので、稼働中のサービスの場合には、reload オプションを使用することをおすすめします。


$ sudo systemctl restart httpd.service

ステータス確認

現在の起動状況や起動エラーの際には、エラーの簡易的な内容を確認することができます。


$ systemctl status httpd.service

緩やかな再起動

緩やかな再起動となり、子プロセスは現在のリクエストの処理が完了してから終了します。
親プロセスは設定ファイルを再読込し、終了した子プロセスの替わりに新しい子プロセスを起動していきます。


$ sudo systemctl reload httpd.service

※CentOS6 の graceful はこちらの reload オプションになってます。
以下、起動ファイル参照


$ cat /usr/lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
# We want systemd to give httpd some time to finish gracefully, but still want
# it to kill httpd after TimeoutStopSec if something went wrong during the
# graceful stop. Normally, Systemd sends SIGTERM signal right after the
# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give
# httpd time to finish.
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target

次回は、Apache のセキュリティ設定をおこなっていきます。

コメント

タイトルとURLをコピーしました