AWS(EC2)でRedmineとGit、Jenkinsを使ったWordPress開発環境の構築と公開を行う
(その2-LAMP環境構築)

コーディング AWS

コーディング
前回の続き

今回は主にLAMP環境の構築。
RedmineにしてもWordPressにしても、まずはLAMP環境を整えなければ。

AWSのEC2でインスタンスを作成

EC2の部分は様々な人が手順を公開している事、UIがちょいちょい変わることからここでは省略。
要点だけ言えば、

OS Amazon Linux AMI
インスタンスタイプ t2.micro
その他 Elastic IPを割り当てておく

くらいかね。

RDSでDBインスタンスを作成

こちらもEC2同様省略。
DBエンジンはMySQLを使用。Amazon AuroraやMariaDBでm問題ないと思うけど、
以前の環境からデータをエクスポート&インポートしたかったので、
念のため同じMySQLとした。

EC2にログイン

ここからはコンソールでの作業となる。
ちなみに、EC2のデフォルトユーザであるec2-userで作業を行うと、
AWSのアカウントを移行する時に色々と面倒なことになるので、
環境構築に必要なユーザも作成する事にする。

作業用ユーザ作成

[code lang=”shell”]
$ sudo useradd -m work_user
[/code]

作成したユーザにsuして、鍵を作成
[code lang=”shell”]
$ sudo su work_user
$ mkdir ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t rsa
$ ll
total 8
-rw——- 1 work_user work_user 1675 Mar 27 02:47 id_rsa
-rw-r–r– 1 work_user work_user 407 Mar 27 02:47 id_rsa.pub
$ mv id_rsa.pub authorized_keys
$ mv id_rsa work_user.pem
$ chmod 600 *
$ cd ../
$ chmod 700 .ssh
[/code]

秘密鍵はをローカルにコピーし、sshで接続できるようにしておく。

www グループをインスタンスに追加。
[code lang=”shell”]
$ sudo groupadd www
[/code]

ユーザー(この場合は work_user)を www グループに追加。
[code lang=”shell”]
$ sudo usermod -a -G www work_user
[/code]

設定を反映するため、いったんexit&loginし、グループを確認。
[code lang=”shell”]
$ groups
work_user www
[/code]

LAMP環境に必要なapache2.4とphp5.6、mysql5.5をインストール

[code lang=”shell”]
$ sudo yum install -y httpd24 mysql55 php56 php56-pdo php56-mysqlnd php56-mbstring php56-opcache php56-gd
[/code]

Apacheの初期設定のため、httpd.confを編集

[code lang=”shell”]
$ sudo vim /etc/httpd/conf/httpd.conf
[/code]
[code lang=”xml”]
<Directory "/var/www/html">
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
[/code]

PHPの設定変更

[code lang=”shell”]
$ sudo vim /etc/php.ini
[/code]
[code lang=”xml”]
error_log = /etc/httpd/logs/php_errors.log
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.detect_order = auto
expose_php = Off
date.timezone = Asia/Tokyo
memory_limit = 512M
[/code]

テスト用phpを作成

[code lang=”shell”]
$ sudo vim /var/www/html/phpinfo.php
[/code]
[code lang=”php”]
<?php
phpinfo();
?>
[/code]

/var/www配下のファイルをapacheユーザ以外からもアクセス可能にする

/var/www とそのコンテンツのファイル所有権を apache ユーザー、wwwグループに変更。
[code lang=”shell”]
$ sudo chown -R apache:www /var/www
[/code]

/var/www およびそのサブディレクトリのディレクトリ許可を変更してグループの書き込み許可を設定し、将来のサブディレクトリにグループ ID を設定。
[code lang=”shell”]
$ sudo chmod 2775 /var/www
$ find /var/www -type d -exec sudo chmod 2775 {} +
[/code]

/var/www およびそのサブディレクトリのファイル許可を繰り返し変更してグループの書き込み許可を追加。
[code lang=”shell”]
$ find /var/www -type f -exec sudo chmod 0664 {} +
[/code]

apache ユーザーを www グループに追加。
[code lang=”shell”]
$ sudo usermod -a -G www apache
[/code]

Apacheを起動し、自動起動設定。
[code lang=”shell”]
$ sudo service httpd start
$ sudo chkconfig httpd on
[/code]

http://Elastic IPで取得したIPアドレス/phpinfo.phpにアクセスして、動作確認。

さて、次回はいよいよRedmineをインストール・・かな?

コメント

タイトルとURLをコピーしました