カテゴリー別アーカイブ: ジャンル別

WordPress でデータ連係するときのスニペット

実は、今夏にSBクリエイティブさんから発売される予定の「WordPress Plugin 本(タイトル仮)」を宮さん西川さん三好さん達と書いてました。
宮さんはすでにリーク済みですね。
管理画面におけるエラーメッセージの表示 | firegoby

僕が担当したのは、17章目の「プラグインクックブック」がメインになります。
ここでは WordPress プラグイン作成時に使ってるコードをサンプルコードとして提示して、それを説明するって感じで書いてます。
編集の人にも「一部公開しても良いよー」って言われたので、一部を公開しますね。

続きを読む

GitLab

GitLab を Amazon Linux にインストールする

オープンソースの Git リポジトリ管理システム GitLab を Amazon Linux にインストールしたので、手順をメモ。
といっても、ほとんど以下の URL を参考にしたので、ここではインストール時に引っかかった注意点など
Amazon Linux 2013.09 に GitLab6.1 をインストール – OTメモ帳

ところで digitalcube って会社では、様々なプロダクトがインストール済みの AMI を AWS Marketplace で公開してるんだけど、ここでも GitLab が公開されてるから、インストールが面倒な人はそこから起動した方が良いと思うよ(ステマ)。
AWS Marketplace: Search Results

GitLab も、今日公開されたし – GitLab on AWS Marketplace
Marketplace 版の GitLab は、初期アカウントは admin@local.host でパスワードは起動したインスタンスのインスタンスIDになってます。
GitLab の起動に時間がかかるので、最初 503 ステータスが返ってくるかもだけど、ちょっと待ってから再試行すれば GitLab のログイン画面が表示されるので、試してみてください。

続きを読む

スクリーンショット(2014-03-20 20.24.45)

OSS版 fc2blog を Nginx で

いきなり fc2 ブログがソースを OSS として公開したらしいので Nginx + php-fpm で動かしてみました。
fc2blog/blog

実際に動かしてみたサイトがこれ
test.dogmap.jp

Nginx とか PHP とか入れるの面倒くさかったので、サーバは網元を流用。
以下、手順です。
続きを読む

Network Diagram

ストリーミングファイルだけ他のサーバから配信する

動画ファイルの配信だけ Web サーバ本体では無くて、別のサーバから配信したいけど WordPress とかいじりたくなかったので Nginx だけいじって対応しましたよってお話です。
いわゆるオレオレCDN( Nginxを使ったオレオレCDNの構築 )ですな。

構成的には上図のようになります。
要望的には html とか css, js, なんかは web サーバから配信したいんだけど、ネットワーク帯域を消費しまくる動画ファイル ( mp4, webm, ogv, flv ) だけは別サーバで配信したい。
素早く対応したいから WordPress のプラグインとか作らないで、Nginx の設定だけで済ませたいって感じです。

どうやって実現したかというと
続きを読む

Amazon Linux でのソースの入手と再ビルド

気がついたら 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 っていうパラメータが必要って書いてあるけど、いまは要らないようです。

以下、手順
続きを読む

2013年の人気記事トップ10

昨年一昨年 に引き続き、今年も dogmap.jp でこの1年で良く読んでもらった記事をあげてみます。
去年同様、ページビュー上位10記事だと1番アクセスがあったのは、去年どころか2009年のこの記事になっちゃうんですが、2013年に書いた記事と、去年のランキングに入っていない 2012年に書いた記事にしぼって10件ほど。
続きを読む

WordPress の管理画面を IP アドレスで制限する

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 with HyperDB

HyperDB でお手軽に WP の MySQL サーバを複数分散

WordPress で DB サーバを分散処理したいとか思ったことありませんか?
以前、MariaDB Galera Cluster を使って DB サーバをクラスター構成にする方法を解説しました。
しかし、ここではもっと簡単に MySQL のマスター/スレーブ構成によるレプリケーション機能を使って読み込み先と書き込み先の DB を分ける手法について解説します。
Amazon RDS のリードレプリカ機能を使えば、WordPress のプラグイン(正確にはドロップイン)を設置して、ちょっと設定するだけですが、ここでは一応 MySQL でマスター/スレーブ構成のレプリケーションする方法についても解説します。

構成は、上のアイキャッチのような感じです。
続きを読む

Varying Vagrant Vagrants で WP 開発環境を手に入れる

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 をインストールした方が幸せになれます。

続きを読む

「Google Maps Anywhere」から「Simple Map」へ移行

私の作ったプラグイン「Google Maps Anywhere」はメンテナンスを停止しています。
Google Maps API ver.2 までしか対応していないため、ver.3 に対応した「Simple Map」プラグインへの移行をお勧めします。
Simple Map の説明については、みやさんのブログを参考にしてください。
Simple Map – 超簡単&スマフォ対応のGoogle Map | firegoby

この二つのプラグインはショートコードで Google Maps を表示するという同機能を持っています。
パラメータに着いても互換性がありますが、ショートコードタグが異なりますので、過去記事に Google Maps Anywhere で埋め込まれたショートコードを書き換えてあげる必要があります。
続きを読む