fluxflex上のWordpressをローカルのXAMPPで開発できるようにする
WordpressというCMS(コンテンツマネジメントシステム:Content Management System)があって
今までブログ用のツールかと思っていたら、ホームページの作成ができるようだ。
既存のテーマで格好いいページを作ることができて、
ホームページの更新なども簡単にできるらしい。
fluxflexというPaaSサービスでは、RedmineやWordpressが
クリックだけでインストールできる!という親切な作りになっている。
日本人がアメリカで始めたベンチャー。すごいな!
fluxflexに登録
まずは、ユーザ、パスを入力して登録するか、TwitterやFacebookの認証からユーザ登録。
無料プランで十分。
次に、プロジェクトを作成(このへんちょっと記憶が曖昧)。
そして、AppGarageからWordPress 3.2.1 (Japanese)のInstallボタンをクリック!
しばらくすると、プロジェクト名の横に「Available」と表示されるので、
インストール完了。これだけ。超簡単\(◎o◎)/
XAMPPをインストール
WordpressはPHPで作られていて、サーバ上で開発してもいいのだが、
ローカルでも作業できるように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すればいいはず。
MySQLにWordpress用のデータベースを作成
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
これで、一通り準備は終了。