Linux
Apache
AWS
EC2

Amazon Linux (EC2) 1

本ハンズオンは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