投稿者「をかもと」のアーカイブ

Shifter Static に標準で同梱されているプラグインについて ( Shifter Advent Calendar 2020 23日目 )

Shifter Advent Calendar 2020 の23日目です。
なんか Advent Calendar しか書いてませんね。
いかんなぁ、来年は他にも何か書こうと思ったり、思わなかったりしてます。

さて Shifter Static で WordPress を起動すると、プラグインの Must-Use って所にいくつかすでにプラグインが入っていることに気づいている方もいるかと思われます。
この Must-Use というのは、/wp-content/mu-plugins/ ディレクトリ以下に入ってるプラグインは必ず有効化されるという WordPress の機能を利用しています。
詳細については Must Use Plugins を参照してください。
Shifter Static で Must Use Plugins としてインストールされているプラグインは以下の9つです。

  • EVA
  • Redis Object Cache
  • S3 Uploads
  • Shifter
  • Shifter – Incompatible Plugins
  • Shifter GitHub Plugin/Theme Installer
  • Shifter tips
  • Shifter WP Webhook
  • Shifter – Artifact Helper

これらについて解説した公式文書がなかった気がするので、解説しますね。
続きを読む

Shifter meetup とビール ( Shifter Advent Calendar 2019 21日目 )

Shifter Advent Calendar 2019 の21日目です。
昨日は、立花さんの「Shifterでなかなか実装されないアレを勝手に実装してみた」でした。
久しぶりのブログ更新ですね、なんかすでに前回投稿から2年半も経ってる
この2年間何をやってたかというと、Instagram を見てもらえばわかるんですが、だいたいビールを飲んでた気がします。
もちろん、仕事もしてましたよ。
主に AMIMOTO マネージドShifter の運用です。

さて Shifter では、昨年末からユーザーミートアップを行なっております。
東京では、Stripe さんのオフィスを借りて2ヶ月に1度くらいのペースで実施しているのですが、このときにビールを持っていくのが通例となっております。
Advent Calendar には AWS re:Invent 参加中にラスベガスのホテルでどん兵衛食べながら、Shifter ダッシュボードに組み込むための Stripe API を叩く Lambda を描いてた話でも書こうかと思ってたんですが、そういえば愛すべきビール達のフォローアップをしてなかったなーと思いまして、今回はそんな話など。
なお、アイキャッチ画像は今年私の地元で行われた初の WordCamp "WordCamp Niigata 2019" でビールスポンサーとして参加した Shifter がビールを提供していた際の写真になります。
続きを読む

WordPress サイトを CloudFront で配信すると compress オプションを設定していても圧縮転送されない…

タイトルで言い切ってますが

CloudFront の「Compress Objects Automatically」ってオプションを有効にすると、対応しているブラウザに対しては圧縮転送をしてくれるはずなんですが、オリジンサーバが WordPress の場合、これが有効になりません。
css とか js なんかの静的ファイルはちゃんと圧縮してくれてるんですが

調べたところ、CloudFront で compress オプションが有効になるには、以下の条件があるようです。

  • The file must be of a type that CloudFront compresses.
  • The file size must be between 1,000 and 10,000,000 bytes.
  • The response must include a Content-Length header so CloudFront can determine whether the size of the file is in the range that CloudFront compresses. If the Content-Length header is missing, CloudFront won't compress the file.
  • The response must not include a Content-Encoding header.

Serving Compressed Files – Amazon CloudFront

これの「The response must include a Content-Length header so CloudFront can determine」が引っかかってるんですね
続きを読む

WordPress にバックドア仕掛けられないように…

いくら気をつけていても、不幸にして WordPress にバックドアを仕掛けられることは往々にしてあるものです。
重要なのは日々のアップデートと監視なのですが、間に合わずにやられちゃってバックドア仕掛けられることもあるでしょう。
先日リリースされた WordPress 4.5.2 でも結構重めの XSS 脆弱性の報告と修正が行われましたね。
WordPress 4.5.2 セキュリティリリース

そんなわけで、ひさ~しぶりのブログはバックドア仕掛けられないようにする防衛策とソースが改変された時の対応策です。
続きを読む

New Relic で AMIMOTO を監視する ( AMIMOTO Advent Calendar 2015 23日目 )

IMG_1656AMIMOTO Advent Calendar の23日目です。
監視大好きストーカー気質な皆様であれば、おそらく知っているであろう New Relic
NewRelic ではスマートフォン用のアプリとかも提供されてるので、いつでもどこでもサーバを監視できます。安心ですね。

