グループウェアーWIZのインストール

WIZは、フリーのグループウェアーである。フリーのグループウェアーにはGsessionもあるがWIZは高 機能であり、特に文書管理機能を有しているところが大きな特徴である。また、最近登場したこともありバージョンアップも期待できそうである。

 WIZの動作には、PostgreSQL、PHP4、Apacheが必要であり、かつTurbolinuxなどに標準で含まれているrpmによるインス トールできなくソースからのインストールを推奨している。
 試しにTurbolinux DeskTop10にインストールしてみたので以下に紹介する。


○PostgreSQL のインストール

■PostgreSQLって何?
PostgreSQLは、オープンソースでフリーな高機能データベースソフトです。商 用のデータベースに全くヒケを取らない安定性、機能を持っており、非 常に 人気があります。
「PostgreSQL」の読み方ですが、「ポストグレス」「ポストグレエスキューエル」「ポストグレスキューエル」 と人によって様々です。
同じオープンソースのデータベースソフトには「MySQL」があります。

■ どうやって導入するの?
RedhatやTurbolinuxの場合は、RPMという非常に便利なソフトの管理 方法がありますが、他のディストリビューションには使えないので、今 回は別の方法で導入します。
まずはRootでログインし、 PostgreSQL用のグループとユーザーアカウントを作成します。今回はどちらも「postgres」という名前にします。
# groupadd postgres
# useradd postgres -g postgres -d /home/postgres
# passwd postgres
  PostgreSQLの実行ファイルを置くディレクトリを作成します。
# mkdir /usr/local/pgsql
# chown postgres.postgres /usr/local/pgsql
ダウンロードしたPostgreSQLのソースファイルを/usr/local/srcディレクトリに展開します。
ソースファイルは、FTPで適当なディレクトリにあらかじめアップしておきます。
# mkdir /usr/local/src
# cd /usr/local/src
# tar xfz /ソースファイルのディレクトリ/postgresql-7.3.5.tar.gz
展開されたソースのオーナーをpostgresに変更し、suコマンドでpostgresになります。
# chown -R postgres.postgres postgresql-7.3.5
# su - postgres
展開したPostgreSQLのディレクトリに移動します。
$ cd /usr/local/src/postgresql-7.3.5
環境に合わせた設定を行う為、configureスクリプトを使います。
configure時にエラーが出る場合は、PostgreSQLのコンパイルに必要なファイルが揃っていない可能性があります。
(syslog出力オプションを付与しておくことをお勧めします。)
$ ./configure --enable-multibyte=EUC_JP --enable-syslog
ソースをコンパイルし、インストールします。
コンパイルできなかった場合、コンパイラが入っていない可能性があります。
$ make clean
$ make all
$ make install
PostgreSQLを動作させるには、postgresユーザの環境変数を設定する必要があります。
ホームディレクトリで.bash_profileを開き、以下を追加します。
export PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
sourceコマンドで、.bash_profileを再読み込みします。
$ source .bash_profile
データベースを初期化します。
$ initdb
postgresql.confの設定を行います。postgresql.conf は initdb で作成される。
$ vi /usr/local/pgsql/data/postgresql.conf
以下のように修正します。
silent_mode = false
silent_mode = on

tcpip_socket = false
tcpip_socket = on

行頭に#が付いている場合は、忘れずに外してください。
PostgreSQLのデーモンプロセス、postmasterを起動します。
$ pg_ctl -w start
Apacheの実行ユーザであるnobodyを、PostgreSQLユーザとして登録します。
「新しいユーザにデータベース作成を許可しますか?」「新しいユーザにユーザ作成を許可しますか?」という質問がされますが、どちらもNo(n)と答えま す。
$ createuser nobody


○Apacheのインストール
■ どうやって導入するの?
ダウンロードしたApacheのソースファイルを/usr/local/srcディレ クトリに展開します。
ソースファイルは、FTPで適当なディレクトリにあらかじめアップしておきます。
# mkdir /usr/local/src
# cd /usr/local/src
# tar xfz /ソースファイルのディレクトリ/apache_1.3.22.tar.gz
展開したApacheのソースディレクトリに移動します。
# cd /usr/local/src/apache_1.3.22
La!Cooda WIZではDynamic Shared Objects(動的にモジュールを組み込み、機能を追加することができる)が必要ですので、configureスクリプトをDSOを有効にする設定で実 行します。
# OPTIM="-O2" ./configure --enable-module=so
Apacheのソースをコンパイルし、インストールします。
$ make clean
$ make all
$ make install
/usr/local/apache/conf/httpd.conf の設定

