1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AL2023学習メモ② Apache2.4.58導入

Last updated at Posted at 2024-01-15

前置き

学習メモをまとめています。
私と同じ初心者さんの助けになれば幸いです。

この記事でわかること

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/htmlindex.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をインストールしてから、実行するまでの手順です。
こうやって記事を書いてみると、やること多いですね。
セキュリティ面を気にするなら更にやることが多いらしいので、根気強く頑張りたいです。

 

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?