目標
- 在 Ubuntu 14.04 上架設 testlink
- 使用 LDAP 管理 testlink 使用者
- 使用 nginx 作為 web server
Step 1. 安裝
sudo apt-get install postgresql
sudo apt-get install php5-fpm php5-pgsql php5-gd php5-ldap php5-json
sudo apt-get install nginx-extras
從 testlink 官方 sourceforge 取得 tar 檔
tar xvf testlink-1.9.10.tar.gz
mv testlink-1.9.10 /usr/share/nginx/html/testlink
Step 2. 設定 DB user
詳細設定請參考1。
以 postgres (system user) 身份執行 psql 命令並切換成 postgres (db user) 身份
sudo -u postgres psql postgres
變更 postgres (db user) 的密碼
\password postgres
Enter Password: ...
這裡的 postgres 與密碼稍後在設定 testlink 會用到
Step 3. 設定 nginx
編輯 /etc/nginx/site-available/default
Note
這裡直接使用 default site 來設定,可自行修改
將 index.php 加進 index directive
index index.html index.htm index.php;
將 php 相關設定的註解拿掉
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
重新啟動 nginx
sudo service nginx restart
Step 4. 設定 PHP
編輯 /etc/php5/fpm/php.ini
; 延長 session timeout (1440 -> 2440)
session.gc_maxlifetime = 2440
; 延長最大執行時間
max_execution_time = 120
重新啟動 php-fpm
sudo service php5-fpm restart
Step 5. 設定 testlink
5.1 執行 testlink 的自動安裝流程
第一次以瀏覽器開啟 testlink, e.g. http://<your_ip>/testlink
時,會執行一些環境偵測與設定。
這個 blog 有螢幕截圖可以參考,記得我們是使用 postgresql 而不是 mysql。這些步驟中會用到 Step 2 中設定的帳密。
以上步驟包含設定給 testlink 用的 DB 名稱與使用者帳密,會存放在
/usr/share/nginx/html/testlink/config_db.inc.php
之後會需要這些資訊。
5.2 設定 testlink 中與 LDAP 相關的參數
假設以下資訊
LDAP server 在 ldap.mydomain
root DN 是 example.com
LDAP 的管理帳密是 Acer Yang/mypassword
編輯 /usr/share/nginx/html/testlink/config.inc.php
$tlCfg->authentication['method'] = 'LDAP';
$tlCfg->authentication['ldap_server'] = 'ldap.mydomain';
$tlCfg->authentication['ldap_port'] = '389';
$tlCfg->authentication['ldap_version'] = '3'; // could be '2' in some cases
$tlCfg->authentication['ldap_root_dn'] = 'dc=example,dc=com';
$tlCfg->authentication['ldap_bind_dn'] = 'cn=Acer Yang,dc=example,dc=com';
$tlCfg->authentication['ldap_bind_passwd'] = 'mypassword';
$tlCfg->authentication['ldap_uid_field'] = 'sAMAccountName'; // For Active Directory
$tlCfg->authentication['ldap_automatic_user_creation'] = true;
最後一個選項允許當使用者以 LDAP 帳號登入 testlink 時自動建立 testlink 帳號
當啟用 LDAP 當成認證方法時,原本的 admin 帳號會無法使用,我們得手動將某一個帳號變更為管理者。
sudo -u postgres psql testlink
SELECT * FROM users; -- 列出所有使用者,假設要改的使用者 id 是 1
UPDATE TO users role_id=8 WHERE id=1;
Written with StackEdit.
留言
張貼留言