Subscribed unsubscribe Subscribe Subscribe

AWS×AMIMOTO(HHVM)×StaticPressS3で静的サイトを作ってみる

AMI

WordPress powered by AMIMOTO (HHVM)

起動後に自動的に実行されるchef

/opt/local/provision
↓
#!/bin/sh
/sbin/service monit stop
/usr/bin/git -C /opt/local/chef-repo/ pull origin master
/usr/bin/git -C /opt/local/chef-repo/cookbooks/amimoto/ pull origin master
/usr/bin/chef-solo -c /opt/local/solo.rb -j /opt/local/amimoto.json

※EC2インスタンスが起動後にchefの実行が完了するまで10分程度ネカスのがいいと思います。
Launch-with-1-Click/lw1-amimoto · GitHub

SG

SSH 踏み台のSGのID
HTTP 0.0.0.0
HTTPS 0.0.0.0

多段SSH

vi ~/.ssh/config
↓
Host {{踏み台}}
  HostName {{EIP}}
  User centos
  IdentityFile {{踏み台のpemファイル}}

Host wp
  HostName {{EIPのPrivate IP address}}
  User ec2-user
  IdentityFile {{多段アクセス先のpemファイル}}
  ProxyCommand ssh -W %h:%p {{踏み台のホスト}}
chmod 400 {{pemファイル}}
chmod 600 ~/.ssh/config
chmod 700 ~/.ssh

ドメインの設定

Route53でAレコードを作成する
↓
30分ネカス

site_urlとhome_urlを変更する

update {{データベース名}}.wp_options set option_value='http://{{ドメイン}}' where option_value='http://{{EIP}}'

管理画面にアクセス

http://{{ドメイン}}/wp-admin/

nginxのキャッシュを無効にする

http://{{ドメイン}}/wp-admin/admin.php?page=nginx-champuru
キャッシュ有効期間を86400→0
↓
すべてのキャッシュを削除

キャッシュがないかの確認

SELECT * FROM {{インスタンスID}}.wp_nginxchampuru;

プラグインのインストール

Static Press

$ sudo su -
# cd /var/www/vhosts/{{インスタンスID}}/wp-content/plugins
# git clone https://github.com/megumiteam/staticpress-s3.git
# chown -R nginx:nginx staticpress-s3
# logout
↓
インストール済みプラグインから、有効化する

StaticPressS3の設定

静的サイト URL:http://{{ドメイン}}/

※他はよしなに

Failed to load magic database at '/usr/share/misc/magic'.

ブラウザからプラグインの編集
↓
wp-content/plugins/staticpress-s3/includes/class-S3_helper.php 
↓
$magic_file = '/etc/httpd/conf/magic';

S3の設定

  • バケットの作成
サブ.{{ドメイン}}
  • アップロード
サブ.{{ドメイン}}バケットにアップロード

Route53の設定

CNAMEレコードでS3エンドポイント→サブ.{{ドメイン}}

テーマをインストール

Zerif
↓
\nFatal error: syntax error, unexpected $end
in /var/www/vhosts/{{インスタンスID}}/wp-content/themes/zerif-lite/inc/extras.php on line 1
↓
# cd /var/www/vhosts/{{インスタンスID}}/wp-content/themes/zerif-lite/inc/
# tr \\r \\n < extras.php > extras.php

WordPressの概要

  • ブートストラップ
wp-load.php

※index.phpフロントページ用コントローラー

  • コアの構成要素
wp-contentディレクトリとwp-config.php以外
  • フロントと管理画面の共通モジュール
wp-includes
  • 管理画面で共通のモジュール
wp-admin/includes