VPC上に配置したEC2へPHP, Apache/Nignx, MySQLの環境構築をした際の覚書です。
OSはAmazon Linuxを選択しました。最後にWordPressをインストールしました。
参考記事
AWSへEC-CUBE3をインストール : EC-CUBE3 FindxFine | Web制作に関するメモ
Amazon Linuxで nginx + php7 環境構築 | // sakura note
以降sudoなしで管理者権限で実行可能にします。
$ sudo -i
既存のパッケージを更新します。
# yum update
登録済みリポジトリ確認をします。
(2017.03.09時点のAmazon Linux AMI release 2016.09の例)
# ls /etc/yum.repos.d
// amzn-main.repo amzn-nosrc.repo amzn-preview.repo amzn-updates.repo epel-testing.repo epel.repo
Remiリポジトリを登録します。
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpm -ivh remi-release-6.rpm
登録済みリポジトリを確認します。
# ls /etc/yum.repos.d
// ... remi-php54.repo remi-php70.repo remi-php71.repo remi-safe.repo remi.repo 追加リポジトリ
# yum install httpd
各ディレクトリで.htaccessを使用可能にします。
/etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
…..
#AllowOverride None <-- コメントアウト
AllowOverride All <-- 追加
…..
</Directory>
# service httpd start
// または
# apachectl start
remi-php70リポジトリからPHP関連をインストールします。
本体をインストールします。
# yum --enablerepo=remi-php70 --disablerepo=amzn-main install php
必要な拡張モジュールをインストールします。
# yum --enablerepo=remi-php70 --disablerepo=amzn-main install php-pdo php-mysqlnd php-mbstring
gdインストール
php-gdをインストール前にlibwebp、gd-lastをインストールします。
# yum --disablerepo=amzn-main --enablerepo=epel install libwebp
# yum install gd-last
# yum --enablerepo=remi-php70 --disablerepo=amzn-main install php-gd
PEAR/PECLインストールします。
php-pearをインストールする前にautomake, gccおよびphp-develをインストールします。
PECLはphp-pearのインストールの際に合わせてインストールされます。
# yum install automake
# yum install gcc
# yum --enablerepo=remi-php70 --disablerepo=amzn-main install php-devel
# yum --enablerepo=remi-php70 --disablerepo=amzn-main install php-pear
XDebugインストール
# pecl install xdebug
php.iniへ下記を追加します。
zend_extension=/usr/lib64/php/modules/xdebug.so
php.iniへ記載する代わりに設定ファイルをScan for additional .ini filesで読み込まれるディレクトリへ作成することもできます。
例) 20-xdebug.ini
zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.dump_globals = 1;
xdebug.dump.SERVER = *;
xdebug.dump.GET = *;
# yum install mysql-server
MySQLセットアップします。
// MySQLを起動します
# service mysqld start
セキュリティ関連(rootユーザーのパスワード設定など)を設定します。
# /usr/bin/mysql_secure_installation
MySQL5.7からrootはmysqlクライアントからのみ接続可能です。
php – SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'. Tried everything – Stack Overflow
PHP7.0から7.1へアップデートします。yum updateでremi-repo71が利用可能になっていることが前提です。
既存のPHP本体を削除します。
# yum remove -y php
# yum install -y --enablerepo=remi-php71 --disablerepo=amzn-main php
# curl -LO http://ja.wordpress.org/latest-ja.tar.gz
# tar xvzf latest-ja.tar.gz
// ユーザー作成
// rootでログイン
mysql> GRANT ALL PRIVILEGES ON *.* TO <username> IDENTIFIED BY '<password>';
// rootでログアウトし作成ユーザーでログイン
mysql> CREATE DATABASE <database> DEFAULT CHARACTER SET utf8mb4;
Apacheと同じようにRemiリポジトリを追加します。
参考記事
YumでNginxセットアップ+PHP-FPM – Qiita
# yum install -y httpd // httpdをインストールしないとNginxが正常にインストールできなかったため
# yum install -y nginx
PHP7, PHP-FPMインストール
# yum --enablerepo=remi-php71 --disablerepo=amzn-main install php php-fpm
設定ファイル | パス |
---|---|
Nginx | /etc/nginx/nginx.conf |
PHP-FPM | /etc/php-fpm.d/www.conf |
nginx.conf
server {
.....
server_name 52.199.2.159;
.....
.....
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # これを必ず記載
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
.....
}
www.conf
user nginx
group nginx
PHP-FPM起動
/etc/rc.d/init.d/php-fpm restart
EC2へMySQLをインストールせずRDSを利用します。
# yum install mysql
RDSインスタンスの
作成が完了するとエンドポイントが表示されるのでmysqlの接続でエンドポイント指定します。
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。