-構築手順-
・EC2インスタンスを作成 ・Tera Term 5インストール&インスタンスにSSHで接続 ・Apacheインストール ・PHPをインストール ・MariaDBインストール ・phpMyAdminインストール ・phpMyAdminブラウザ表示 ・WordPressインストール ・Wordpressブラウザ表示
補足
EC2とはAmazon Web Services (AWS)が提供している仮想サーバーです。
EC2におけるインスタンスタイプとはサーバーをどのくらい高性能にするかを決めるものです。
1.EC2インスタンスを作成
・AWSマネジメントコンソールからEC2を開く。
・左側メニューからインスタンスを開きインスタンスを起動をクリック。
・名前とタグので任意の名前を決める。
・アプリケーションおよび OS イメージ (Amazon マシンイメージ)で無料利用枠の対象にあるAmazon Linux 2 AMI (HVM) – Kernel 5.10, SSD Volume Typeを選択する。
・インスタンスタイプで無料利用枠の対象にあるt2.microを選択する。
・キーペア(ログイン)でキーペア名を入力しキーペアのタイプをED25519を選択しプライベートキーファイル形式を.pemを選択しキーペアを作成する。
・ネットワーク設定でセキュリティグループを作成を選択し、他の設定はデフォルトのままでインスタンスを作成する。
・左側メニューからインスタンスをクリックし、作成したインスタンスを選択します。インスタンス画面下部にあるセキュリティをクリックしセキュリティグループを選択する。
・セキュリティグループのインバウンドのルールを編集します。ルールの追加をクリックし、タイプに”HTTP”を選択して保存ボタンをクリック。
・これでHTTP通信完了。
Tera Term 5インストール&インスタンスにSSHに接続
・Tera TermホームページからTera Term5をダウンロード&インストールする。
https://teratermproject.github.io
・Tera Term5を開きホスト名に作成したインスタンスのパブリックDNSを入力、サービスはSSHを選択し、OKをクリック。
・ユーザ名を”ec2-user”で入力する。
・認証方式RSA/DSA/ECDSA/ED25519鍵を使うで作成した秘密鍵をファイルから選択しOKをクリック。
・SSH接続完了。
Apacheをインストール
・wordpressを使うためのwebサーバーApache(httpd)をインストール
sudo yum install httpd -y
・Apache起動。
sudo systemctl start httpd
・サーバー開始時に自動的に起動するように設定する。
sudo systemctl enable httpd.service
・いま使っているec2-userをapache グループに追加し、/var/www/ 配下にファイルを書きこめるようにする。
sudo usermod -a -G apache ec2-user
・/var/www とそのコンテンツのグループ所有権をapacheグループに変更する。
sudo chown -R ec2-user:apache /var/www
・グループの書き込み許可を追加して完了。
sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;
finde /var/www -type f -exec sudo chmod 0664 {} \;
PHPをインストール
・php7.3が参照されるように事前にコマンドを実行する。
sudo amazon-linux-extras enable php7.3
・PHPと関連するパッケージをインストールする。
sudo yum install php php-gd php-mysqlnd php-xmlrpc -y
MariaDBをインストール
・WordPress のデータベースとして使用する MariaDB をインストール。
sudo yum install mariadb mariadb-server-y
・起動&自動起動設定する。
sudo systemctl start mariadb
sudo systemctl enable mariadb
・mysql_secure_installation を実行し、設定変更する。
sudo mysql_secure_installation
phpMyAdminをインストール
・phpMyAdmin関連パッケージをインストールする。
sudo yum install php-mbstring php-fpm -y
・Apacheを再起動する。
sudo systemctl restart httpd
・cdコマンドでApacheドキュメントルートに移動する。
cd /var/www/html
・wgetコマンドを使ってphpMyAdminをダウンロードする。
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
・phpMyAdmin フォルダを作成して、phpMyAdmin パッケージを展開(解凍)する。
・元の tar.gz ファイルをrmコマンドで消す。
mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C php MyAdmin --strip-components 1
rm phpMyAdmin-latest-all-languages.tar.gz
・Webブラウザからhttp://[パブリックDNS]/phpMyAdmin にアクセス完了。
WordPressインストール
・最新の WordPress を EC2 インスタンス上にダウンロードして展開(解凍)する。
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
・mysql クライアントを使って MariaDB に root ユーザーでログインし、WordPressの為のデータベースをセットアップする。
mysql -u root -p
・CREATE USERでデータベースのユーザーとパスワードを作成する。
※パスワード部分は独自のパスワードを設定。
CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'password';
・CREATE DATABASEでデータベースを作成する。
CREATE DATABASE `wordpress-db`;
・GRANTによって、データベースに対してさきほど作成したユーザーの権限を追加する。
GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"loacalhost";
・すべての変更を有効にするため、データ権限をフラッシュする。
FLUSH PRIVILEGES;
・mysqlクライアントを終了する。
exit
・wp-config-sample.php ファイルを wp-config.php という名前でコピーする。
cp wordpress/wp-config-sample.php wordpress/wp-config.php
・vimでwp-config.php ファイルを編集する。
vim wordpress/wp-config.php
・DB_NAME、DB_USER、DB_PASSWORDをmysqlクライアントでセットアップした内容に変更する。
define( 'DB_NAME', 'wordpress-db');
difine( 'DB_USER', 'wordpress-user');
define( 'DB_PASSWORD', password');
・WordPress をドキュメントルートではなく、その下の子ディレクトリで実行するために/html/配下に/blog/ディレクトリを作成しコピーする。
mkdir /var/www/html/blog
cp -r wordpress/* /var/www/html/blog/
・vimでhttpd.conf ファイルを開き<Directory “/var/www/html”>セクションのAllOverrideをNoneからAllに変更する。
sudo vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/blog">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
・Apache (httpd) プロセスが /var/www/ に書き込めるようにする。
sudo chown -R apache /var/www
sudo chgrp -R apache /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
・Apacheを再起動する。
sudo systemctl restart httpd
Webブラウザーでhttp://[パブリックDNS]/blog/wp-admin/install.phpでWordPressにアクセスしてインストールを完了。