オープンのグループウェアのLa!cooda WIZを、お客様に頼まれましてインストールしました。今回は、Joe’sウェブホスティングのレンタルサーバーにインストールします。
La!cooda WIZをダウンロードしてインストールページを読んでみましたら、インストールスクリプトでPostgreSQLの管理者権限が必要であることが書いてありました。しかし、今回のインストール先はレンタルサーバーですので、スクリプト(postgres.sh)を解析して、手作業でインストールしました。これが苦難のはじまりです。DBの dropを5回以上繰り返して、ようやくインストールできました。ここにその記録を参考までに載せておきます。
まずは、La!cooda WIZ用のデータベースを作成しておきます。これは、レンタルサーバーのコントロールパネルから行いました。そして、アクセス用のPostgreSQLのIDを作って、データベースにアサインしておきます。ここまでは、コントロールパネルで簡単です。
次に、La!cooda WIZのインストールファイルから、wiz.tar.gzを取り出して、Webで公開されているディレクトリに展開します。そのままDocumentRootに/wizで展開します。そのとき、/wiz/filesは書き込み権限が必要です。
Joe’sウェブホスティングのサーバーは、WebサーバーからはPostgreSQLサーバーにTCP/IP経由では接続できないので、UNIXドメインソケット経由で接続するように、La!cooda WIZのデータベース接続処理を変更します。
/wiz/class/DBConnectPgsql.phpを
$connectionString = “host=$this->hostName port=$this->portNo dbname=$this->dbName user=$this->userName password=$this->password”;
となっているところ(実際は1行)を、
$connectionString = “dbname=$this->dbName user=$this->userName password=$this->password”;
のように修正します。
DBのアクセスするための定義ファイルを設定します。/wiz/gw.phpを次の通りに修正します。
$masterdb = “DB名”;
$db_user = “DBユーザーID”;
$db_password = “DBパスワード”;
$_ROOT_DIR_ = “インストールしたディレクトリ”;
$_ROOT_URL_ = “アクセスするURL”;
最後にテーブルの生成と初期データの投入です。テーブル生成スクリプトcreateDbForPgSQL.sqlの1行目の
connect - postgres
を
– connect - postgres
にしてコメントにします。それから、次のようにスクリプトを動かします。
sed “s/nobody/<DBユーザーID>/g” <ルートからのディレクトリ>/createDbForPgSQL.sql | psql -U <DBユーザーID> -e <DB名>
ここで、DBユーザーに対するパスワードを聞いてきます。
以上のコマンドは、createDbForPgSQL.sql内のnobodyと定義している部分を、DBにアクセスするユーザーIDに置換して、そのスクリプトをDBユーザーでアクセスしたDBにテーブルを生成して、初期データを作成しています。これはインストールスクリプトを抜粋して修正したものです。
以上で、La!cooda WIZにアクセスできます。