炊きたてのご飯が食べたい

定時に帰れるっていいね。自宅勤務できるっていいね。子どもと炊きたてのご飯が食べられる。アクトインディでは積極的にエンジニアを募集中です。

LAMP環境構築編 - Amazon EC2(AWS) Amazon LinuxでWordPress運用


Amazon Linuxの場合、初期のログインユーザーはec2-userとなります。 Webのルートドキュメントは/var/www/htmlです。

  1. sshにec2-userでログイン
  2. sudo su - でrootに変更してLAMP環境の構築
  3. rpmforgeを利用してyumphpmyadminのインストール
  4. WordPressで使用するDBの作成、mysqlのユーザーの作成
  5. WordPressをサーバーにアップロード
  6. 万が一に備え、定期的にバックアップを取得する

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;

WordPress用のmysqlユーザーの作成

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)にアップロード。WordPressapacheユーザーで各種処理を行いますので、アップロードしたフォルダやファイルの権限は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.万が一に備え、定期的にバックアップを取得する

次は、万が一に備えたバックアップの取得について説明します。

link バックアップ取得編 – Amazon EC2(AWS) Amazon LinuxでWordPress運用