1時間以内で便利な新機能を追加する
La!cooda WIZには「ファイル共有」という,さまざまな形式の文書ファイルをサーバーにアップロードして,メンバーの間で共有できる機能が備わっている。このファイル共有では,いくつかのカテゴリに分けて文書ファイルを管理でき,カテゴリ名や登録者名などにより目的のファイルを検索可能だ。ただし,文書ファイルの中身を検索(テキスト検索)する機能は持っていない。
したがって,カテゴリ内にファイルが増えると,その中から所望の情報を見つけ出すことは至難の業となる。すぐに欲しい情報が取り出せなければ,情報共有機能としては少々もの足りないだろう。
そこで今回は,La!cooda WIZのファイル共有により保管されている文書ファイルの中から,素早く所望する情報を見つけ出すための検索システムを構築してみよう。
検索エンジン「Namazu」を用いる
文書ファイルの内容を検索するには,シェルが備えるfindやgrepといったコマンドを用いても良い。しかし,これらのコマンドでは,一つひとつのファイルに対して,検索語句とファイルに含まれる語句が一致しないか否かを照らし合わせていく。そのため,大量ファイルの中から検索するといった状況では時間もかかり,効率的とは言えない。大量
ファイルからの検索には,専用の検索エンジンを用いるべきだろう。
そこで,全文検索システム「Namazu」(http://namazu.org/)を利用する。このNamazuはインデックス・ファイルを用いた高速な文書検索エンジンである。ファイル内に含まれるキーワードを抽出し,インデックス・ファイルを作成。そのインデックス・ファイルと検索語句を照らし合わせて一致するファイルを検出する。個々のファイルを一つひとつ検索しないため,高速に動作する。
ちなみにNamazuは,高林哲氏により開発されたフリーソフトであり,Linux や Windows をはじめ多くのOS上で動作する。さらに,Namazuが検索できる文書ファイルの形式も多様だ(表1)。
表1 Namazuが検索できる文書形式
テキスト・ファイル
HTMLファイル
Microsoft Wordファイル
Microsoft Excelファイル
Microsoft PowerPointファイル
PDFファイル
Postscriptファイル
一太郎ファイル
Texファイル
電子メール,ネット・ニュースのファイル
Namazuの導入と動作確認 テキスト・ファイルを検索
Namazuは,Fedora Core2の標準パッケージとして用意されている。そのため,導入は簡単だ。yumコマンドを用いて,インストールする。
$ su
# yum -y install namazu
Namazuには,大別して2種類のコマンドが用意されている。一つは「mknmz」というインデックス・ファイルを作成するコマンドである。もう一つが「namazu」であり,指定した語句(キーワード)をインデックス・ファイルから探し,検索結果を返すコマンドだ。mknmz,namazuコマンド共に設定ファイルがあり,それぞれ/etc/namazu/mknmzrcファイル,/etc/namazu/namazurcファイルになる。
インデックス・ファイルの作成
インデックス・ファイルを作成するために,La!cooda WIZのファイル共有機能を用いて,適当なテキスト・ファイルをサーバーにアップロードしよう。ファイルをアップロードせずに,ファイル共有のテキスト作成タブからフォーム入力しても構わない。
また,mknmzコマンドやnamazuコマンドの実行結果は日本語EUCで出力される。Fedora Core2が備えるGNOME端末の文字コードは,UTF-8であり,文字化けが発生する。作業に入る前に,コンソールの文字コードを日本語EUCに変更しておこう。それにはまず,
# export LANG=ja_JP.eucJP
# export SUPPORTED="ja_JP.eucJP:ja_JP:ja"
を実行する。次に,メニュー・バーの「端末(T)」-「文字コードの設定(C)」- 「追加と削除(A)」を選択する。開いた「端末のエンコーディングの追加/削除」ダイアログ上で「利用可能なエンコーディング(V)」から「EUC-JP」を選び,〔追加(A)〕ボタンをクリックする。最後に〔閉じる(C)〕ボタンをクリックしたら,再度メニュー・バーの「端末(T)」-「文字コードの設定(C)」を選んで,表示されたメニューから「日本語(EUC-JP)」を選択する。
ここまでの準備が整ったら,早速インデックス・ファイルを作成する。La!cooda WIZのインデックス・ファイルを格納するディレクトリ(/var/lib/namazu/index/wiz)を作成し
# mkdir /var/lib/namazu/index/wiz
と入力して,ファイル共有用のファイル保存ディレクトリ(/var/www/html/wiz/files/record)を対象とした,インデックス・ファイルを作成する(図1)
図1 インデックス・ファイルの作成
# mknmz -aO /var/lib/namazu/index/wiz /var/www/html/wiz/files/record
検索対象のファイルを調べています...
1個のファイルがインデックス作成の対象として見つかりました
1/1 - /var/www/html/wiz/files/record/20041128200624_Text%CA%B8%BD%F1.txt
[text/plain]
インデックスを書き出しています...
[基本]
日付: Sun Nov 28 20:06:46 2004
追加された文書の数: 1
サイズ(bytes): 23
合計の文書数: 1
追加キーワード数: 6
合計キーワード数: 6
わかち書き: module_kakasi -ieuc -oeuc -w
経過時間(秒): 3
ファイル/秒: 0.33
システム: linux
Perl: 5.008003
Namazu: 2.0.13
mknmzコマンドで指定したオプションは次の通り。-aオプションはディレクトリ内にあるすべてのファイルを対象にする。-Oオプションでは, 出力先ディレクトリを指定する。
インデックス・ファイルを作成したら,namazuコマンドを用いて検索を実行し,正しい結果を返すかを確認しよう。図2は,「テキスト」というキーワードを含むファイルを検索した例だ。
図2 Namazuを用いた検索の例(その1)
「テキスト」というキーワードを含むファイルを検索した。
# namazu 'テキスト' /var/lib/namazu/index/wiz
検索結果
参考ヒット数: [ テキスト: 1 ]
検索式にマッチする1 個の文書が見つかりました。
1. 20041128200624_Text文書.txt (スコア: 2)
著者: 不明
日付: Sun, 28 Nov 2004 20:06:23
テキスト文書Text文書
/var/www/html/wiz/files/record/20041128200624_Text文書.txt (23 bytes)
現在のリスト: 1 - 1
各種文書形式への対応 ExcelやPDFファイルを検索
Namazuを用いて,テキスト・ファイルを対象にした,インデックス・ファイルの作成から検索までの基本的な動作は確認できた。しかし,このままでは不十分であろう。なぜなら,ファイル共有によりアップロードされるファイルは,テキスト・ファイルに限られず,Microsoft Wordや同Excelのファイル,またPDFファイルなどもあり得るからだ。
テキスト・ファイル以外の文書を検索対象にするには,それぞれの文書形式向けに用意された文書フィルタを使用する。そのためには,文書フィルタが呼び出す外部コマンド(表2)の導入が必要だ。外部コマンドのほとんどは,Fedora Core2用のRPMパッケージとし
て用意されていないため,ソースからコンパイルする。
表2 文書検索に必要な外部コマンド(内部フィルタはNamazu標準)
文書形式 / 内部フィルタ / 外部コマンド / 外部コマンドの入手先
Microsoft Word / msword.pl / wvHtml* / http://wvware.sourceforge.net/
Microsoft Excel / excel.pl / xlhtml* / http://chicago.sourceforge.net/xlhtml/
Microsoft PowerPoint / powerpoint.pl / ppthtml* /
Adobe PDF / pdf.pl / xpdf / http://www.foolabs.com/xpdf/
* 多言語ファイル・ビューア「lv」(http://www.ff.iij4u.or.jp/~nrt/lv/)も必要
Excel用フィルタの外部コマンドを導入
Microsoft Exce(l 以下,Excel)形式のファイルを検索可能にするために,Excel用の文書フィルタが呼び出す外部コマンド「xlhtml」をコンパイルして導入する。なお,makeコマンド実行の際,「required file `./depcomp' not found」(depcompが見つからない)というエラーが発生する。そのため,あらかじめ同じディレクトリ内にシンボリック・リンクを作成しておく。
$ wget http://jaist.dl.
sourceforge.net/sourceforge
/chicago/xlhtml-0.5.tgz
$ tar xvzf xlhtml-0.5.tgz
$ cd xlhtml-0.5
$ ./configure
$ ln -s /usr/share/auto
make-1.8/depcomp depcomp
$ make
$ su
# make install
# exit
$ cd ..
これで,/usr/local/binディレクトリ内に,xlhtmlとMicrosoft PowerPoint(以
下,PowerPoint)用の文書フィルタが呼び出す外部コマンド「ppthtml」などがインストールされる。
Word用フィルタの外部コマンドを導入
先ほどと同様に,Microsoft Word(以下,Word)用の文書フィルタが呼び出す外部コマンド「wvHtml」もコンパイルして導入する。
$ wget http://internap.dl.
sourceforge.net/sourceforge
/wvware/wv-1.0.2.tar.gz
$ tar xvzf wv-1.0.2.tar.gz
$ cd wv-1.0.2
$ ./configure
$ make
$ su
# make install
# exit
$ cd ..
今度は,/usr/local/binディレクトリ内に「wvHtml」や「wvConvert」など,16種類のファイルがインストールされる。
多言語ファイル・ビューアを導入
ExcelやPowerPoint,Word用の文書フィルタが呼び出す外部コマンドのインストールが完了したら,多国語ファイル・ビューア「lv」を導入する。これは,UTF-8などの文字コードで書かれた文書を正しく認識させるためのソフトウエアだ。lvは,Fedora Core2のインストール時に,既に導入されているはずだが,万が一インストールされていなければ,
のようにインストールする。インストール後には,/usr/binディレクトリに「lgrep」と「lv」が作成される。
PDF用フィルタの外部コマンドを導入
Adobe PDF(以下,PDF)ファイルも,WordやExcelの文書と同じくらい頻繁に使用されるものだ。PDFファイルも検索できるようにしておこう。PDF用の文書フィルタが呼び出す外部コマンド「pdftotext」も導入する。同コマンドは,PDFファイル・ビューア「xpdf」に含まれている。Feroda Core2にはNamazuと同様,xpdfも標準パッケージとして含まれている。よって,
のようにインストールする。さらに,xpdfで日本語を正しく扱えるように「xpdfjapanese」をインストールする。
$ wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-japanese.tar.gz
$ tar xvzf xpdf-japanese.tar.gz
$ cd xpdf-japanese
$ su
# mkdir -p /usr/local/share/xpdf/japanese
# cp -R * /usr/local/share/xpdf/japanese
# cat add-to-xpdfrc >> /usr/local/etc/xpdfrc
動作確認
ここまで終了したら,最後にExcelとPowerPoint,Word,PDFの文書フィルタが有効になっていることを確認する。
を実行し,それぞれの文書フィルタ「excel.pl」「msword.pl」「pdf.pl」「powerpoint.pl」の行頭に「-」がなければよい(図3)
図3 文書フィルタが有効になっていることを確認
行頭に「-」がなければ,有効になっている。
# mknmz -C
読み込んだ設定ファイル: /etc/namazu/mknmzrc
システム: linux
Namazu: 2.0.13
Perl: 5.008003
File-MMagic: 1.21
NKF: module_nkf
KAKASI: module_kakasi -ieuc -oeuc -w
茶筌: no
わかち書き: module_kakasi -ieuc -oeuc -w
メッセージの言語: ja_JP.eucJP
言語: ja_JP.eucJP
文字コード: euc
:
application/excel: excel.pl
:
application/msword: msword.pl
application/pdf: pdf.pl
- application/postscript: postscript.pl
application/powerpoint: powerpoint.pl
:
text/html: html.pl
text/html; x-type=mhonarc: mhonarc.pl
text/plain
text/plain; x-type=rfc: rfc.pl
text/x-hdml: hdml.pl
text/x-roff: man.pl
有効になっていたら,La!cooda WIZのファイル共有を用いて,ExcelとPowerPoint,Word,PDFの文書ファイルをアップロードし,実際に検索してみよう。
その際,インデックス・ファイルは再度作り直す必要がある。図4のように,4つのファイルがインデックス作成の対象になればよいだろう。
図4 インデックス・ファイルの更新
インデックス・ファイルを作成したときのコマンドを再度実行すると更新される。
# mknmz -aO /var/lib/namazu/index/wiz /var/www/html/wiz/files/record
検索対象のファイルを調べています...
4個のファイルがインデックス作成の対象として見つかりました
検索対象のファイルを調べています...
4個のファイルがインデックス作成の対象として見つかりました
1/4 - /var/www/html/wiz/files/record/20041128195422_Excel%CA%B8%BD%F1.xls
[application/excel]
2/4 - /var/www/html/wiz/files/record/20041129181647_PDF%CA%B8%BD%F1.pdf
[application/pdf]
3/4 - /var/www/html/wiz/files/record/20041128195348_PowerPoint%CA%B8%BD%F1.ppt
[application/powerpoint]
4/4 - /var/www/html/wiz/files/record/20041128195358_Word%CA%B8%BD%F1.doc
[application/msword]
インデックスを書き出しています...
[追加]
日付: Mon Nov 29 00:06:39 2004
追加された文書の数: 4
サイズ(bytes): 44,439
合計の文書数: 5
追加キーワード数: 26
合計キーワード数: 32
わかち書き: module_kakasi -ieuc -oeuc -w
経過時間(秒): 6
ファイル/秒: 0.67
システム: linux
Perl: 5.008003
Namazu: 2.0.13
ちなみに,ファイルをアップロードするたびに,管理者がインテックスを作り直すことは困難だ。そこで,別掲記事「インデックス・ファイルの自動作成」にインデックス・ファイルを定期的に更新する方法をまとめたので活用していただきたい。
では,テキスト・ファイルを検索したときと同様に,namazuコマンドにキーワードを指定して検索を実行してみよう。図5は,キーワードに「文書」を指定し,「文書」という単語を含むWordとExcel,PowerPoint,PDF,テキストという5種類のファイルを検出した例である。
図5 Namazuを用いた検索の例(その2)
「文書」という単語を含むWordとExcel,PowerPoint,PDF,テキストという5種類のファイルを検出した。
# namazu '文書' /var/lib/namazu/index/wizs
検索結果
参考ヒット数: [ 文書: 5 ]
検索式にマッチする5 個の文書が見つかりました。
1. ワード文書Word文書(スコア: 35)
著者: 不明
日付: Sun, 28 Nov 2004 19:53:57
ワード文書Word文書
/var/www/html/wiz/files/record/20041128195358_Word文書.doc (19,456 bytes)
2. PDF文書(スコア: 19)
著者: ohsawa
日付: Mon, 29 Nov 2004 18:16:47
(無題) Page 1 ピーディーエフ文書PDF文書
/var/www/html/wiz/files/record/20041129181647_PDF文書.pdf (1,943 bytes)
3. 20041128200624_Text文書.txt (スコア: 19)
著者: 不明
日付: Sun, 28 Nov 2004 20:06:23
テキスト文書Text文書
/var/www/html/wiz/files/record/20041128200624_Text文書.txt (23 bytes)
4. 20041128195422_Excel文書.xls (スコア: 19)
著者: User
日付: Sun, 28 Nov 2004 19:54:21
Sheet1 エクセル文書Excel文書
/var/www/html/wiz/files/record/20041128195422_Excel文書.xls (13,824 bytes)
5. 20041128195348_PowerPoint文書.ppt (スコア: 19)
著者: 不明
日付: Sun, 28 Nov 2004 19:53:47
パワーポイント文書PowerPoint文書Created with pptHtml
/var/www/html/wiz/files/record/20041128195348_PowerPoint文書.ppt (9,216
bytes)
現在のリスト: 1 - 5
La!cooda WIZとの連携 テンプレートを書き換えて使用
コマンドによる検索処理の実行はほぼ確認できた。最後に,La!cooda WIZと連携させてみよう。そのためには,Namazuを利用した検索用CGIプログラム「namazu-cgi」を導入しなければならない。ちなみに,namazu-cgiはRPMパッケージとして,Fedora Core2に含まれているので,それを用いる。
# yum -y install namazu-cgi
のように実行し,/var/www/cgi-binディレクトリにnamazu.cgiをインストールする。あとは,環境に合わせて,namazu.cgiの設定ファイル(/etc/namazu/namazurc)を書き換える。書き換える個所は,2カ所だ。
まず,ファイル共有により文書が保存されるディレクトリ内のファイルを検索対象にするため,namazu.cgiの設定ファイルを書き換える。具体的には「#Replace/home/foo/public_html/ http://www.foo.bar.jp/~foo/」の下に図6の内容を追記する。なお,「インストール先のホスト名またはIPアドレス」の部分は自分のネットワーク環境に合わせて適宜書き換えていただきたい。
図6 namazu.cgiの設定ファイル(/etc/namazu/namazurc)の書き換え
Replace /var/www/html/wiz/files/record/ http://インストール先のホスト名
またはIPアドレス/wiz/download.php?filePath=record/
最後に,La!cooda WIZの検索用Webページを日本語EUCで表示するため,「#Lang ja」の下に「Lang ja_JP.eucJP」を追記しておく。
La!cooda WIZに組み込む
ここまでの設定が完了したら,いよいよLa!cooda WIZの一機能として組み込む。それには,テンプレートとしてあらかじめ用意されている検索用Webページ(/var/lib/namazu/index/wizディレクトリ内の「NMZ」で始まるファイル)を書き換えて使うとよいだろう。
La!cooda WIZ向けに書き換える個所は複数あるため,ここでは説明を割愛させていただく。La!cooda WIZ向けにカスタマイズしたファイル(NMZ.head.ja.WIZとNMZ.foot.ja.WIZ)は,これを用いていただきたい。なお,La!cooda WIZ向けにカスタマイズしたファイルの導入手順は図7の通り。
図7 NMZ.head.ja.WIZとNMZ.foot.ja.WIZの導入手順
# cp /var/lib/namazu/index/wiz/NMZ.head.ja
/var/lib/namazu/index/wiz/NMZ.head.ja.org
# cp /var/lib/namazu/index/wiz/NMZ.foot.ja
/var/lib/namazu/index/wiz/NMZ.foot.ja.org
# sed "s/http:\/\/www.example.com\/wiz\//http:\/\/インストール先のホスト名
またはIPアドレス\/wiz\//g" NMZ.head.ja.WIZ >
/var/lib/namazu/index/wiz/NMZ.head.ja
# cp NMZ.foot.ja.WIZ /var/lib/namazu/index/wiz/NMZ.foot.ja
導入したら,La!cooda WIZに管理者でログインし,まず左側メニューの「設定」をクリックし,表示された右側の表から「使用機能の設定」を選ぶ。プルダウン・メニューから「新規作成」を選択し,表3の内容を入力して〔この情報を登録〕ボタンをクリックする。左側メニューに「検索」が登録され,文書検索画面が表示される。
アクセス制限を追加
La!cooda WIZに文書検索機能が追加できたが,今のままでは,検索用WebページのURLを直接指定するとだれでもアクセスできてしまう。これではセキュリティに問題があるだろう。そこで,La!cooda WIZのユーザーIDとパスワードを用いて,Basic認証によるアクセス制限をかける。
La!cooda WIZのユーザーIDとパスワードはデータベース内に保存されている。そのため,検索用Webページに制限をかけるためには,パスワードの登録や変更時に,Basic認証用のパスワード・ファイルにも登録や設定が実施されるようにしなければならない。
まず,La!cooda WIZの/var/www/html/wiz/passwd.phpファイルと/var/www/html/wiz/empconfig.phpファイルそれぞれに,図8と図9で示した変更を加える。
図8 /var/www/html/wiz/passwd.phpファイルの変更個所
199: }
200:
// .htpasswdへの追加
system(escapeshellcmd("/var/www/mkhtpasswd.sh " . $emp_cd . " " . $new_pass));
追加
201: echo "変更しました。 \n";
202: writeTransID($trans_id, $conn, $dbSqlObj,$dbExecObj);
203:}
図9 /var/www/html/wiz/empconfig.phpファイルの変更個所
573: $result = $dbExecObj->exeSql($conn, $sqlstr);
574: if ($result)
575: {
576: // whiteboard テーブルのデータ作成
577: $sqlstr = $dbSqlObj->insertWhiteboard($emp_cd, $PHP_AUTH_USER);
578: $result = $dbExecObj->exeSql($conn, $sqlstr);
579:
// .htpasswdへの追加
system(escapeshellcmd("/var/www/mkhtpasswd.sh " . $emp_cd . " " . $passw));)
追加
580: echo "登録しました。\n";
581: echo "[戻る]
\n";
582: }
続いて,Basic認証で使用するパスワード・ファイル(.htpasswd)とそのパスワード・ファイルにパスワードを登録・変更するシェル・スクリプト(mkhtpasswd.sh,図10)を,/var/wwwディレクトリに作成する。
図10 パスワードを登録・変更するシェル・スクリプト(mkhtpasswd.sh)
#!/bin/sh
if [ ! "$1" ]; then
echo "Bad 1st Parameters"; exit;
elif [ ! "$2" ]; then
echo "Bad 2nd Parameters"; exit;
fi
FILE_DIR=/var/www/
PSWD_FILENAME=.htpasswd
PSWD_FILE=$FILE_DIR$PSWD_FILENAME
HTPASSWD=/usr/bin/htpasswd
if [ ! -s $PSWD_FILE ]; then
touch $PSWD_FILE
fi
$HTPASSWD -b $PSWD_FILE $1 $2 > /dev/null 2>&1
# touch /var/www/.htpasswd
# chown apache.apache /var/www/.htpasswd
最後に,Apache経由でアクセスしたユーザーがmkhtpasswd.shスクリプトを実行できるように,所有者をApacheユーザー(apache)に設定し,実行権限を与える。
# chown apache.apache /var/www/mkhtpasswd.sh
# chmod u+x /var/www/mkhtpasswd.sh
これで,ApacheのBasic認証を有効にすると,アクセス制限がかけられる。アクセス制限をかけたいディレクトリ(/var/www/cgi-bin)内に,
AuthUserFile /var/www/.htpasswd
AuthType Basic
AuthName WIZ
require valid-user
という内容の.htaccessファイルを作成する。.htaccessファイルの所有者権限はApacheユーザーにしておく。
# chown apache.apache /var/www/cgi-bin/.htaccess
/var/www/cgi-binディレクトリに対し,Basic認証を有効にする。それには,Apacheの設定ファイル(/etc/httpd/conf/httpd.conf)を,図11のように書き換えて,次のようにApacheに読み込ませると,
# /sbin/service httpd reload
図11 Apacheの設定ファイル(/etc/httpd/conf/httpd.conf)の書き換え個所
AllowOverride None
Options None
↓(書き換える)
AllowOverride Authconfig
Options ExecCGI
ただし,現状ではパスワード・ファイルにパスワードが登録されていないため,検索用Webページにはまったくアクセスできない。既に登録されているユーザーはLa!cooda WIZの「パスワード変更」を用いて,パスワードを再度登録する必要がある(現在使用中のものと同一で構わない)。
3回にわたって,無償利用も可能なグループウエア「La!cooda WIZ」のインストールから活用法までを記した。グループウエアを導入すれば,必ずしも情報共有が促進されたり,コミュニケーションが活性化するわけではない。
グループウエアはあくまで道具の一つであり,それを使う人間がどう使うかを考えることで,その便利さを享受できる。
多機能なグループウエアも数多くあるが,使いこなせなければ宝の持ち腐れである。何度も言うようだが,シンプルで軽快に動作するLa!cooda WIZなら,すぐに環境を作って試せる。グループウエアを初めて導入する企業や,部内のコラボレーション・ツールとしてお役に立てていただければ幸いだ。有意義なグループウエア・ライフをエンジョイしていただきたい。
インデックス・ファイルの自動作成
mknmzコマンドとcronコマンドを用いて,1日1回深夜にインデックス・ファイルを自動更新させる。まずは,インデックス自動更新用のシェル・スクリプト(mknmz.sh)を作成する(図A-1)。次に,このシェル・スクリプトに実行権限を与え,
$ su
# chmod u+x mknmz.sh
毎日午前3時に,インデックス・ファイルを更新するように,cronコマンドのジョブを登録する。
を実行して,
を追記する。
図A-1 インデックス自動更新用のシェル・スクリプト(mknmz.sh)
#!/bin/sh
export LANG=ja_JP.eucJP
export PEAL_BADLANG=0
# インデックス作成先ディレクトリ
IDX=/var/lib/namazu/index/wiz/
# インデックス作成対象ディレクトリ
DOC=/var/www/html/wiz/files/record/
# インデックス作成ログ・ファイル
LOG=/var/log/mknmz.log
# インデックス作成
/usr/bin/mknmz -aO $IDX $DOC > $LOG
# インデックス作成ログを所有者のみ参照できるようにする
chmod 600 $LOG
# 月曜日はインデックスの不要データの掃除も行う
YOUBI=`date +%w`
if [ "$YOUBI" = "1" ]
then
/usr/bin/gcnmz -qb $IDX
fi
導入から15分以内で運用開始
30分で構築できる運用管理環境とセキュリティ対策
1時間以内で便利な新機能を追加する
La!cooda WIZ 情報源
あのオープンソースがガチンコ!
インストールはラクラク簡単、5分で完了!
ムリ・ムラ・ムダをなくすグループウェア「ラクーダST」とは。
[PR] 電子マネー利用ガイド
電子マネーの種類や仕組を比較します。電子マネー決済を賢く使ってお金を増やしましょう。
実践グループウェア構築術
i2i無料WEBパーツ