AWSの無料枠でWordPress on EC2を体験するためのスクリプトです.
Linuxによる操作を前提としています. ソース内部の[]は自分の値に置き換えて実行してください.
-
Amazon Web Serviceのアカウント作成(クレジットカード情報が必要です)
-
ログインし, サービス → コンピューティング → EC2に入る
-
インスタンスタブの, インスタンスの作成を選択
-
手順1:Amazon マシンイメージ(AMI)においてAmazon Linux 2 AMIを選択
Amazon Linux と Amazon Linux2では違う部分が多々あるので気をつけてください.
無料利用枠の対象
と表示があるものです. -
手順2, 3, 4はデフォルトの選択肢のまま次の手順を選択
-
手順5:タグの追加 はサーバー名をきめるフェーズです.
タグの追加から キーをNAME
, 値を任意のサーバー名にします.
ここでは キー:NAME
, 値:test
とします. -
手順6:セキュリティグループの設定 ではインバウンドを設定します.
インバウンドはサーバにアクセスできるポートを表します.
通常のWebサイト公開の場合, ソースは
SSH :マイIP
HTTP :任意の場所
HTTPS :任意の場所
になるかと思います. -
確認と作成 → 起動 を選択します. ここでキーペアについてのウィンドウが現れます.
このキーペアは, SSH接続の際に用いる秘密鍵で*.pem
というファイル名です.
以前にインスタンスを作成したことがない場合は, 新しい名前を入力して新しい秘密鍵を作成します.ここでは キーペア名 :key
とします.
キーペアをダウンロードし, インスタンスを作成します.
-
現状インスタンスの起動ごとにIPアドレスが変わってしまうのでこれを変更します.
EC2 → Elastic IP から 新しいアドレスの割当を選択し, 割当てます.
割り当てたアドレスを選択し, アクションからアドレスの関連付けを選択.
先程作成したインスタンスに関連付けます. -
作成したインスタンスにSSH接続します.
ダウンロードしたキーペアのパーミッションを変更します.
$ chmod 700 [キーペア名].pem
作成したインスタンスのElastic IPに接続します.
$ ssh -i [キーペア名].pem ec2-user@[Elastic IPアドレス]
を実行すると
The authenticity of host '[Elastic IPアドレス]' can't be established.
ECDSA key fingerprint is [鍵の内容].
Are you sure you want to continue connecting (yes/no)?
と出るので, yes
と打ち接続します.
- 管理者としてログインします.
[ec2-user@ ~]$ sudo su -
[root@ ~]#
LAMP環境構築のためのスクリプトを実行します.
[root@ ~]# bash wordpress.sh
wordpress.sh
の内容は以下の通りです. vim等のエディタで貼り付けてファイルを作成してください.
amazon-linux-extras install php7.2
yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum install -y httpd php mysql-community-server
systemctl start httpd mysqld
systemctl enable mysqld httpd
cd /var/www/html/
wget https://ja.wordpress.org/latest-ja.tar.gz
tar -xzvf latest-ja.tar.gz
rm latest-ja.tar.gz
何度か実行するかどうかの確認が表示されますが, すべてy
と入力し進めてください.
/var/www/html/wordpress
以下にWordPressでサイトを表示するのに必要なファイルがダウンロードされました.
サーバへのアクセスから自動的にここに飛ばすために, ドキュメントルートを変更します(最後の行のみ変更).
[root@ ~]# vim /etc/httpd/conf/httpd.conf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html/wordpress"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
これでWordPressの環境構築は終了です.
- サーバのデータベース(DB)はMySQLによって管理します.
ログから初期パスを確認します.
[root@ ~]# cat /var/log/mysqld.log | grep "localhost"
[] [Note] A temporary password is generated for root@localhost: [初期パスワード]
このパスを用いてSQLにログインし, DBの設定をします.
[root@ ~]# mysql -uroot -p
[初期パスワードを入力]
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Defaultp@ssw0rd';
mysql> CREATE DATABASE wpa001;
mysql> CREATE USER wpa001@localhost IDENTIFIED BY 'Hogehoge@1234';
mysql> GRANT ALL ON wpa001.* TO wpa001@localhost IDENTIFIED BY 'Hogehoge@1234';
mysql> FLUSH PRIVILEGES;
mysql> quit
ここで
Defaultp@ssw0rd
: SQLログインパスワード
wpa001
: DB名, ユーザー名
Hogehoge@1234
: DBのパスワード
です. これは適当に決めたものなので好きなものに変えてください.
ただし, 大文字,小文字, 数字, 記号を含む必要があります.
- ブラウザからサーバのElastic IPに接続してみましょう.
WordPressインストールの画面が表示されるはずです.
されない場合は[Elastic IPアドレス]/wordpress
と打ってください.
データベース名 : wpa001(先程決めたDB名)
ユーザー名 : wpa001(先程決めたユーザー名)
パスワード : Hogehoge@1234(DBのパスワード)
データベースのホスト名 : localhost
テーブル接頭辞 : wp000_(データベースの中身の名前が変わります.ここも適当に)
- 送信を押すとWebサイトのインストールが始まります.
もしファイル wp-config.php に書き込めませんでした。
と出るようなら以下のように自分で作成します.
[root@ ~]# vim /var/www/html/wordpress/wp-config.php
[ブラウザに表示されたソースコードを貼り付けて保存]
インストールを実行からサイトの諸々を設定し, 終了です.