LAMP環境構築編 - Amazon EC2(AWS) Amazon LinuxでWordPress運用
Amazon Linuxの場合、初期のログインユーザーはec2-userとなります。 Webのルートドキュメントは/var/www/htmlです。
- sshにec2-userでログイン
- sudo su - でrootに変更してLAMP環境の構築
- rpmforgeを利用してyumでphpmyadminのインストール
- WordPressで使用するDBの作成、mysqlのユーザーの作成
- WordPressをサーバーにアップロード
- 万が一に備え、定期的にバックアップを取得する
1.sshにec2-userでログイン
Key Pairs作成時にダウンロードしたppkファイルを使用。 putty.gemでpemをppkに変換してから使用してください。
ログインユーザーはec2-user パスワードはありません。
login as: ec2-user
2.sudo su - でrootに変更してLAMP環境の構築
●rootへのログインはsudo su -です。
[root@ip-**-** ~]# sudo su - [root@ip-**-** ~]# yum update [root@ip-**-** ~]# yum install php [root@ip-**-** ~]# yum install mysql-server [root@ip-**-** ~]# yum install php-mysql [root@ip-**-** ~]# yum install php-mbstring
ここまではさっくりです。あとはphpmyadminのインストール。
3.rpmforgeリポジトリを利用してphpmyadminをインストール
●通常のyumのリポジトリにはphpmyadminが存在しないため、rpmforgeのリポジトリを利用します。
[root@ip-**-** ~]# cd /usr/local/src [root@ip-**-** ~]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm [root@ip-**-** ~]# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
●rpmforgeリポジトリを利用してphpmyadminをインストール
[root@ip-**-** ~]# yum --enablerepo=rpmforge install phpmyadmin
●phpmyadminの設定ファイル内の$cfg['blowfish_secret'] = ’46桁の文字列’;を編集
[root@ip-**-** ~]# cp /usr/share/phpmyadmin/config.inc.php config.inc.php.bak.20120827 [root@ip-**-** ~]# vi /usr/share/phpmyadmin/config.inc.php
●外部から閲覧できるように設定ファイルを変更
# cp /etc/httpd/conf.d/phpmyadmin.conf /etc/httpd/conf.d/phpmyadmin.conf.bak.20120827 # vi /etc/httpd/conf.d/phpmyadmin.conf
order deny,allow deny from all allow from 127.0.0.1 allow from ::1
を下記に
order deny,allow
deny from all
allow from 127.0.0.1
allow from ::1
●Apache設定反映
[root@ip-**-** ~]# /etc/rc.d/init.d/httpd reload
●表示が確認できればOK http://ドメイン名/phpmyadmin/
4.WordPressで使用するDBの作成
mysqlの初期設定では、rootにパスワードが設定されていない為、まずはrootのパスワードを設定します。
●mysqlにログイン
[root@ip-**-** ~]# mysql -u root
●パスワードの設定
mysql> set password for root@localhost=password('パスワード'); mysql> set password for root@127.0.0.1=password('パスワード');
●WordPress用のデータベースの作成
mysql> CREATE DATABASE asobicocoro;
mysql> grant all privileges on asobicocoro.* to ユーザー名@localhost identified by 'パスワード';
●ユーザーが作成されているか確認
mysql> select user,host,password from mysql.user;
5.WordPressをサーバーにアップロード
WordPressのサイトから、最新版をダウンロードします。ec2-userでWinSCPを設定し、AmazonLinuxのルートドキュメント(/var/www/html)にアップロード。WordPressはapacheユーザーで各種処理を行いますので、アップロードしたフォルダやファイルの権限はapacheである必要があります。下記コマンドで、html以下のフォルダとファイルの権限をapacheユーザーに変更します。
[root@ip-**-** ~]# chown -R apache:apache /var/www/html
/var/www/htmlフォルダをapacheユーザーに変更すると、apacheユーザーでは、WinSCPを使用することができないので、何かとサイト運営が面倒になります。そこで、下記のようにします。
htmlフォルダのみec2-user権限に変更
[root@ip-**-** ~]# chown ec2-user:ec2-user /var/www/html
サイト内で使う画像やJavascriptのファイルを置くフォルダを作成
[root@ip-**-** ~]# mkdir /var/www/html/images [root@ip-**-** ~]# mkdir /var/www/html/js [root@ip-**-** ~]# chown ec2-user:ec2-user /var/www/html/images [root@ip-**-** ~]# chown ec2-user:ec2-user /var/www/html/js
これで、自作のテンプレートのソースの更新はWordPressの管理画面上から行い、画像やJSファイルはWinSCPを利用してアップロードできるようになり、サイト運営が楽チンになります。
あとは、WordPressのインストール手順の通り進めていけば、快適なWordPressライフのスタートです。
※WordPressは.htaccessファイルを使用します。初期のサーバーの設定では、.htaccessファイルの使用が許可されていない可能性があるので、上手く動作しない場合は、使用許可がされているか確認してみてください。
6.万が一に備え、定期的にバックアップを取得する
次は、万が一に備えたバックアップの取得について説明します。