PostgreSQLアクセスのためのライブラリであるlibpqをロードするよう設定します。
LoadModule php4_module libexec/libphp4.so
LoadFile /usr/local/pgsql/lib/libpq.so
LoadModule php4_module libexec/libphp4.so
  PHPのMIMEタイプを宣言している次の行のコメントを外します。
#AddType application/x-httpd-php .php
AddType application/x-httpd-php .php
DirectoryIndexを設定します。
DirectoryIndex index.html
  ↓
DirectoryIndex index.html index.php


PHP4のインストール
■どうやって導入するの?
ダウンロードしたPHPのソースファイルを/usr/local/srcディレクトリ に展開します。
ソースファイルは、FTPで適当なディレクトリにあらかじめアップしておきます。
#cd /usr/local/src
#tar zxf /ソースファイルのディレクトリ/php-4.0.6.tar.gz
展開したPHPのソースディレクトリに移動します。
#cd /usr/local/src/php-4.0.6
環境に合わせた設定を行う為、configureスクリプトを使います。
今回、Webmail機能は使用しないので、--with-imap=/usr/localオプションは外して実行します。
※実際は改行せずに入力します。
#rm configure
#./buildconf
#./configure --enable-mbstring --enable-mbstr-enc-trans --with-pgsql=/usr/local/pgsql
--enable-track-vars --with-apxs=/usr/local/apache/bin/apxs --without-gd --enable-trans-sid
ソースをコンパイルし、インストールします。
$make install
PHPの設定ファイルを作成します。
「php.ini-dist」というファイルを「php.ini」にリネームし、/usr/local/libにコピーします。
作成しなくともデフォルト状態で動作しますが、細かい設定を行う場合必要になります。
#cp php.ini-dist /usr/local/lib/php.ini


■ログ設定
インストールも完了し、php.iniも作成しました。

register_globalsのところを変更します。(PHP 4.2.x 以降の場合)

register_globals の変更はセキュリティ上の問題がありますので、php.ini の設定についてをお読みになった上で変更を行い、La!cooda WIZ をお使いください。

変更前
register_globals = Off


変更後
register_globals = On


mbstringのところを変更します。コメント記号( ; )を外します。
青字は、PHP 4.3.0 で追加されたパラメータです。


変更前
[mbstring]
;mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.encoding_translation = Off
;mbstring.detect_order = auto
;mbstring.substitute_character = none;



変更後
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;


透過的にセッション IDを付加する設定をします。

変更前
session.use_trans_sid = 0


変更後
session.use_trans_sid = 1


最後にphp.iniにエラーログを吐き出すための設定を施しておきます。

# cd /usr/local/lib/php.ini
# vi php.ini

以下の項目がこのようになっているかチェックし、なっていなければ修正します。

error_reporting = E_ALL & ~E_NOTICE
display_startup_errors = Off
display_errors = Off
log_errors = On
error_log = /var/log/php
;error_log = syslog