あと、各種グラフは簡単な設定でログインしていないユーザにも公開することが可能です。
このサイトが動いているインスタンスの CPU Usage は、以下のURLで公開してます。
CPU Usage | dogmap.jp

AMIMOTO AMI HTTP/2版のデモサイトでも公開してますので、見てみてください。
Server Overview | HTTP2 AMIMOTO Demo

今日は、この New Relic を AMIMOTO AMI にインストールする手順を紹介します。

続きを読む

WordPress の前段に CloudFront を配置する ( AMIMOTO Advent Calendar 2015 12日目 )

AMIMOTO Advent Calendar の12日目です。
アイキャッチ画像は Cloudcraft で作ってみました。カコイイ!

WordPress の前段に CloudFront を置きたいことってありますよね。
そんな時、以下の様な問題に直面するかと思われます。

  • ログイン時はプレビュー画面とか、即座に変わるようにキャッシュさせたくない
  • Nginx のログファイルに CloudFront の IP アドレスではなく、アクセスしてきた PC の IP アドレスを記録したい
  • モバイル版とPC版でテーマを切り替えたいんだけど
  • publish したときにちゃんと反映されるようにキャッシュ消したい

今日は、これらのお悩みを解決しちゃおうかなって感じです。
続きを読む

Let’s Encrypt でお手軽にSSL証明書を取得する ( AMIMOTO Advent Calendar 2015 5日目 )

AMIMOTO Advent Calendar の5日目です。
なんか、ほんのちょっと前の記事が wp-cli Advent Calendar 2014 ですね。
月日がたつのは早いもんだ。

HTTP/2の登場で、俄然注目を浴びてきたSSL証明書ですが、個人で導入しようとするといろいろとハードル高いのも事実です。
いままでは、プライベートキー作って、そのプライベートキーから CSR 作成して、CSR を認証局に提出して、認証局に対するドメイン保持証明をして、認証されたら送られてきたSSL証明書を Web サーバに設定して.
しかも、結構お高い( まぁ、年間2,000円くらいの物もありますが)

しかし、そんな僕らの悩みを解決してくれる無料でトンデモなく簡単にSSL証明書を取得できるサービスがついに開始されました!
その名も Let's Encrypt !

Let's Encrypt を使って dogmap.jp の SSL 証明書取得して HTTP/2 対応したんですが、これがびっくりぽんなくらい簡単だったんで紹介します。
参考URL: DockerでLet’s Encryptしよっか @sawanoboly
続きを読む

lsyncd でファイル変更監視して、S3にアップロードする

WordPress のメディアファイルを自動でバックアップしたり、CloudFront のオリジンにするために wp-content/uploads/ の中身を S3 にアップロードするようにしたいなぁとか言う要望が結構あります。
特に AutoScaling 構成にする場合は、ソースファイルについては git リポジトリなどで管理すればいいですが、ダッシュボードからアップロードされるメディアファイルについては git リポジトリに含めるわけに行かないっすよね。
そんな時、僕の作ったプラグイン絡新婦とか、Amazon S3 for WordPress with CloudFrontとか使うわけですが、なんと 4.3.x 系ではちゃんと動かないような気がするんです

まぁ、僕が絡新婦をメンテナンスすればいいのですが、最近 php プログラム書くの辛いので代替手段として lsyncd でファイル変更を監視して S3 に自動アップロードするようにしてみました。
参考URL: lsyncdをrsync以外の用途で使う – Qiita

続きを読む

AWS WAF で CloudFront 環境にIPアドレス制限を設定する

本番環境で CloudFront を使用しているため、ステージング環境でも CloudFront を適用したいとかって要望は多々あると思います。
ただ、ステージング環境なんで全体に公開はしたくない、IPアドレス制限とかかけたいってなりますよね。
そんな時、今までは署名付きURLとか署名付き Cookie とかで対応せざるを得ませんでした。

参考URL

結構、めんどくさい。

そんな、僕達のために re:Invent 2015 に合わせるように発表された新サービス AWS WAF という救世主が現れましたよ。
この記事では AWS WAF を使用して、IP アドレス制限された CloudFront ネットワークを作成する方法をざっくり解説してみます。

続きを読む

自作プラグインに追加した wp-cli コマンドの出力結果を整形しよう ( WP-CLI Advent Calendar 2014 18日目 )

WP-CLIアドベントカレンダーの18日目です。
昨日は @tecking さんの「ひっくり返るくらい超絶便利な wp media regenerate」でした。
今回は前回の続きです。

前回 wp-cli 対応させる方法について説明しましたが、一点出力フォーマットについて触れていませんでした。
てことで、今回はそのへんについて

続きを読む