AWS Setup 2017

works.td-inc.jp を半年くらい前に更新しました。その時の記録。

やりたかったこと 「HTTP2対応したい!」

Hetemlで借りていた td-inc.jp サーバーは仕事のテストアップなどで使っていたので、
会社サイトだけをサブドメインで切り出すことに。その時のメモです。
インターネットは素晴らしい場所でした。

 

▼ インスタンスの作成

t2.micro、t2.smallインスタンスについて  | ナレコムAWSレシピ
SSH を使用した Linux インスタンスへの接続 – Amazon Elastic Compute Cloud
サポートされているプラットフォーム – Amazon Elastic Compute Cloud

 

▼ nginxのインストール

sudo yum install nginx -y
sudo cp -r /usr/share/nginx/html /var/www/html
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bk
sudo vim /etc/nginx/nginx.conf

EC2にnginx+php(php-fpm socket)環境を最速で構築 – Qiita
CentOSにてnginxでPHPを動かす – Qiita

 

▼ PHPのインストール

AWS EC2 Amazon Linux 2016.09 + nginx + PHP7.0でサーバー構築 – Qiita

 

▼ PHPの設定

sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.bk
sudo vim /etc/php-fpm.d/www.conf

※ /etc/php-fpm.d がない場合、/etc/php-fpm.d のシンボリックリンクを確認する

or

PHP5.6の場合
sudo cp /etc/php-fpm-5.6.d/www.conf /etc/php-fpm-5.6.d/www.conf.bk
sudo vim /etc/php-fpm-5.6.d/www.conf

PHP7の場合
sudo cp /etc/php-fpm-7.0.d/www.conf /etc/php-fpm-7.0.d/www.conf.bk
sudo vim /etc/php-fpm-7.0.d/www.conf

PHP FastCGI Example | NGINX
※ 調べなきゃ寝れない!と調べたら余計に寝れなくなったソケットの話 – Qiita

 

▼ サーバーの起動と自動起動設定

sudo service nginx start
sudo chkconfig nginx on
sudo chkconfig –list nginx

sudo service php-fpm start
sudo chkconfig php-fpm on
sudo chkconfig –list php-fpm

 

▼ /var/wwwのディレクトリ設定
▼ MySQLのインストール・設定
▼ WordPressのインストール・設定

Amazon EC2(Amazon Linux)でWordPressをインストールし、Nginxで表示させる手順2 – owani.net#markdown

 

▼ Elastic IPへのドメインの設定

sudo vim /etc/nginx/nginx.conf
あと色々書く

 

▼ 今まで使ってたCloudFlareからDNSレコード (ゾーンファイル?) のエクスポート

Advanced > Export DNS File

 

▼ Route 53に乗り換え

お名前.comでネームサーバーを変更

DNSとかネームサーバとかRoute53とかAレコードとかCNAMEとかがわからない人のためのまとめ – ふじいけ技術メモ

 

▼ Cloud Frontの設定

Amazon CloudFront編~動的コンテンツ配信~|php CFセットアップ ディストリビューション 方法  | ナレコムAWSレシピ

WordPressサイトをCloudFrontで配信する – Qiita

varnishとCloudfrontはどちらを採用すべきか? | AWS情報 | Webシステム開発・運用、サーバー・ネットワーク設計から保守まで 雲屋ネットワークにおまかせ

AWS再入門 Amazon CloudFront編 | Developers.IO

ウェブディストリビューションを作成または更新する場合に指定する値 – Amazon CloudFront

ドメイン名を使用したトラフィックの Amazon CloudFront ウェブディストリビューションへのルーティング – Amazon Route 53

 

▼ HTTP2化

AWS SSL Certificate setup for WordPress site hosted on Nginx + CloudFront – Clark CX

AWS EC2に設定してHTTP2の効果を実感した – Qiita

Amazon CloudFront + ACM 独自ドメインで HTTPS (SSL) 配信設定メモ | あぱーブログ

WordPressでAmazon CloudFrontを導入(CDN)する方法

[AWS Certificate Manager]東京でも無料でSSL証明書が使用可能になりました! | Developers.IO

[ACM] AWS Certificate Manager 無料のサーバ証明書でCloudFrontをHTTPS化してみた | Developers.IO

【新機能】 Amazon CloudFrontがHTTP/2に対応しました | Developers.IO

UVD | How to set up AWS Certificate Manager with NGINX

 

別のブログを立てるために、nginxで複数のバーチャルホストの設定

nginxでvirtualhostを設定する – Qiita

 

▼ FTPの設定

[AWS] EC2でFTPを使いたい – Qiita

道はなくても進むのだ。: Amazon EC2 (Amazon Linux) での vsftpd インストールと設定

 

▼ S3にメディアファイルを移動

AWS CloudFrontを使ってWordPressのメディアファイルだけS3に配置する | Developers.IO

 

▼ PHPのアップロード容量

# cp /etc/php.ini /etc/php.ini.org
# vim /etc/php.ini
upload_max_filesize = 20M

WordPress on EC2

EC2上にインストールしたWordpressにダッシュボードから
プラグインをインストールする時に、エラーが出た。解決法は、

wp-config.php に

define('FS_METHOD', 'direct');

を追加。理由は以下らしい。

デフォルトの設定だとブラウザからプラグインやテーマをインストールする際に
ファイルのオーナーが、スクリプトを実行するオーナーと同じかどうかチェックするために、
『要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。
次に進むには FTP の接続情報を入力してください。接続情報が思い出せない場合は、
ホスティング担当者に問い合わせてください。』というエラーが表示される。

EC2 に WordPress をインストールする | 猫科のぶろぐ

wp-content/upgrade
wp-content/themes
wp-content/plugins
wp-content/plugins
のパーミッションは707か777あたり (最後の7が重要)