各項目の意味は、上から順番に以下のとおりです。
  • notice以外をログとして出力する
  • PHPスタートアップ時のエラーを表示しない
  • エラーを画面に表示しない
  • エラーログを出力する
  • エラーログは/var/log/phpである
    nobodyユーザに書き込み権限があるか要確認
  • syslogにログを残さない


  • ○WIZのインストール
    ■WIZのインストール
    ダウンロードしたWIZのソースファイル wiz_linux.tar.gz を、/usr/local/srcディレクトリに展開します。 
    # cd /usr/local/src
    # tar zxf /ソースファイルのディレクトリ/wiz-linux.tar.gz
    # cd wiz
       suコマンドでpostgresユーザーになり、postgres.shスクリプトを実行します。
     ※PostgreSQLが起動していない場合、エラーとなります。
    # su - postgres
    $ cd /usr/local/src/wiz
    $ ./postgres.sh
     すると以下のメッセージが表示され、WIZで使用するデータベースの名前を聞いてきます。
     ここにはmastersと入力します。
    Name your database.(default:masters)->
     次に、以下のメッセージが表示され、Wizで使用するデータベースに接続
     するユーザ名を聞いてきます。デフォルトでは nobody と入力します。
    Name database username.(default:nobody) ->
       rootに戻り、root.shスクリプトを実行します。
    $ exit
    # ./root.sh
     すると以下のメッセージが表示され、Apacheのドキュメントルートの場所を聞いてきます。
     ここは、デフォルトならば /usr/local/apache/htdocs と入力します。
     RPMパッケージのApacheを使用している場合は、/var/www/htmlになります。
    Where is DocumentRoot of Apache? ->
     ここから先は、バージョン1.0.1以降 のみ入力します。
     次に、以下のメッセージが表示され、サーバの名前を聞いてきます。
     Wiz をインストールするマシン名、またはIPアドレスを入力します。
     デフォルトは localhost です。
     ここでは、gw.php の $_ROOT_URL_ を書き換えます。
    What is your server name?(default:localhost) ->
     次に、以下のメッセージが表示され、Apache のユーザ名を聞いてきます。
     デフォルトは nobody です。  ここでは、wizフォルダのオーナーとグループを設定します。
     RPMパッケージのApacheを使用している場合は、apacheになります。
    Name httpd username.(default:nobody) ->
     最後に、以下のメッセージが表示され、Wiz で使用するデータベースに接続する
     ユーザ名を聞いてきます。デフォルトは nobody です。
     特に変更が無ければEnterキーを押下します。
     ここでは、gw.php の $db_user を書き換えます。
    Name database username.(default:nobody) ->

     以上で、WIZのインストールは完了です。

    ■環境設定ファイルの編集

    gw.phpの編集
    /usr/local/apache/htdocs/wiz/gw.phpを適宜、環境に合わせて編集します。

    $host データベースのサーバー名です。 Webサーバーとデータベースが同じPCにある場合、 localhost と設定してください。
    普通はこれでOKです。
    $masterdb WIZで使用するデータベースの名前です。 デフォルト(masters)でOKです。
    $db_user データベースに接続するユーザー名です。 デフォルト(nobody)でOKです。
    $db_password データベースに接続するユーザーのパスワードです。 デフォルト(空欄)でOKです。
    $db_port データベースに接続するポート番号です。 デフォルト(5432)でOKです。
    $admin WIZ管理者のメールアドレスです。 任意のメールアドレスを設定してください。
    $maxfilesize ファイルをアップロードする際の最大ファイサイズです。 デフォルト(5242880)でOKです。
    ※5MBです。
    upload_max_filesize = 2M
    $hostname メール通知用URLのホスト名 デフォルト localhost
    WIZをインストールしたマシンのIPアドレスもしくはDNSで名前解決できるならFQDNを設定します。
    $db_type DB種類 デフォルト Linuxは PostgreSQL、Windowsは MySQL
    $os_type OS種類 デフォルト Linuxは Linux、Windowsは Windows
    $savefile_path 共有ファイル保存先 WIZの内部ルートディレクトリからの相対パスで指定します。デフォルト ./files/
    $_ROOT_DIR_ WIZの内部ルートディレクトリ デフォルト Linuxは /usr/local/apache/htdocs/wiz/ Windowsは C:/Program Files/Apache Group/Apache/htdocs/wiz/
    $_ROOT_URL_ WIZの外部ルートディレクトリ

    デフォルト http://localhost/wiz/

    WIZをインストールしたマシンのIPアドレスもしくはDNSで名前解決できるならFQDNを忘れずに設定します。

    クライアントからアクセスできるURLを設定する必要があります。
    今回はhttp: //192.168.0.30/wiz/
    設定例 その1
    http://192.168.0.1/wiz/
    設定例 その2
    http://www.example.com/wiz/

    ■WIZの使用
    ■Webブラウザから、以下のアドレスにアクセスします。
    wizは小文字で入力して下さい。

    http://WIZをインストールしたマシンのIPアドレス/wiz/

    初期管理者のユーザIDは admin、パスワードは wiz=0yen です。これで、ログインできます。

    ■管理者パスワードの変更

    ログインできたら、管理者パスワードを変更しましょう。
    左のナビゲーションから、パスワード変更をクリックします。
    社員番号欄の、初期管理者を選択し新しいパスワードを2回入力し、変更ボタンを押します。

    WIZ初期画面