前置き
学習メモをまとめています。
私と同じ初心者さんの助けになれば幸いです。
この記事でわかること
1. apache2.4.58のインストール方法
2. ログの確認 - エラーの解決方法
2024年1月15日現在の情報です。
今後のアップデートで、Apacheのバージョンが上がっていく可能性があります。
事前環境
- EC2
- AL2023
1.インストール方法
AL2023で、Apacheをインストールする方法は非常に単純です。
AWSで既にパッケージが用意されているため、そこからインストールすることになります。
- Apacheがパッケージとして用意されているかを確認
# yumのsearchコマンドでApacheに該当するパッケージを検索
$ sudo yum search httpd
#実行結果
==================== 名前 完全一致: httpd==================
httpd.x86_64 : Apache HTTP Server
- Apacheをインストール
# パッケージをインストール (-yオプションで、全ての項目をyesにする)
$ sudo yum install -y httpd
- Apacheのバージョン確認
$httpd -v
#実行結果
Server version: Apache/2.4.58 (Amazon Linux)
Server built: Oct 24 2023 00:00:00
- Apacheの格納場所は、"/etc/httpd"
$cd /etc/httpd
$ls
#実行結果
conf conf.d conf.modules.d logs modules run state
- Apacheを開始してみる(今回は、systemctlコマンドを使用)
$sudo systemctl start httpd.service
$sudo systemctl status httpd.service
#実行結果(Active:activeなら問題なし)
● httpd.service - The Apache HTTP Server
(中略)
Active: active (running) since Mon 2024-01-15 18:39:36 JST; 2s ago
(中略)
#接続確認
$curl http://localhost
#実行結果
(中略)
<h1>It Works</h1>
- URLより、HPが表示できることを確認
URLに、http://[EC2のパブリックIPv4 DNS]を打って、tomcatのテストページが表示されることを確認
2. ログの確認 - エラーの解決方法
- apacheのログ格納場所は、"/etc/httpd/logs/error_log"
#ディレクトリ移動
$cd /etc/httpd/logs
#「error」に一致するerror_logを閲覧
$cat error_log | grep "error"
下記のエラー文が表示されている可能性があるため、確認
- エラー文
Cannot serve directory /var/www/html:
No matching DirectoryIndex (index.html) found,
and server-generated directory index forbidden by Options directive - 原因
ドキュメントルートである、/var/www/htmlにindex.htmlが格納されていないというエラー - 対処方法
/var/www/htmlにindex.htmlを格納する
$cd /var/www/html
#index.htmlを作成
$vi index.html
#以下を記述
<DOCUTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Apache start Page</title>
</head>
<body>
<h1>エラーログ解決!</h1>
</body>
</html>
$ls
#実行結果
index.html
#Apacheを再起動
$sudo systemctl restart httpd.service
#エラーログを確認し、エラーが発生していないことを確認
$cd /etc/httpd/logs
#「error」に一致するerror_logを閲覧
$cat error_log | grep "error"
補足
上記でindex.htmlを作成したが、セキュリティ上の観点から権限の変更をお勧めします。
rootユーザーからssm-userユーザーへ
#ディレクトリ移動
$cd /var/www
#権限変更(htmlディレクトリの権限を、ssm-userグループの、ssm-userユーザーに変更)
$chown -R ssm-user:ssm-user html
#権限確認
$ls -l
#実行結果(下記なら成功)
rwxr-xr-x. 2 root root(略
drwxr-xr-x. 2 ssm-user ssm-user(略
後書き
以上がApacheをインストールしてから、実行するまでの手順です。
こうやって記事を書いてみると、やること多いですね。
セキュリティ面を気にするなら更にやることが多いらしいので、根気強く頑張りたいです。