fluxflex上のWordpressをローカルのXAMPPで開発できるようにする

WordpressというCMS(コンテンツマネジメントシステム:Content Management System)があって
今までブログ用のツールかと思っていたら、ホームページの作成ができるようだ。

既存のテーマで格好いいページを作ることができて、
ホームページの更新なども簡単にできるらしい。

fluxflexというPaaSサービスでは、RedmineWordpress
クリックだけでインストールできる!という親切な作りになっている。

Fluxflex

日本人がアメリカで始めたベンチャー。すごいな!

fluxflexに登録

まずは、ユーザ、パスを入力して登録するか、TwitterFacebookの認証からユーザ登録。
無料プランで十分。

次に、プロジェクトを作成(このへんちょっと記憶が曖昧)。

そして、AppGarageからWordPress 3.2.1 (Japanese)のInstallボタンをクリック!

しばらくすると、プロジェクト名の横に「Available」と表示されるので、
インストール完了。これだけ。超簡単\(◎o◎)/

XAMPPをインストール

WordpressPHPで作られていて、サーバ上で開発してもいいのだが、
ローカルでも作業できるようにXAMPPをインストールする。

インストール手順は情報がいっぱいあるので省略。

fluxflex上のWordpressプロジェクトを自分のマシンに持ってくる

fluxflexでは、Gitを使ってファイルのアップロードができる。
つまり、自分のマシンから「git push」なんかすると、ファイルがアップロードされるのだろう。

これならいちいちFTPで繋いでアップロードとかしなくてもよくなるはず!
いや〜ステキだ。

そのための第一歩として、まずはfluxflex上のWordpressプロジェクトを自分のマシンにコピー(git clone)する。

fluxflexにgitで接続するため、ssh public key を登録

1.公開鍵情報を作成

以前、GitHub用に作成したSSH公開鍵を使って設定したら、git clone時にこんなエラーが。

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

なんで?と思ってよくよく見てみると、fluxflexで要求されているのはDSAの鍵(id_dsa.pub)で
GitHubの時作ったのはRSAの鍵(id_rsa.pub)だった。

DSAの鍵はないので以下のように作成

$ cd ~/.ssh/
$ ssh-keygen -t dsa

できたファイルを開いて内容をコピーしておく。

$ cat ~/.ssh/id_rsa.pub

2.fluxflexに登録

ユーザ管理画面の右上にある「Plan & Setting」をクリックし、
次の画面で左側にある「public key」をクリックする。

公開鍵情報を入力する画面が表示されるので、先ほどコピーした公開鍵情報を貼り付けて「Save」ボタンをクリック。

※コピーの時にファイルの中の文字列をきっちりコピーしないと
 fluxflexに登録するときにエラーになったので注意(´・ω・`)

3.リポジトリをクローンする

fluxflex上のファイルを自分のマシンに持ってくる。

Dashboardから自分で作ったプロジェクトを選択し、
「Setup」−「Git」をクリックする。

ここにGitのURLが載っているので、これを使用して以下のコマンドを実行

$ クローンを置くディレクトリに移動
$ git clone ssh://git@git.fluxflex.com:443/projectname

※projectnameには自分で作成したプロジェクト名が入る

エラーが出なければ成功。
このディレクトリの内容を編集し、今度はfluxflexにpushすればいいはず。

MySQLWordpress用のデータベースを作成

Wordpressが使用するDBを作成する必要があるので、以下のファイルをのぞいてみる。

先ほどcloneしたディレクトリのプロジェクトの中にある、Wordpressの設定ファイルを開く。
【projectname/public_html/wp-config.php

/** WordPress のためのデータベース名 */
define('DB_NAME', 'FLX_DB_NAME');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'FLX_DB_USER');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'FLX_DB_PASS');

/** MySQL のホスト名 */
define('DB_HOST', 'FLX_DB_HOST');

ここで、ホスト名を指定している「DB_HOST」の値が「FLX_DB_HOST」になっている。

XAMPPでこのままだと動かないので、ホスト名を「localhost」に書き換えておく。

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

それから、XAMPP上のMySQLに上記のユーザ名、パスワードでユーザを作成し、
空のDB「FLX_DB_NAME」を作成しておく。

ここまで問題なければ、ローカルのXAMPP上でWordpressが動く準備ができているはず。

http://localhost/projectname/public_html/などのURLにアクセスして、
Wordpressの初期設定画面が表示されたら成功。

gitで「wp-config.php」を無視する設定を行う

gitでfluxflexサーバに対して更新を行うときに
【projectname/public_html/wp-config.php】を更新すると、
localhost」の設定になってしまってfluxflex側でWordpressが動かなくなるので
更新をアップロードしないように無視する設定を行う。

【$HOME/.gitignore】

public_html/wp-config.php

それから、既存のキャッシュから除去。

$ git rm --cached public_html/wp-config.php

これで、一通り準備は終了。

変更内容をfluxflex上にコミット(アップロード)

変更内容をコミットしてfluxflex上にアップロードする。

手順は通常のgitコマンドでOK。

アップロードしてfluxflex上の内容を確認してみると、
テーマを初期テーマから変更しているのに変わっていない。

なぜ?と思って、いろいろ確認してみたが、
ここでMySQLのデータをコピーしていないことに気付く...(´・ω・`)

ファイルはgitで同期をとることができたが、
MySQLのデータはどうすればいいのだろうか?

大きな課題が残ったままだが、XAMPPでの開発準備はひとまず終了。