はじめに
EC2を学習用に個人利用しています。仕事では利用していない為、ときどき思い出したかのように、EC2の構築をしてみたりという個人的なAWS利用をしています。今回は、Apacheをインストール後に、EC2を再起動したときに遭遇したエラーについて、対処方法を備忘録として残しておきます。
何が起きたか
EC2にApacheをインストールして、ドキュメントルートに配置したHTMLファイル(/var/www/html/index.html)をChromeでアクセスし無事に表示されたので安心して、その日はEC2を停止して終わりにしました。翌日、EC2を起動して、Chromeでアクセスしたら、index.htmlが表示されませんでした。
systemctl restart httpd を実行しても、Apache が起動しない。
なんでだ。。。答えは単純で、root になっていなかったので、起動しなかっただけでした。ただ、起動しなかったときの、エラーメッセージをGoogle検索すると、そんな単純な答えは出てくる訳もなく?、遠回りしてしまいました。
エラーメッセージ
以下のエラーメッセージがでました。
Failed to restart httpd.service: The name org.freedesktop.PolicyKit1 was not provided by any .service files
httpd の起動状態を調べる
[ec2-user@ip-172-31-23-3 html]$ systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:httpd.service(8)
httpd のコンフィグ設定をテストする
[ec2-user@ip-172-31-23-3 html]$ service httpd configtest
AH00526: Syntax error on line 43 of /etc/httpd/conf.d/mod_security.conf:
ModSecurity: Failed to open debug log file: /var/log/httpd/modsec_debug.log
AH00526 でGoogle検索するも・・・
何やら難しい記事が出てくるが内容を見ても、そんな変更加えていないなぁ、とちょっと途方に暮れる。
httpdのログを調査する
[ec2-user@ip-172-31-23-3 html]$ cd /var/log/httpd/
-bash: cd: /var/log/httpd/: Permission denied
ん?パーミッション?、ここで気づきました。root になっていないことに。(;´д`)トホホ。
以下で解決
[ec2-user@ip-172-31-23-3 html]$ sudo su
[root@ip-172-31-23-3 html]# cd /var/log/httpd/
[root@ip-172-31-23-3 httpd]# ls
access_log error_log modsec_audit.log modsec_debug.log
[root@ip-172-31-23-3 httpd]# ls -lrt
total 20
-rw-r----- 1 root root 0 Jan 29 16:40 modsec_debug.log
-rw-r----- 1 root root 2544 Jan 29 16:53 modsec_audit.log
-rw-r--r-- 1 root root 5039 Jan 29 16:53 access_log
-rw-r--r-- 1 root root 7672 Jan 29 16:55 error_log
[root@ip-172-31-23-3 httpd]# systemctl restart httpd
[root@ip-172-31-23-3 httpd]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2022-01-29 23:47:52 UTC; 11s ago
Docs: man:httpd.service(8)
Main PID: 3333 (httpd)
Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"
CGroup: /system.slice/httpd.service
tq3333 /usr/sbin/httpd -DFOREGROUND
tq3334 /usr/sbin/httpd -DFOREGROUND
tq3335 /usr/sbin/httpd -DFOREGROUND
tq3336 /usr/sbin/httpd -DFOREGROUND
tq3337 /usr/sbin/httpd -DFOREGROUND
mq3338 /usr/sbin/httpd -DFOREGROUND
Jan 29 23:47:52 ip-172-31-23-3.ec2.internal systemd[1]: Starting The Apache HTTP Server...
Jan 29 23:47:52 ip-172-31-23-3.ec2.internal systemd[1]: Started The Apache HTTP Server.
[root@ip-172-31-23-3 httpd]#
おわりに
あまりお役に立てる記事ではないかも知れません。では、また。