tanamonの稀に良く書く日記

KEEP CALM AND DRINK BEER

CentOS5にTestLinkを入れる

入れたはいいけど、実用で使うのは来年以降になりそう。

準備

ダウンロード

TestLinkのサイトから、ファイルをダウンロードしてきます。

配置

普通にtarを展開して配置させます。

# tar xzvf testlink_1.8.3.tgz.gz
# mv testlink /opt/
Apacheの設定変更

Aliasの設定を1行足すだけです。

# vi /etc/httpd/conf.d/testlink.conf
Alias /testlink /opt/testlink

設定したらApacheを再起動させます。

# service httpd restart

ブラウザからインストール

ブラウザで以下のURLにアクセスします。

http://localhost/testlink/

表示された画面で「New installation」リンクを押すとインストーラが起動します。

PHP versionエラー
PHP version
Failed! - You are running on PHP 5.1.6, and TestLink requires PHP 5.2.0 or greater. This is fatal problem. You must upgrade it.

CentOS5.3内蔵のPHPでは古くてインストールできないらしい。

PHPのバージョンアップ

リポジトリの追加

CentOSの標準リポジトリにはまだPHP5.2系は無いようなので、野良リポジトリを追加します。

# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka --httpproxy 192.168.1.1 --httpport 8080

# vi /etc/yum.repos.d/utterramblings.repo
[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
アップデート
# yum --enablerepo=utterramblings update php
...
# php -version
PHP 5.2.6 (cli) (built: May  5 2008 14:41:03)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

これでPHPが5.2系になりました。

Apache上で認識させるためにApacheを再起動させます。

# service httpd restart

再チャレンジ

再度インストールを試みる

PHP version
OK ( 5.2.0 [minimum version] <= 5.2.6 [your version] )

PHPはOKになった。

MySQL Databaseエラー
Checking MySQL Database
Failed! MySQL Database cannot be used.

しかし、MySQL Databaseが使えないらしい。
PHPMySQLコネクタ?がないっぽい。

PHPMySQLコネクタを入れる

yum install php-mysql
...

# service httpd restart

三度目の挑戦

Checking MySQL Database
OK

今度はうまくいった。

インストール設定
Database Type	MySQL (4.1 and later)
Database Host:	localhost
Database name:	testlink
Database login:	root
Database password:	root
TestLink DB login:	testlink
TestLink DB password:	testlink

ここら辺はてきとうに。
設定したら「Process TestLink Setup!」リンクを押す。

ライセンス同意

「I agree to the terms set out in this license.」にチェックを入れて、
わかりづらい右端の「Proceed」ボタンを押すとインストールが完了します。

その後、http://localhost/testlink/にアクセスするとログイン画面が表示されます。
画面は英語表記ですが、Personalの画面から簡単に日本語表示に変えられるようです。

設定項目の警告を何とかする

テストプロジェクトを作成した後、ホーム画面で以下のような警告が出てきます。

設定項目に警告がでています。詳細はファイル '/opt/testlink/logs/config_check.txt' を参照してください。この警告を表示する必要がない場合は $tlCfg->config_check_warning_mode = 'SILENT'; を設定してください。

メッセージに従って/opt/testlink/logs/config_check.txtファイルを見ると警告の詳細が見えます。

インストールディレクトリを削除してください!
'admin' アカウントのパスワードをデフォルトのものから変更してください!
Emailに関する以下のパラメータを確認してください:
tl_admin_email
from_email
return_path_email
smtp_host
GD PHP拡張が使用できません。グラフが機能しません。php.iniファイル上から ;extension=php_gd2.dll という記述の先頭にある ; を削除してください。 その後 apache (もしくは他のWebサーバ)を再起動してください。この設定を行ってもこの問題が解決されない場合は、php-GDライブラリをインストールする必要があるでしょう。
インストールディレクトリを削除してください!

/opt/testlink/installディレクトリを削除すればOK。
社内環境とかで警告回避のためだけの対応でよいならディレクトリ名を変更しておくだけでもよい。

'admin' アカウントのパスワードをデフォルトのものから変更してください!

adminでログインして、個人情報の設定でパスワードを変えればOK。

Emailに関する以下のパラメータを確認してください:

どこの設定?と思うメッセージだけど、全て/opt/testlink/config.inc.phpファイルの設定値です。

// ----------------------------------------------------------------------------
/** [SMTP] */

// Developer Note:
// these config variable names has been choosed to maintain compatibility
// with code taken from Mantis.
//
// SMTP server Configuration ("localhost" is enough in the most cases)
$g_smtp_host        = '[smtp_host_not_configured]';  # SMTP server MUST BE configured

# Configure using custom_config.inc.php
$g_tl_admin_email     = '[testlink_sysadmin_email_not_configured]'; # for problem/error notification
$g_from_email         = '[from_email_not_configured]';  # email sender
$g_return_path_email  = '[return_path_email_not_configured]';

# Urgent = 1, Not Urgent = 5, Disable = 0
$g_mail_priority = 5;

# Taken from mantis for phpmailer config
define ("SMTP_SEND",2);
$g_phpMailer_method = SMTP_SEND;

// Configure only if SMTP server requires authentication
$g_smtp_username    = '';  # user
$g_smtp_password    = '';  # password

ここら辺の設定を自分の環境に合わせて書き換えればOK。

GD PHP拡張が使用できません。グラフが機能しません。

まずメッセージが嘘。

php.iniファイル上から ;extension=php_gd2.dll という記述の先頭にある ; を削除してください。

/etc/php.iniにextensionの記述なんてないし、linuxなのに.dllは無い。php.iniを見ると、extentionについては

extension_dir = "/usr/lib64/php/modules"

とだけ書かれている。どうやらここにGD用モジュールが入っていれば動作するみたいだけど、入っていないらしい。
なので、yumphp-gdを入れればよい。

# yum install php-gd


設定変更が終わったら、Apacheを再起動させれば警告が消えます。

# service httpd restart