投稿日:

PHPFog/AppFog と WordPress とファイル管理


以前の記事「PHPFog と WordPress とファイル管理」からのアップデートです。

WordPress は管理画面からサイト自体に様々なカスタマイズが行えることが特徴であり強みです。管理画面からテーマやプラグインをインストールすると、基本的に wp-contents 内に必要なファイルがダウンロードされて追加されます。PHPFog や AppFog などの環境上に WordPress をデプロイしてもこれは同様なのですが、実はちょっと困ったことがあります。

問題

PHPFog では、初期にデプロイされた後、WordPress の管理画面で行った変更については、git clone でも pull でも取得できません。AppFog もツールや方法は異なるものの同様です。つまり、最後に push(update)した変更しか取得することが出来ないわけで、そうなると当然ながら、テーマやプラグイン、また画像などのメディアファイルなど、WordPress の管理画面から追加されたファイルを手元に取得することが困難です。また取得が困難なだけでなく、手元のファイルをアップデートしてサーバーに push (update)しようものなら、それらのサーバーにしか無いデータが消えてしますことがあります。

解決策

プラグイン「BackWPup」を利用します。
http://wordpress.org/extend/plugins/backwpup/

BackWPup は、WordPress のデータベースの中身やファイル等の全てをバックアップできる強力なバックアップツールです。バックアップするファイルは、別の FTP サーバーはもちろん、DropBox、Amazon S3、Google Strage、MS Azure といった様々な媒体に転送できます。バックアップのセットアップもとても簡単です。

このプラグインを用いて、例えば、バックアップ先に DropBoxを指定してバックアップを実行させます。BackWPup の処理が完了し、しばらくしたら DropBox の中の指定したディレクトリにちゃんとバックアップファイルが転送されています。これを解凍して、手元の WordPress の wp-contents を更新し、改めて PHPFog や AppFog に push/update します。

以前の記事「PHPFog と WordPress とファイル管理」では、navphp というファイルエクスプローラ利用しましたが、それよりもずっと簡単に、しかも副次的に(?)サイトのバックアップまで取得できるので大変スマートな方法だと思います。

BackWPup のインストール

管理画面の「プラグイン」>「新規追加」から通常通りインストール、有効化してください。
「BackWPup」で検索できます。

ローカルの WordPress データを最新にするまでの流れ

  1. [BackWPup] > [Add New] から、新規 Job を追加する
    • 設定項目は大変多いですが、とりあえずほとんどデフォルトのままでOK
    • バックアップファイルの転送先のみ注意して入力する
  2. [BackWPup] > [Jobs] で Job 一覧を開いて、作成した Job を [Run Now] で実行する
  3. 指定したファイル転送先にファイルが転送されるので、ファイルを取得する
  4. ローカルの WordPress ファイルをアップデートして、サーバーに push/update する

 

 

以上です。

 

 

投稿日:

PHPFog と WordPress とファイル管理


[追記] 下記の方法より良い方法がありましたのでPHPFog/AppFog と WordPress とファイル管理 にて、紹介しています。

WordPress はその管理画面からサイト自体に様々なカスタマイズが行えることが特徴であり、強みです。それらのアップデートにおいては、主に wp-contents 内に必要なファイルがダウンロードされて追加されます。PHP Fog や DotCloud などの環境上に WordPress をデプロイしてもこれは同様なのですが、実はちょっと困ったことがあります。

問題

PHP Fog では、初期にデプロイされた後、WordPress の管理画面で行った変更については、git clone でも pull でも取得できないのです(わたしが知る限りなので、どなたか良い方法を知ってたら教えてください)。つまり、WordPress の管理画面から行った変更は、Git の管理下に無い、ということなのでしょうね。まあ、当たり前と言えば、当たり前なのですが、それを PHP Fog 上の master に commit する手段を、私はとうとう見つけることができませんでした。

解決策

管理画面からの変更は git clone でも pull でも取得できないのであれば、別の方法で取得するしかありません。とてもスマートとは言い難いのですが、私は  navphp というファイルエクスプローラをサーバー上に配置することで解決しました。手順は至って簡単でした。

navphp の設置方法

  1. navphp をダウンロード
  2. PHP Fog から git clone したリポジトリのルートに、navphp の zip を展開して配置
  3. navphp の、config.php を開き、$user と $passwd を自分用に設定

navphp でファイルを取得し、ローカルの WordPress データを最新にする

  1. navphp の管理画面にログインする。
  2. ファイルの一覧が表示されるので、WordPress 上の必要なリソースをダウンロードする
    • ダウンロードは、ファイル名/フォルダ名部分をクリックする
    • フォルダは zip されてダウンロードされるので、ダウンロード後に zip を解凍す る
  3. ダウンロードしたファイルで、ローカルのリポジトリを上書きする

 

