EC2インスタンスの環境設定→Apacheでページが見れるまでをまとめます。
EC2インスタンスにログインできたら、まずrootユーザーのパスワードを設定します。
任意のパスワードを2度入力します。
$ sudo passwd root
新しいパスワード:<パスワードを入力してreturnキー>
新しいパスワードを再入力してください:<パスワードを入力してreturnキー>
passwd: すべての認証トークンが正しく更新できました。
パスワードが設定できたら、早速rootユーザーに切り替えます。
su -
パスワード:<パスワードを入力してreturnキー>
タイムゾーンを確認します。基本的にAWSではUTCになっていると思います。
date
Sat Oct 1 14:27:27 UTC 2022
# timezoneを変更します
sudo timedatectl set-timezone Asia/Tokyo
#再度確認
date
Sat Oct 1 23:52:20 JST 2022
JSTに変更されました。
次にApacheをインストールします。
#念のため既にApacheがあるか確認
$ yum list installed | grep httpd
#インストール候補のバージョンを確認
$ yum list | grep httpd
generic-logos-httpd.noarch 18.0.0-4.amzn2 amzn2-core
httpd.x86_64 2.4.54-1.amzn2 amzn2-core
httpd-devel.x86_64 2.4.54-1.amzn2 amzn2-core
httpd-filesystem.noarch 2.4.54-1.amzn2 amzn2-core
httpd-manual.noarch 2.4.54-1.amzn2 amzn2-core
httpd-tools.x86_64 2.4.54-1.amzn2 amzn2-core
keycloak-httpd-client-install.noarch 0.8-1.amzn2 amzn2-core
libmicrohttpd.i686 0.9.33-2.amzn2.0.2 amzn2-core
libmicrohttpd.x86_64 0.9.33-2.amzn2.0.2 amzn2-core
libmicrohttpd-devel.x86_64 0.9.33-2.amzn2.0.2 amzn2-core
libmicrohttpd-doc.noarch 0.9.33-2.amzn2.0.2 amzn2-core
python2-keycloak-httpd-client-install.noarch
#Apacheをインストール 確認がでたらy+リターンを入力します
$ sudo yum install httpd
・・・・
Complete!
#Apacheを起動します
$ sudo systemctl httpd start
#verisonを確認
httpd -v
Server version: Apache/2.4.54 ()
Server built: Jun 30 2022 11:02:23
Amazon Linuxではamzn2-coreというyumリポジトリが用意されています。
/var/wwwにtestディレクトリを作成し、そのディレクトリをドキュメントルートとしてvirtual host設定をします。
AWSで自動的に用意されるサブドメインでWebページが表示できるようにします。
AWSで自動的に用意されるサブドメイン
インスタンスページでインスタンスIDの部分をクリックします。
インスタンス詳細のを確認します。ここに記載されている「パブリックIPv4 DNS」をホスト名に指定するとアクセスできます。
$ cd /var/www
$ mkdir test
$ chown ec2-user:ec2-user test/ -R
$ vi ./test/index.html
sample page
$ vi /etc/httpd/conf.d/vhost.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName ec2-43-206-117-44.ap-northeast-1.compute.amazonaws.com
DocumentRoot /var/www/test
<directory /var/www/test>
Options Indexes FollowSymLinks
Order allow,deny
AllowOverride All
Allow from All
</directory>
</Virtualhost>
#Apacheを再起動
$ systemctl restart httpd
最後にAWSのコンパネで「EC2」の「セキュリティグループ」を開きます。
セキュリティーグループは、iptables,firewalld同等(ソフトウェアファイヤーウォール)の機能がウェブ上で設定できる機能です。
EC2インスタンスを作成した際に自動作成された「launch-wizard-1」と書かれたセキュリティーグループがありますので、これを編集します。
左のチェックを入れ、「アクション」メニューから、「インバウンドのルールを編集」を選択します。
「HTTP」を追加します。(後々のために「HTTPS」も追加しておいても良いでしょう。)
「ルールを追加」を押します。
タイプで「HTTP」を選択し、ソースで「0.0.0.0/0」を選択します。
ブラウザでサンプルページが表示できました。
何かと必要になるので、remi,EPELは先に足しておきましょう。
# remiリポジトリを追加
$ amazon-linux-extras install remi
# EPELリポジトリを追加
$ amazon-linux-extras install epel