【AWS】EC2にwordpress入れて、ftp接続して、phpmyadminまで入れる

AWSのEC2にwordpressで運用しようと思ったら、実際はFTP接続もphpmyadminも必要です。

0から全部終わるまでを1ページでまとめてみます。

1.インスタンス作成

まずはインスタンスの作成

次のページでAMI選択、無料枠のでいい

インスタンスタイプの選択、ここは要望により適当に

・次にセキュリティグループの設定をします。

既存のグループがあればそれを選択。

ない場合は新しく作ります。

↑最低でもこの4つのタイプが必要になりますので、ない場合はセキュリティグループに追加して下さい。

ここまで出来たら最後に確認して、起動します。

次にキーペアのダウンロード、sshで必要になります。

ここまで来たら、とりあえずインスタンスの作成が完了です。

2.Elastic IP の設定

ec2のサーバーはインスタンスを作った段階ではIPアドレスが決まっていません。

インスタンスに特定のIPアドレスを割り当てる事と、Ekastic IPの割り当てです。

では早速割り当て方法です。

EC2の管理画面の左のメニューに

Elastic IPというメニューがありますのでクリック

するとelasticIPの画面になります。

該当するインスタンスにチェックを入れます。

真ん中の青枠の「関連づけられたインスタンス」の箇所が空白のがまだElasticIPアドレスが割り当てられていないインスタンスです。

右上の「Action」の中の「ElasticIPアドレスの関連付け」をクリック

・次のページでElasticIPの関連付けをします

まずはインスタンスの検索窓から該当インスタンスを選択。

左下の「Elastic IP アドレスの再関連付けを許可する」をチェック。

最後に「関連付ける」をクリック。

・次の画面で関連付けられたインスタンスに値が入っていれば成功です!!

3.APACHEとPHPとwordpressをインストール

今作ったサーバーにSSHで接続して、早速apacheとphpをインストールします。

sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd.service
sudo usermod -a -G apache ec2-user
sudo chown -R ec2-user:apache /var/www
sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;
sudo amazon-linux-extras enable php7.3
sudo yum install php php-gd php-mysqlnd php-xmlrpc -y
 
これでapacheとphpが使えるようになりました。
あとでwordpressを入れる為の設定もやっておきます。

cd /var/www/html
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
rm latest.tar.gz

4.phpMYAdminをインストール

次にphpMyAdminをインストールします。

ちなみに今回はデータベースはRDSにデータベースを作ってある前提で進めます。

以下をSSHでコピペして下さい。

sudo yum install php-mbstring php-fpm -y
sudo systemctl restart httpd
cd /var/www/html
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1
rm phpMyAdmin-latest-all-languages.tar.gz

ここでphpMYAdminがちゃんとインストール出来たか確認します。

http://【先ほど設定したElasticIP】/phpMyAdmin

にブラウザからアクセスして

この画面が表示されたら成功です。

ここまで来たらphpMYAdminをRDSに繋げます。

sshで

cd phpMyAdmin

sudo cp config.sample.inc.php config.inc.php

sudo vim config.inc.php

config.inc.phpファイルを編集します。

localhostの箇所をRDSのエンドポイントに変えて保存。

↓RDSのエンドポイントの位置

これでさきほどのブラウザのphpMYAdminにログインしたらRDSに繋がります。

5.次にhpptd.confを編集します。

sudo vim /etc/httpd/conf/httpd.conf


AllowOverride None
↓
AllowOverride All
に変えます。
変えたら保存。
次にapacheの権限を決めます。
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



6.FTPをインストール

sshで

sudo su
yum install vsftpd -y

でftpをインストール。
次に設定ファイルを編集します。
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
sudo vim /etc/vsftpd/vsftpd.conf

一旦vsftpd.confファイルを全削除してから
以下をコピペして保存
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
xferlog_enable=YES
connect_from_port_20=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
ascii_upload_enable=YES
ascii_download_enable=YES
ls_recurse_enable=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_addr_resolve=YES
pasv_address=【ElasticIP】
pasv_min_port=60001
pasv_max_port=60010
use_localtime=YES
force_dot_files=YES
seccomp_sandbox=NO
allow_writeable_chroot=YES

【ElasticIP】
の箇所にはさきほど設定したElasticIPを入れて保存します。
保存できたら
service vsftpd restart
で再起動します。
最後にec2-userにftp用パスワードを設定
passwd ec2-user

これで実際にFTPソフトで接続する準備が整いました。

winscpの設定見本です。


ホストにはEC2インスタンスのパブリックDNS
ユーザー名には:ec2-user
パスワードはついさきほど設定したものを