サポートエンジニアとして、また軍隊にいる間、システム管理者が慣れていないシステムを管理するタスクを与えられることが何度かありました。 「このシステムを所有していた人が別の仕事を引き受けたので、代わりのシステムが見つかるまで私にそれを渡してくれました。」この会話は、ストレージシステム、そして当然のことながらWebサーバーに関しては数え切れないほど何度もありました。
あなたがこのような状況に陥ったと想像してみてください。あなたの会社のApache管理者は別の仕事を引き受けたり、解雇されたりします。あなたのマネージャーがあなたのところに来て、代わりの人が来るまでシステムを実行する必要があると言います。それで、あなたは何をしますか?どこに答えを求めますか?基本的な操作のために何を知っておく必要がありますか?これらはすべて、私たちが一緒に答える素晴らしい質問です。
手始めに、Apacheが環境でどのような役割を果たしているかを知る必要があります。 Apacheは、コンテンツをオンラインでホストできるようにするオープンソースのWebサーバーです。私たちがサイトにアクセスしている場合、それは私たちの情報をチェックし、次に私たちが要求するWebページとコンテンツに私たちを接続します。私の個人的な経験では、私がサポートした製品は、Apacheを使用してWebベースのグラフィカルインターフェイスをホストし、顧客がストレージシステムをリモートで管理できるようにしました。これにより、メンテナンス、アップグレード、パッチなどを実行できるようになりました。Apacheとは何か、なぜそれが必要なのかについての基本的な理解ができたので、基本的な管理について見ていきましょう。
サービスのオンとオフを切り替える
管理者として知りたい最も基本的な情報は、サービスが稼働しているかどうかです。すべてのサービスについて、そのサービスのステータスの正確なスナップショットを取得するために必要な3つの基本的なコマンドがあります。また、サービスを有効にする必要があります(Apacheはその1つです)。この記事では、すべてのコマンドがRed Hat EnterpriseLinux8環境で実行されます。
Apacheサービスを有効にするには、次のコマンドを使用します。
[root@rhel8dev ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
注: これは、サービスを開始または構成する前に行う必要があります。
次に、ステータスコマンドを確認します:
[root@rhel8dev ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor prese>
Active: inactive (dead)
Docs: man:httpd.service(8)
上記の出力から、サービスがダウンしていることがわかります。そのステータスを変更するには、service start
を実行する必要があります ここに表示されるコマンド:
[root@rhel8dev ~]# systemctl start httpd
注: 開始コマンドと停止コマンドの出力はありません。
ここで、前に見たコマンドでサービスのステータスを確認すると、サービスが稼働中であることがわかります。
[root@rhel8dev ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor prese>
Active: active (running) since Mon 2019-10-07 12:25:18 EDT; 1min 25s ago
Docs: man:httpd.service(8)
Main PID: 3349 (httpd)
Status: "Running, listening on: port 80"
Tasks: 213 (limit: 18538)
Memory: 54.2M
CGroup: /system.slice/httpd.service
├─3349 /usr/sbin/httpd -DFOREGROUND
├─3350 /usr/sbin/httpd -DFOREGROUND
├─3351 /usr/sbin/httpd -DFOREGROUND
├─3352 /usr/sbin/httpd -DFOREGROUND
└─3353 /usr/sbin/httpd -DFOREGROUND
Oct 07 12:25:18 rhel8dev.test systemd[1]: Starting The Apache HTTP Server...
Oct 07 12:25:18 rhel8dev.test httpd[3349]: Server configured, listening on: port>
Oct 07 12:25:18 rhel8dev.test systemd[1]: Started The Apache HTTP Server.
サービスを停止するには、次のコマンドを使用します。
[root@rhel8dev ~]# systemctl stop httpd
ここでも、このコマンドに関連付けられた出力がないことがわかります。そのため、status
を使用する必要があります。 「停止」が成功したことを確認するコマンド。
ファイアウォールゲートを開く
これはWebサーバーであるため、ポートが開いていてWebトラフィック(HTTPおよびHTTPS)をリッスンしていることを確認する必要があります。これらのポートを有効にするには、次に示すように、Linuxファイアウォール(および該当する場合は会社のファイアウォール)にルールを作成する必要があります。
[root@rhel8dev ~]# firewall-cmd --zone=public --permanent --add-service=http
success
[root@rhel8dev ~]# firewall-cmd --zone=public --permanent --add-service=https
success
[root@rhel8dev ~]# firewall-cmd --reload
success
構成とログ
すべてが稼働していることを確認したら、基本的な構成設定を変更する必要がある場合があります。これを行うには、httpd.conf
を見つけます 。デフォルトでは、ここにあります:
[root@rhel8dev conf]# cd /etc/httpd/conf
[root@rhel8dev conf]# ls -lrt
total 28
-rw-r--r--. 1 root root 11899 Aug 29 11:15 httpd.conf
-rw-r--r--. 1 root root 13077 Aug 29 11:17 magic
最後に、何かがうまくいかない場合(そうでない場合)、問題のトラブルシューティングを開始するためにどこを見ればよいかを知りたいと思うでしょう。表示する2つのログはerror_log
です。 (発生するすべての問題を記録し、実装する修正を生成する場合があります)およびaccess_log
(サーバーへのすべてのアクセス要求を記録し、トラブルシューティングにも役立ちます)。デフォルトでは、これらのファイルは両方ともここにあります:
[root@rhel8dev logs]# cd /etc/httpd/logs
[root@rhel8dev logs]# ls -lrt
total 4
-rw-r--r--. 1 root root 0 Oct 7 12:25 access_log
-rw-r--r--. 1 root root 1002 Oct 7 12:27 error_log
追加のリソース
うまくいけば、あなたはこの状況に自分自身を見つけることは決してないでしょう。ただし、そうすると、Apache管理を開始するために必要な構成要素が揃います。詳細(必要になります)については、Apacheの公式ドキュメントサイトをご覧ください。