複数DBに対応したCMS構築【その1】〜putty,lighttpd,PHP5〜

こんにちは。株式会社ガラパゴスweb-teamの[twitter:@yamaD_426]です。
ガラパゴス社では、[twitter:@k2w4t4h]が以前書いていたプライベートクラウドを用いて複数データベースに対応したCMSを開発しています。
そこで、仮想ubuntuサーバーをセットアップし、MySQL,PostgresSQL,Firebirdについての開発環境をubuntuで整えることとなったので、そのことについて書きたいと思います。


プライベートクラウド環境についてはこちら
VMware ESXiのプライベートクラウド環境を自作する【その1】 - スマートフォンアプリ開発会社のエンジニアブログ
VMware ESXiのプライベートクラウド環境を自作する【その2】 - スマートフォンアプリ開発会社のエンジニアブログ


今回私が行った環境構築は、

lighttpd
・PHP5
MySQL
・PostgresSQL
Firebird

でした。軽量かつ高速化を行いたいので、webサーバーはapacheではなくlighttpd+FastCGIを用いることとなりました。

仮想サーバーへの接続

ubuntu仮想サーバーに対して社内の他のPCから接続できないと開発に不便であるので、ネットワークを介して接続するために、puttyというsshが使えるソフトを使用します。
VMwareコンソールを利用してもよいのですが、各PCへのインストールが面倒であるのでここではputtyの利用に決定しました。
使用法ですが、まず、事前にubuntusshサーバーをインストールしておきます。

sudo apt-get install ssh

これでOKです。

次にputtyを起動し、hostnameに仮想サーバーのIPアドレスを入力します。
その後、あらかじめ決められたアカウント名とパスワードを入力して下図のような画面となれば仮想サーバーへの接続完了です。

以降は、このputty上でコマンドによって操作していくこととなります。

lighttpd,PHP5の連携

まずは、lighttpdとPHP5をインストールします。
puttyのコマンド上で、

sudo apt-get install lighttpd php5-cgi

これだけです。

その後、lighttpdとphp5を連携するために、以下のコマンドを実行します。

sudo lighty-enable-mod fastcgi
sudo lighty-enable-mod fastcgi-php
sudo service lighttpd force-reload

以上で連携は完了です。


エラー表示設定

この後は、いよいよデータベースとの連携を行っていくわけですが、3種類のデータベースに対応させるCMSですので、PHPとの連携がうまくいかずにエラーが出てしまうことがあるので、ここでエラー表示をOnにしておきましょう。

私は個人的にemacsが好きですので、emacsをインストールしました。

sudo apt-get install emacs23-common

これでemacsが使えます。

その後、

sudo emacs /etc/php5/cgi/php.ini

php.iniを開き、下図のように531行目くらいを、
display_errors = On
として完了です。


長くなりそうな雰囲気なので、3種のデータベースとの連携についてはまた後日書きたいと思います。
yamaD_426でした!