Skip to content
Kazue IGARASHI edited this page Feb 28, 2019 · 2 revisions

Welcome to the jaws-ug-wordpress-site wiki! このリポジトリはJAWS-UGイベントサイト用のWPテーマ・プラグインのリポジトリです。 JAWS-UGのAWSアカウントを使用したサイトのセットアップ方法はバックログに記載してます。

このWikiでは一般的な設定方法を記載しています。

このリポジトリで提供されているファイル

このリポジトリにあるデータはWordPressのコアファイルが入っていません。
インスタンス起動時に最新版がインストールされることと、運用中にアップデートが提供される場合があるからです。
そのため、サイト公開に必要なテーマとプラグインしか含まれていません。
以下の説明を元にgitとの連携やWordPressの設定を適宜行ってください。

gitとの連携

EC2(AMIMOTO)起動後、WordPressのインストールまで終わったらgitを使えるように設定しておく。

設定

パーマリンク設定

/archives/%post_id%/

永代供養対策
最後にスラッシュ入れておかないとS3に書き出した時ちょっと大変。

ディスカッション設定

投稿のデフォルト設定

全部チェック外す

テーマ

JAWS-UG WordPress theme

サイトアイコン

外観>カスタマイズ>サイト基本情報

ウィジェット

HOMEの下3カラムのウィジェット
特に設定しなくても出ます

外観>メニュー

適宜設定

プラグイン

mu-plugins で強制的に有効化ているプラグインあり

  • Advanced Custom Fields
  • Contact Form 7
  • Flamingo
  • HametuPack
  • JAWS UG WordPress Setting
  • Jetpack by WordPress.com : WordPress.com アカウントと連携すること
  • Login LockDown
  • Nginx Cache Controller
  • Simple Map
  • Simple Page Ordering
  • Simple Post Type Permalinks
  • WP BASIC Auth : サイト公開前にBasic認証を書けておく。公開後は無効化
  • WP Multibyte Patch
  • WP Total Hacks
  • Yoast SEO

各プラグインの設定

Jetpack

有効化モジュール

  • 執筆
    • Write posts or pages in plain-text Markdown syntax
  • 共有
    • パブりサイズの接続 : JAWS DAYS の TwitterアカウントとFacebookページを連動しておく
    • 共有ボタン : 有効化済みのサービスにボタンを使うSNSサービスを入れておく。ボタンのスタイルは公式ボタン、ボタン表示は投稿、固定ページ、セッション、サポーター。Twitterサイトタグもjawsdaysアカウントを入れておく
  • トラフィック
    • サイト統計情報
    • 拡張配信: サイト公開後
  • Security
    • プロテクト

WP Total Hacks

  • "wlwmanifest" と "xmlrpc" の自動削除 を有効化
  • #more アンカーの削除 を有効化
  • 抜粋から、[...] を削除 を有効化
  • すべてのピンバックを拒否 を有効化
  • Google Analytics : コードを入力の上「ログインユーザーには無効にする。」にチェック
  • ウェブマスターツールの認証 : Googleサーチコンソール(旧ウェブマスターツール)の meta の content 入れておく
  • リビジョンコントロール:10
  • セルフピンバックを停止 を有効化
  • ページに抜粋を追加 を有効化
  • 下書きページヘの子ページ作成を許可 を有効化

Simple Map

Google Maps APIキー を入れておく

Yoast SEO

設定をエクスポートできるので、永代供養前に書きだしておく

永代供養

更新終了後、バックアップ作成の上、StaticPressプラグインをインストール・有効化し、静的ファイルに書き出します。

WordPressでの作業

  1. Contact Form 7 によるメールフォームの削除
  2. Googleアナリティクスのコード削除
  3. Jetpack で外部連携する機能の停止(Photon, 関連記事など)
  4. その他、静的コンテンツで不要なプラグインの停止

DBとアップロードメディアの書き出し

SSHでEC2インスタンスにログイン後、WordPressのあるディレクトリまで移動後、以下のコマンドでユーザーディレクトリに書き出し。

# DB
$ wp db export ~/jawsdays2017.sql
Success: Exported to '/home/ec2-user/jawsdays2017.sql'.
#メディア
$ tar -zcvf ~/jawsdays2017uploads.tar.gz wp-content/uploads/

取得したファイルはバックログの該当プロジェクトのファイルにアップロードしておいてください。

StaticPressによる書き出し

https://wordpress.org/plugins/staticpress/

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

$ wp plugin install staticpress --activate
Installing StaticPress (0.4.5)
https://downloads.wordpress.org/plugin/staticpress.0.4.5.zip からインストールパッケージをダウンロードしています…
パッケージを展開しています…
プラグインをインストールしています…
プラグインのインストールが完了しました。
Activating 'staticpress'...
Success: Plugin 'staticpress' activated.

書き出し(再構築)

  1. ダッシュボード>StaticPress>StaticPress設定 で以下を設定し保存
    • 静的サイト URL:http://jawsdays2017.jaws-ug.jp/
    • 出力先ディレクトリ (ドキュメントルート):/home/ec2-user/static/(これは任意のディレクトリでOK)
  2. ダッシュボード>StaticPress で再構築を実行
  3. 完了したらローカルにダウンロードするなどしてデッドリンクやソースに問題ないか確認

ここまで終わったらスナップショットを取っておく

S3へのアップロードとDNSの書き換え

  1. Webサイトホスティング用のバケットの作成(設定内容はよしなに) jawsdays2017.jaws-ug.jp
  2. S3へアップロードしパブリックDNSでアクセスし一通り確認。

AWS CloudFront

https://qiita.com/jasbulilit/items/73d70a01a5d3b520450f

  1. CloudFrontのメニューから「Create Distribution」のボタンをクリック
  2. 配信方法で「Web」を選択
  3. Create Distribution 3-1. 「Origin Settings」 Origin Domain Name : SSL化したいS3バケットの バケット名ではなく 、Static website hosting のエンドポイント 例:jawsdays2018.jaws-ug.jp.s3-website-ap-northeast-1.amazonaws.com 3-2. 「Default Cache Behavior Settings」 Viewer Protocol Policy : Redirect HTTP to HTTPS を選択 3-3. 「Distribution Setting」 Alternate Domain Name : 使用するドメイン名 例:jawsdays2018.jaws-ug.jp SSL Certificate : Custom SSL Certificate で *.jaws-ug.jp の証明書を選ぶ Default Root Object : index.html

あとはデフォルトでOKで「Create Distribution」をクリック 4. 作ったDistributions のStatus がDeployedになるまで待つ

AWS Route53

Route53 で 対象ドメインのCNAMEをCloudFrontのDomain Name にする

インスタンスの停止

EC2ではなくCloudFront(S3)の方を見るようになったら、スナップショットがあるのを確認(なければ取る)した後にインスタンスの停止と削除