導入から15分以内で運用開始
グループウエア──今ではこの言葉は説明の必要がないほど一般化している。大中規模の企業では既に導入しているところも多いだろう。 La!cooda WIZの導入 LAMPの環境を用意するLa!cooda WIZ(http://wiz.syscon.co.jp/)は,前述した通りオープンソースのWebベースのグループウエアである。グループウエアに必要な11種類の機能(有償オプションで12種類)を備える。Windows版とLinux版の2種類が配布されている。Linux版は,Webサーバー・ソフト「Apache」とスクリプト言語「PHP」,リレーショナル・データベース管理システム(RDBMS)「PostgreSQL」あるいは「MySQL」がインストールされている環境で動作する。一方,Windows版は,ApacheとPHP,MySQLがインストール されている環境で動作する。 インストール前の環境構築 前述の通り,L i n u x 版のL a ! c o o d a WIZが対応するRDBMSはPostgreSQLとMySQLである。日本では,オープンソースのRDBMSと言えばPostgreSQLが有名だが,最近ではMySQLも多くのシステムで利用されるようになってきている。また,大手のE C サイトでも MySQLを採用する事例が増え,日本国内での認知度も高くなってきている。 MySQLは他のRDBMSに比べて機能面で若干足りない部分があったが,バージョン4.1では副問い合わせが実装され,バージョン5.0では,ストアド・プロシージャやトリガー,ビューといった機能が実装される予定だ。これにより,RDBMSに必要な機能はほぼそろうことになるだろう。 そこで,本特集では急速にシェアを伸ばしつつあるMySQLを用いることにした。 (1)Linux OSの導入 本記事では,2004年5月29日に公開された無償のLinuxディストリビューション「Fedora Core2」を使用する。 まず,Fedora Core2をインストールしたサーバーを用意する。インストール手順は,日経Linux2004年7月号の「インストール完全ガイド」(p.156-163)を参考にされたい。なお,筆者は「インストールの種類」で「カスタム(C)」を選択し,「ファイヤーウォールの設定」で「ファイアウォールなし(O)」にチェックを付け,「パッケージグループの選択」で表2に示したパッケージを選択してインストールを実施した。 インストールが完了したら,yumコマンドで最新のパッケージに更新しておこう。なお,デフォルトで設定されているサイトではダウンロード速度が遅く,更新に時間がかかる。そこで,図1のように国内にあるミラー・サイトに/etc/yum.confファイルを書き換えることをお勧めする。 図1 /etc/yum.confファイルの更新個所
パッケージの更新手順は次の通り。まず,ターミナルからroot権限で「yum check-update」のコマンドを実行すると更新ファイルの有無が確認できる。確認できたら「yum update」のコマンドでパッケージをアップデートする。
更新パッケージのリストが表示され,最後に更新確認メッセージが表示されるので「y」を入力する。
これで最新のパッケージに更新される。更新された最新のパッケージに切り替わるようにシステムを再起動しておく。 (2)MySQLの導入 ApacheとPHPは,Fedora Core2が提供しているパッケージをそのまま用いる。しかし,MySQLだけはFedora Core2に含まれているパッケージのバージョンが3.23と少々古い。そこで,より新しいバージョンの4.0系を入手し,導入することにした。 MySQLは,ソフトエージェンシーのミラー・サイト(http://www.softagency.co.jp/MySQL/downloads/mysql/4.0.html)などから,3つのRPMパッケージをダウンロードして導入する。 図2 MySQLの入手・導入
MySQLのインストールが完了したら,PHPからMySQLにアクセスするために必要なphp-mysqlパッケージをインストールする。
図3 La!cooda WIZに必要なパッケージを確認する
(3)PHPに関する設定 /etc/php.iniファイルに必要な設定を施すだけだ。しかし,一つ間違えると文字化けを起こしたり,ファイルのアップロードができなかったりする。ここでの設定ミスが原因のトラブルが一番多いので,注意して実施していただきたい。 /etc/php.iniファイルの変更個所は図4の通り。なお,一部デフォルト設定のままでよい個所もある。 図4 PHPの設定ファイル(/etc/php.ini)の変更個所
最後に,エラー・ログを書き込むファイル(/var/log/php)を作成し,Apacheのプロセスから書き込み可能になるようにパーミッションを設定する。
(4)Apacheに関する設定 Fedore Core2のApacheでは,デフォルトの文字コードが「UTF-8」になっている。この設定は,HTTPヘッダー内のContent-Languageフィールドに書き込まれ,設定した文字コードと異なる文字コードを使用したWebコンテンツの場合には文字化けの原因になる。無効にしておくとよい。 無効にするには,/etc/httpd/conf/httpd.confファイルの767行目,
書き換えたら,念のため文法のチェックをする。
「Syntax OK」が表示されれば問題ない。最後に変更した設定を読み込ませるために,Webサーバーを起動(または再起動)する。
なお,筆者と同様の手順でFedora C o r e 2 をインストールした場合には,Apacheがシステム起動時に起動されない。自動起動するには,
を実行しておく。 (5)MySQLに関する設定 MySQLをインストールすると,MySQLのデーモンが起動する。その際,/var/lib/mysql ディレクトリ内には,データベース・エンジンが使うデータ・ファイルやログ・ファイル,初期データベース(図5)も作成される。さらに,システム起動時にMySQLを自動起動する設定も行われる。 図5 インストール時に作成されるデータベース 「mysql」と「test」というデータベースが作成される。
このままでもすぐに使えるわけだが,データベース管理者のパスワードの設定と,デフォルトの文字コード設定などを含む設定ファイルを作成しておこう。 ●DB管理者のパスワード設定 MySQLをインストールした際に表示されたように,データベース管理者(デフォルトでは「root」)のパスワードの設定が必要だ。設定しないと,パスワードなしでデータベースに接続できてしまうことになる。同様の理由で匿名ユーザーも削除しておく。手順は図6の通り。 ●設定ファイルの作成 MySQLをインストールした時点では,設定ファイル(/etc/my.cnf)が存在しない。存在しない場合,MySQL自身が持つデフォルトの設定で動作している。 設定ファイルを作成するには,/usr/share/mysqlディレクトリ配下のテンプレート・ファイルを利用するとよい。「myhuge.cnf」と「my-large.cnf」「my-medium.cnf」「my-small.cnf」のデータベースの規模に合わせた4種類のファイルが用意されている。 自分の利用する環境に合わせて,そのテンプレートをコピーして使おう。ちなみに,筆者はmy-medium.cnfファイルを選んだ。
コピーしたら,〔mysqld〕セクションに次の1行を追加する。
これでデフォルトの文字コードが日本語EUCに設定される。最後にMySQLを再起動し,設定を反映させる。
La!cooda WIZの導入 「http://wiz.syscon.co.jp/License.htm」のWebページから入手に必要な手順を踏み,La!cooda WIZのソース・アーカイブ(wiz_linux_1.3.2.tar.gz)をダウンロードし,/usr/local/srcディレクトリに保存する。早速,保存したソース・アーカイブを展開しよう。
次に,wizディレクトリ内にあるデータベース作成スクリプト( c r e a t e D bForMySQL4.sql)を,MySQLクライアント・ソフト(mysql)から実行し,La!cooda WIZの動作に必要なデータベースとテーブルを作成する。
以上で,データベース利用者が「nobody」のデータベース「masters」が作成された。データベースを作成したら,root.shスクリプトを実行する。
実行するとまず,Apacheのドキュメント・ルートの位置の入力を促すメッセージが表示される。Fedora Core2のApacheのドキュメント・ルートは「/var/www/html」であるため,それを入力する。
次のメッセージが表示されたら,La!cooda WIZをインストールするマシン名(またはIPアドレス)を入力する。デフォルトは「localhost」であり,通常はデフォルトで構わない。
その次には,Apacheのプロセスを実行するユーザー名の入力を促すメッセージが表示される。デフォルトは「nobody」だが,Fedora Core2のApacheの設定に合わせて「apache」と入力する。
最後に,データベースに接続するユーザー名を入力する。先ほど作成したデータベース「masters」の利用者は「nobody」であるため,デフォルト設定のままでよい。
La!cooda WIZのインストールが実行され,図7のバナーが表示されるとインストールが完了する。 図7 La!cooda WIZのインストールが完了した際のメッセージ
インストールが完了したら,La!cooda WIZの設定ファイル(/var/www/html/wiz/gw.php)の2カ所を書き換える。 (1)MySQLの設定 初期状態では,RDBMSにPostgreSQLを使用するように設定されている。これをMySQLに変更しなければならない。 gw.phpファイルの6行目と10行目を,
のように書き換える。 (2)アクセスするURLの設定 外部に公開するサーバーであれば,社内LANからアクセスするURLと外部からアクセスするURLが違うことが多いだろう。そのようなネットワーク環境に対応するためには,gw.phpファイルの14行目を,
のように書き換える。これで,getenv関数によってホスト名を取得し,アクセス環境に合わせたURLが設定できる。 La!cooda WIZの初期設定 ユーザーの一括登録早速,WebブラウザからLa!coodaWIZ にアクセスして動作確認をしてみよう。Webブラウザのアドレス・バー(ロケーション・バー)に「http://インストールしたサーバーのホスト名またはIPアドレス/wiz/」を指定する。 認証ダイアログが表示されたら,「ユーザー名(U)」に「admin」を,「パスワード(P)」に「wiz=0yen」を入力する。 La!cooda WIZが正しく導入されていれば,初期状態の画面が表示される。 もし,認証ダイアログや初期画面が正しく表示しない場合には, 別掲記事「導入に関するトラブル」を参考にしていただきたい。 La!cooda WIZの起動に成功したら,あとは社員(利用者)を登録すれば,とりあえず運用を開始できる。 La!cooda WIZには,フォーム入力により社員の情報を登録できる機能が備わっているが,社員数が50名を超えてくると1人ずつ登録するのは面倒であり,スムーズに運用を開始できない。 そこであらかじめ,社員の情報を登録したファイルを用意して,それをデータベースにインポートし,即座に運用を開始できる方法を紹介しよう。 (1)部門と就業形態データ作成・登録 まず社員データをインポートする前に,部門情報と就業形態情報を登録しておかなければならない。 登録するファイルのフォーマットはそれぞれ,連番(部門コード)と部門名称,連番(就業形態コード)と就業形態名称のシンプルなものだ。そして,登録したいデータをすべてタブ区切りテキストで作成する。 図8に示したファイルが,部門情報登録用のデータであり,図9が就業形態情報登録用のデータである。連番の開始番号が「2」から始まっている理由は,既に部門「総務部」と就業形態「正社員」が登録されているためだ。 これらは,初期管理者の外部キーになっているため,削除できない。もし名前を変更したい場合は,登録後にWebブラウザ経由で実施しよう。 ファイルが作成できたら,MySQL付属のユーティリティ・ソフト「mysqlimport」を用いて,データベースの該当するテーブルにインポートする(図10) 図10 部門情報登録用のデータと就業形態情報登録用のデータをデータベースにインポート
部門情報はdivisionテーブル,就業形態はmst_typeテーブルに登録する。なお,作成したファイルの文字コードがシフトJISであれば,nkfコマンドを使って,
のように日本語EUCに変換して,変換したファイル( division_euc.tsv,mst_type_euc.tsv)をインポートする。 また,連番はserialnumberテーブルで管理されている。直接データをインポートした場合には,このserialnumberテーブルで管理するカウンタ値を更新する必要がある。データのインポートが完了したら,使用した連番に1を足した値で更新するSQL(図11)を実行する。 図11 serialnumberテーブルの更新(serial_update.sgl)
(2)社員データの作成・登録 社員データの登録に必要な属性と値の制限は表3に示した。「○」を付けた項目は入力不可欠なものだ。なお,社員データを作成する際の注意点や登録時の問題点を図12にまとめた。 表3 社員データの登録に必要な属性と値の制限
図12 社員データを作成する際の注意点や登録時の問題点
また,登録する社員データは大量になるだろうから,Microsoft Excelの表計算ソフトで作成し,タブ区切りテキスト形式で保存して用いるとよい。 社員データ(図13)の作成が完了したら,employeeテーブルにインポートする(図14)。なお,whiteboardテーブルにもemployeeテーブルと同じレコードが必要なので,インポートに成功した後に同じレコードを作成するSQL(図15)を発行しておく
図13 社員データ(employee.tsv)
図14 社員データをデータベースにインポート
図15 whiteboardテーブルにもemployeeテーブルと同じレコードを作成(whiteboard_sync.sql)
登録に失敗したときは,直接データベースを操作する必要がある。その場合,WebブラウザからMySQLを操作するGUIツール「phpMyAdmin」などを用いると便利だ。別掲記事「phpMyAdminの導入」にphphMyAdminの導入方法を記したので参考にされたい。 社員データは登録されたが,上司・部下の設定や各機能に関する設定も運用前に施す必要がある。これらの初期設定に関しては,「WebグループウエアLa!cooda WIZ 初期設定ガイド」(http://wiz.syscon.co.jp/SyokiGuide.html)を参照するとよいだろう。 導入に関するトラブル認証ダイアログや初期画面が正しく表示されない場合,Webブラウザに表示される情報とログ・ファイルに記録される情報から原因を特定できる。ログはそれぞれ,Apacheは「/etc/httpd/logs/error_log」に,PHPは(php.iniで指定した)「/var/log/php」に,MySQLは「/var/lib/mysql/ホスト名.err」に書き込まれている。【トラブル1】 「データベース接続に失敗しました」というメッセージ・ボックスが表示された。 【原因と解決策】 ・MySQLのデーモンが起動していない(図A-1)。MySQLデーモンが起動されているかを確認する。 ・gw.phpファイルのデータベース接続情報が間違っている。「$host」(ホスト名)と「$db_port」(接続ポート番号)を確認する。 【トラブル2】 Webブラウザに「件数の取得:データを取得できませんでした。」が表示される。 【原因と解決策】 ・gw.phpファイルのデータベース接続情報が間違っている。「$masterdb」(データベース名),「$db_user」(データベース利用者のユーザー名),「$db_password」(パスワード)を確認する。 【トラブル3】 Webブラウザに「クラスを初期化できませんでした。」が表示される。 【原因と解決策】 ・gw.phpファイルのデータベース接続情報が間違っている。「$db_type」(DBMSの種類)を確認する。 【トラブル4】 初期管理者の初期パスワードでログインできない。 【原因と解決策】 ・php.iniファイルのregister_globalsの値がon(有効)になっていない。 ・MySQLに正しくデータが作成されていない。MySQL クライアントを使って,employeeテーブルに,「admin」が存在し,パスワードが初期パスワードのハッシュ値,retire_dateが「NULL」になっていることを確認する(図A-2)。 【トラブル5】 Webブラウザに「認証に失敗しました」が表示される。 【原因と解決策】 ・php.iniファイルのoutput_buffering の値がOn(有効)になっていない。 図A-1 MySQLのデーモンが起動していない場合のPHPのエラー・ログ
図A-2 初期管理者が登録されていることを確認する
phpMyAdminの導入「phpMyAdmin」(MySQL database administration tool)は,WebブラウザからMySQLを操作できるソフトウエアである。導入方法は,次の通り。「http://www.phpmyadmin.net/home_page/」のサイトからソース・アーカイブ「phpMyAdmin-2.6.0-pl1.tar.gz」(記事執筆時点の最新版)をダウンロードし,展開する。
次に,phpMyAdminの設定ファイル(config.inc.php)を図B-1のように編集する。 編集したら,Webサーバーからアクセスできる場所にディレクトリごとファイルを移動する。その際,ディレクトリ名を,先ほどの設定ファイルで記した「phpMyAdmin」に変更する。
最後に,Basic認証によるアクセス制限を付けておく。まず,/etc/httpd/conf/httpd.confファイルの319行目を,
のように書き換える。これで,ユーザー認証に関する設定を,個々のディレクトリに用意した.htaccessファイル内で記述可能になる。 次に,任意のディレクトリにパスワード・ファイルを作成する。
ここでは,ユーザー名を「hogeuser」,パスワードを「hogepass」とした。 最後に,/var/www/html/phpMyAdminディレクトリ配下に図B-2の内容が書かれた.htaccessファイルを作成する。 これで,
Webブラウザのアドレス・バーに「http://ホスト名またはIPアドレス/phpMyAdmin/」指定し,認証ダイアログに「ユーザー名(U)」に「hogeuser」を,「パスワード(P)」に「hogepass」を入力する。「phpMyAdmin 2.6.0-pl1 へようこそ」のデータベース操作画面(写真B-1)が表示される。操作は非常に簡単なのでいろいろ使ってみよう。
あのオープンソースがガチンコ! インストールはラクラク簡単、5分で完了! ムリ・ムラ・ムダをなくすグループウェア「ラクーダ」とは。 実践グループウェア構築術
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Copyright(c) 1999-2017 ITNAVI.com サイト運営者情報
|