LoginSignup
4
5

More than 5 years have passed since last update.

Amazon Linux (EC2) 1

Last updated at Posted at 2018-10-31

本ハンズオンは3部構成となっています。
Amazon Linux (EC2) 1
Amazon Linux (RDB) 2
Amazon Linux (WordPress) 3

AWS EC2 のセキュリティグループでインバウンド80番ポートがを空けておいてください。
詳細は Amazon EC2 セキュリティグループ をご覧ください。


1.Apacheなどをインストールする

yum で色々アップデートしておきましょう。(Windows アップデートみたいなものです)
yum update -y
スクリーンショット 2018-10-28 18.00.34.png

whois コマンドと、データベース接続時に必要なmysql クライアントを入れておきます。
yum install -y jwhois mysql
スクリーンショット 2018-10-28 18.02.08.png

Amazon Linux の yum では「PHP はApache のモジュール(部品)」という扱いなので、PHP をインストールしようとするとyum が気を利かせてApacheも入れてくれます。
ちなみにこれは、Amazon Linuxの場合で、Amazon Linux2の場合は上手く行きませんでした。
yum install -y php72 php72-mbstring php72-mysqlnd
スクリーンショット 2018-10-28 18.06.04.png
ちなみにバージョンを確認してみると、↓
スクリーンショット 2018-10-28 18.07.22.png

次に、Apacheが自動起動してくるようにしておきましょう。
chkconfig --add httpd
chkconfig httpd on
スクリーンショット 2018-10-28 18.10.41.png
自動起動になっているか確認してみましょう。3:onになっていればOK。
chkconfig --list httpd
スクリーンショット 2018-10-28 18.11.37.png

2.WEBブラウザで表示してみよう

「http://自分のドメイン/」を開いてみましょう。

あれ、表示されない。

リブートしてみよう。
reboot
スクリーンショット 2018-10-28 18.29.44.png

表示された!
スクリーンショット 2018-10-28 18.28.12.png

3.バーチャルホストを作ってみよう

1.バーチャルホストとは?
1 台のサーバ上で2 つ以上のウェブサイトを扱う運用方法のことです。

サーバ1 台にウェブサイト1 つだけであればバーチャルホストにする必要はあまりないのですが、バーチャルホストの作り方を覚えておけば後で「サブドメインで別のサイトを作ってみよう」と思ったときに役立つはずです。

2.設定
Apache の大本となる設定ファイルは「/etc/httpd/conf/httpd.conf」です。
350 行以上あるのでtail コマンドを使って最後の5 行だけ確認してみましょう。
tail -5 /etc/httpd/conf/httpd.conf
スクリーンショット 2018-10-28 18.33.42.png
IncludeOptional conf.d/.conf
とあるため大本の設定ファイルの中で、
さらに「conf.d」というディレクトリ内の「
.conf」というファイルをインクルード(取り込み)していることが分かります。
でもいきなり「conf.d/.conf」と書かれてもどこの「conf.d/.conf」を指しているのかよく分かりませんよね。

「conf.d」より上のディレクトリはどこで指定しているのか、grep で探してみましょう。
grep "^ServerRoot" /etc/httpd/conf/httpd.conf
スクリーンショット 2018-10-28 18.36.07.png
ServerRoot "/etc/httpd"
ServerRootではベースとなるディレクトリを指定しています。
これで「conf.d/.conf」が実際は「/etc/httpd/conf.d/.conf」であることが分かりました。

では自分のドメインのサイト用にバーチャルホストを「/etc/httpd/conf.d」の下で作成してみましょう。
vi コマンドで新しい設定ファイルを作ります。
vi /etc/httpd/conf.d/start-aws-virtualhost.conf
スクリーンショット 2018-10-28 18.50.51.png

↓のファイルを書き込みます。

<VirtualHost *:80>
DocumentRoot "/var/www/start-aws-documentroot"
ServerName www.自分のドメイン
ErrorLog "logs/start-aws-error.log"
CustomLog "logs/start-aws-access.log" combined
<Directory "/var/www/start-aws-documentroot">
AllowOverride All
</Directory>
</VirtualHost>

catコマンドで中身を確認しましょう。
cat /etc/httpd/conf.d/start-aws-virtualhost.conf

3.構文チェック

apachectlコマンドで、構文チェックをします。
apachectl configtest
スクリーンショット 2018-10-28 18.57.04.png

ディレクトリが存在しない?
ということで、↓4.へ。

4.ドキュメントルートを作成

ドキュメントルートとは?
「サイトにアクセスしたらここに置いたファイルが表示されるよ」というディレクトリのことです。

mkdir コマンドでディレクトリを作成します。
mkdir /var/www/start-aws-documentroot
スクリーンショット 2018-10-28 18.59.28.png

lsコマンドでも作成されたか確認してみましょう。
ls -l /var/www/

改めて、apachectlコマンドで構文チェックをしましょう。
apachectl configtest
スクリーンショット 2018-10-28 19.01.17.png

5.index.htmlをおく

ドキュメントルートを用意しましたが、何かしらコンテンツを置いておかないと「404 Not Found」になってしまいアクセスできません。
vi コマンドでドキュメントルートの下にindex.html のファイルを作成します。中身は適当に書いて保存してください。
vi /var/www/start-aws-documentroot/index.html
スクリーンショット 2018-10-28 19.07.17.png

バーチャルホストの設定を有効にするため、apachectlコマンドでApache を再起動しておきましょう。
apachectl restart
スクリーンショット 2018-10-28 19.08.41.png

6.curlコマンドで確認する

curl:「ターミナルにおけるブラウザ」のようなコマンドです。
curl "http://自分のドメイン"
スクリーンショット 2018-10-28 19.22.48.png

4
5
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
4
5