以上の手順で、何か管理画面で変更を行った際には、手元のデータを最新にして、関連した変更をローカルリポジトリで行っていくことができます。例えば、管理画面でテーマをインストールし、その子テーマを作りたいときには、手元に親テーマのデータを持ってないと困ると思いまし、いずれにせよ、手元のリポジトリが最新で無いというのは、なんというか不安なものですね。

なお、この方法は dotCloud などの同じような課題のある PaaS 環境でも同じようにできる筈です。

 

投稿日:

PHP Fog の WordPress の日本語化

eyecatch-phpfog

WordPress の検証には PHP Fog さんのサービスを利用させて頂いています。簡単に扱えて、WordPress セットアップもボタンを押すだけの2ステップ程度。かつ「無料」です。ボタン一つでサイトを破棄して、そしてまた簡単に新しくサイトを作ることも出来ます。検証用にはうってつけです。

その PHP Fog でセットアップした WordPress ですが、困った事に英語環境になっています。しばらくは気にせず使っていましたが、勉強会などのスライドに載せるスクリーンキャプチャが英語版の画面なのは、なんと無く切ない…。そこで、日本語化をやってみました。

手順は、Gitを使っている方だったら、非常に簡単で、以下の通りです。環境は WordPress 3.4.1です。

§

1. PHP Fog の App Console から、Git で clone する URL を拾ってくる。↓写真の赤枠のところです。

2. ローカルのファイルを置きたい場所に移動して、git clone でローカルにリポジトリを作ります。

3. ローカルリポジトリのディレクトリがアプリケーション名で作成されるので、その中に移動します。移動した先がそのままアプリケーションのルートディレクトリで、また WordPress のファイルも配置されています。

4. wp-config.php を開いて、WPLANG の定数定義を ja に変更します。

5. 次に、日本語のリソースファイルをダウンロードします。wp-content の中に languages フォルダを作成して、その中へ移動します。

6. WordPress の日本語リソースファイルを、WordPress の ja リポジトリから落としてきます。ちなみに、私が確認したときは、3.4.x 用のリソースが見当たらなかったので、とりあえず 3.3 用を使いました。

7. アプリケーションのルートディレクトリに上って、ファイルの追加と変更を Git にコミットし、最後に push します。

以上のような流れです。ネット上で「上手く出来ない」的な記事も見られますが、とりあえず私は問題無かったですね。いくつかの参照URLでは、落としてくる日本語リソースのファイルが違ってたりしているので、そのせいかも知れません。私はとりあえず、あったものをみんなダウンロードして入れました。

投稿日:

phpfog に git で接続する

eyecatch-phpfog

phpfog に git で接続します。…というかこれが出来ないと、phpfog では何も出来ないっぽいですから誰しもがやるし、それにぜんぜん難しくも無いことですが、例によってやっぱりちょっとつまづいたので、以下、メモを残しておきます。環境は MacOS X Lion です。

Public key の作成とコピー

まずは、ssh 接続の為の公開鍵の作成です。

phpfog の ssh key 登録画面にある、「Learn how to create a key>」の先の説明書の手順を参考にしつつ、以下のコマンドで作成しました。

ここで、ssh-keygen に -C オプションで phpfog に登録しているメールアドレスを指定しています。
また、key のファイル名はデフォルトで僕は OK なので、そのまま [enter] しました。

これで、id_rsa および id_rsa.pub のキーファイルが作成されました。

次に、公開鍵の id_rsa.pub を次のコマンドでクリップボードにコピーします。

これでクリップボードにコピーされます。

余談ですが、実は最初、vim で開いて範囲選択してコピーしてたのですが、その後の行程が何だか上手くいかず、選択が悪かったのかも知れませんが、とりあえず上記の方法は確実で、安心です。

phpfog へのキーの登録

さて、phpfog への公開鍵の登録です。

phpfog の管理画面で MY ACCOUNT > SSH Keys にアクセスします。

Nickname は誰のどんな接続用のキーか分かるようなラベルです。適当で OK です。

Public Key は上で作成してコピーした内容です。そのままペーストしてください。

最後に [Save SSH Key] で登録完了です。

成功したら、以下のような画面になると思います。

git で接続する

phpfog 上のアプリケーションをローカルに clone します。
プロジェクトディレクトを作成するロケーションまで cd して、以下のコマンド実行です。

ここで、git@git01…. の文字列は、php fog のアプリケーションコンソールの右上に表示される文字列です。

以上で、無事 clone できました。