しょっちゅう必要になるので、メモ書き程度に
参考にしたのは、以下の URL です。
- Apache
- Nginx
前提としてメンテナンス中画面として表示する際に使用する html は以下のファイルを使うものとします。
- maintenance.html
- style.css
- /img/corp_logo.png
また、以下の IP アドレスからのアクセスは管理者からなのでメンテナンス中画面を表示しないものとします。
- 192.168.0.4
- 192.168.0.5
しょっちゅう必要になるので、メモ書き程度に
参考にしたのは、以下の URL です。
前提としてメンテナンス中画面として表示する際に使用する html は以下のファイルを使うものとします。
また、以下の IP アドレスからのアクセスは管理者からなのでメンテナンス中画面を表示しないものとします。
いきなり fc2 ブログがソースを OSS として公開したらしいので Nginx + php-fpm で動かしてみました。
fc2blog/blog
実際に動かしてみたサイトがこれ
test.dogmap.jp
MySQL で作業してるときにうっかりオペミスしてしまったときの対処方法。
作業前にダンプ取ってて、作業終了後すぐにオペミスに気づいた場合は、そのダンプから戻せば良いですが、ダンプ取ったのが結構前だったとか、オペミスに気づいたのが時間をおいてからだったとかって時の復旧方法です。
前提条件として、以下の状況だった場合のみです。バイナリログを取ってない場合はあきらめましょう。
動画ファイルの配信だけ Web サーバ本体では無くて、別のサーバから配信したいけど WordPress とかいじりたくなかったので Nginx だけいじって対応しましたよってお話です。
いわゆるオレオレCDN( Nginxを使ったオレオレCDNの構築 )ですな。
構成的には上図のようになります。
要望的には html とか css, js, なんかは web サーバから配信したいんだけど、ネットワーク帯域を消費しまくる動画ファイル ( mp4, webm, ogv, flv… ) だけは別サーバで配信したい。
素早く対応したいから WordPress のプラグインとか作らないで、Nginx の設定だけで済ませたいって感じです。
どうやって実現したかというと…
続きを読む
気がついたら 1, 2 月はブログ書いてませんでした。
Amazon Linux 上の suexec のホームディレクトリを変更したくて rpm のソース取ってこようとしたんだけど yumdownloader
でソースを取って来ることができなかったんで、自分用のメモ。
Amazon Linux で rpm のソースを取ってくるには yumdownloader
ではなくて get_reference_source
コマンドを使うんですってよ奥さん。
参考: SIOS "OSSよろず" ブログ出張所: ソースの入手と再ビルド ~ Amazon Linux AMI (EC2) 編
注意: 上記 URL だと --aws-account-id=XXXX-XXXX-XXXX
っていうパラメータが必要って書いてあるけど、いまは要らないようです。
以下、手順
続きを読む
WordPress Advent Calendar 2013 全部オレ 20日目のできる限り俺です。
WordPress を運用するサーバでは、Nginx や Aapche などの Web サーバ、MySQL、fastcgi を使っているのならば php-fpm などのプロセスが稼働しています。
夜中だとか旅行中にこれらのプロセスが落ちてしまうとサイトに繋がらなくなってしまうこともあります。
そういった障害を検知し、復旧するための様々な障害検知を行うツールが存在するのですが、今回は Monit の紹介をしようと思います。
これはプロセスを監視して異常を検知したらメールを出したり、自動的に再起動したりしてくれる便利なツールです。
続きを読む
WordPress の管理画面を IP アドレスで制限することは Brute Force Attack に対して有効です。
たとえば Nginx を使っている場合、以下のような設定で許可された IP アドレス以外からのログインを拒否することができます。
server { location /wp-admin { allow 192.168.0.1; deny all; : } location = /wp-admin/admin-ajax.php { allow all; : } location = /wp-login.php { allow 192.168.0.1; deny all; : } }
また、IP アドレスによるログイン制限を行うプラグインもいくつかあるようです。
ただし、これらの方法だとリバースプロキシ配下のサーバの場合、期待した動作になりません。
# リバースプロキシサーバからは、実際にアクセスしてきたクライアントの IP アドレスは http ヘッダ X-Forwarded-For にセットされて来るため
そこで、簡単な PHP スクリプトを書いて対応しました。
続きを読む
WordPress で DB サーバを分散処理したいとか思ったことありませんか?
以前、MariaDB Galera Cluster を使って DB サーバをクラスター構成にする方法を解説しました。
しかし、ここではもっと簡単に MySQL のマスター/スレーブ構成によるレプリケーション機能を使って読み込み先と書き込み先の DB を分ける手法について解説します。
Amazon RDS のリードレプリカ機能を使えば、WordPress のプラグイン(正確にはドロップイン)を設置して、ちょっと設定するだけですが、ここでは一応 MySQL でマスター/スレーブ構成のレプリケーションする方法についても解説します。
構成は、上のアイキャッチのような感じです。
続きを読む
Vagrant 流行ってますね。
ローカル環境での WordPress の開発でも使用できるので、どんどん使用しましょう。
WordPress のローカル環境で Vagrant を使うのであれば 10up 社が提供してくれている Varying Vagrant Vagrants (VVV) を利用するのが便利です。
インストールするには、以下の URL を参考にすれば良いんですが、ついでなんでやりかた書いておきます。
10up/varying-vagrant-vagrants
前提として git が使用できるようになってないと何もできません。
Mac 環境であれば Xcode 入れて、Homebrew 入れて brew install git して git をインストールしておきましょう。
インストール方法は、そこら中に書いてあるので、ここでは割愛します。
Xcode インストールしただけでも git が付属していますが、Xcode 同梱の git は ver.1.7.x系と古いので、brew から git をインストールした方が幸せになれます。