■
ドキュメント管理システム KnowledgeTree の Community Edition を CentOS 5.5 にインストールしたときのメモ。
を走り書き。後で整理する。
現時点での KnowledgeTree の最新バージョンは 3.7.0.2 のようだが今回は日本語化されているのが
確認できている Community Edition バージョン 3.5.4a を入れた。
knowledgeTree日本語への道筋
を参考にしながらインストール。
インストーラは
http://sourceforge.net/projects/kt-dms/files/ からたどった ktdms-oss-3.5.4a-linux-installer.bin をダウンロード。
# chmod +x ktdms-oss-3.5.4a-linux-installer.bin # ./ktdms-oss-3.5.4a-linux-installer.bin でインストール。 このとき apache と mysql のポート番号を聞いてくるのですでに入っている apache mysql のポート番号と重ならないように apache: 8080 mysql: 3307 とした。 インストール先は /opt/ktdms 以降このディレクトリからの相対パスで書く。 同梱されている apache などのサーバの起動 sh dmsctl.sh これで準備OK。 Webブラウザから http://インストールしたマシン:8080/ にアクセスして ユーザ名:admin パスワード: admin でログインすればOK。 最初つながらなかったのでsystem-config-securitylevel-tuiコマンドを使って ファイアウォールや SELinux を無効にしたらつながった。 日本語化は Japanese Language Pack にある kt354jp01.zip: Japanese Language Pack を参考に knowledgeTree/plugins の下に japanesePlugin.php と translation を入れたのち admin で login して DMSAdministration => Miscellaneous = Plugins => Reread plugins => Japanese plugin をチェック => Update 一度 logout してログイン画面の Language から Japanese を選んで再度 login する でOK。 ここまでは比較的問題なし。 ここから KnowledgeTree に同梱されている apache と php ではなく CentOS に元々入っているものを使うように設定する。 (mysql は移動時に楽なようにそのまま同梱のものを使うことにした) まずログインできるうちに knowledgetree の設定を先に変更しておく。 admin で login して システム管理 => システム設定 => 一般設定 のところで External Binaries の php: /opt/ktdms/php/bin/php を php に変更。 knowledgeTree の RootUrl を /knowledgetree に変更。 Server Settings の Internal Server Port: 8080 を 80 に変更。 CentOS 5.5 に標準で入っている PHP は 5.1 なのだが KnowledgeTree は 5.2 でないとまずいので PHP 5.2 を入れる。 手順は RedHat Linuxにphp5.2のアップグレード に書いてあるとおりの # wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh # yum update php でOK。 カレントディレクトリに RPM-GPG-KEY.art.txt と atomic-release-1.0-12.el5.art.noarch.rpm というファイルがダウンロードされていたので消した。 次は apache knowledgeTree/lib/config/config.inc.php の 213行目辺りに 'protocol' => $this->flatns['db/dbProtocol'], 'socket' => $this->flatns['db/dbSocket'], を追加。 config.ini の [db]セクションのところに dbProtocol = unix dbSocket = /opt/ktdms/mysql/tmp/mysql.sock を追加。 ・パーミッション関係 knowledgeTree/bin/scheduler.php の chown -R nobody しているところを // // If this is *nix and we are root then make sure file permisions are correct // if(!OS_WINDOWS && (get_current_user() == 'root')) // { // // The log files... // try { // $default->log->debug( 'Scheduler: setting owner to nobody on - '.$default->logDirectory); // exec('chown -R nobody:0 '.escapeshellcmd($default->logDirectory)); // } catch(Exception $e) { // $default->log->debug('Scheduler: can\'t set owner to nobody - '.$e); // } // } のようにコメント化。 Documents と var/log と var/tmp を apache から書けるように chmod 0777 Documents var/log var/tmp する。 OS に入っている php を使うので bin/*.sh に書いてある /opt/ktdms/php/bin/php の部分は php に書き換える。 knowledgeTree/lib/util/ktutil.inc の 172行目の $internal_url .= !empty($default->rootUrl) ? $default->rootUrl : ''; のようにコメントをはずす。 /etc/httpd/conf.d に以下の内容の knowledgetree.confファイルを作成。 Alias /knowledgetree/ "/opt/ktdms/knowledgeTree/" Alias /knowledgetree "/opt/ktdms/knowledgeTree"Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all /etc/php.ini の設定 memory_limit = -1 post_max_size = 2000M upload_max_filesize = -1 に変更。 sh dmsctl.sh stop で KnowledgeTree同梱のサーバを停止。 /etc/init.d/httpd restart で apache の再起動。 dmsctl.sh の start_apache と stop_apache の呼び出し部分をコメントにする。 KnowledgeTree 同梱の apache以外のサーバの起動 sh dmsctl.sh start これで http://インストールしたマシン/knowledgeTree でアクセスできる。
以上。