デフォルトの選択肢
選択肢自体は、管理者でログイン後
管理 > 選択肢の値で確認できます
標準でもよいですが、少々分かりづらいですし
実務のプロジェクトでは、変更しておくとよいです
選択肢自体は、管理者でログイン後
管理 > 選択肢の値で確認できます
標準でもよいですが、少々分かりづらいですし
実務のプロジェクトでは、変更しておくとよいです
BTS(Bug Tracking System)の一つで、不具合や課題などを管理するツールです。
RedMineは、Ruby On Railsで動作しますので、こちらをインストールします
RedMine用のユーザを作成します
#useradd redmine
apacheからも連携しますので、apacheグループに追加
今回は、PostgreSQLを利用します
ユーザ(ロール)とデータベースを作成します
#psql -U postgres
>create role redmine with login password 'redmine';
>create database redmine;
2023/6/23時点での最新は、5.0.5です
#cd /home/redmine
#wget https://www.redmine.org/releases/redmine-5.0.5.tar.gz
#tar xvf redmine-5.0.5.tar.gz
#cd redmine-5.0.5/config
#mv configuration.yml.example configuration.yml
#mv database.yml.example database.yml
#cd ../public/
#mv dispatch.fcgi.example dispatch.fcgi
#cd ../config/
#vi database.yml
#production:
# adapter: mysql2
# database: redmine
# host: localhost
# username: root
# password: ""
# # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
# encoding: utf8mb4
代わりに、PostgreSQLをコメント解除
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "redmine"
Bundlerとは、Rubyのライブラリの依存関係を含めたインストなどを実施できます
#gem install bundler
#bundle config set --local without 'development test'
#bundle install --path vendor/bundle
※2023-11-6 追記
AlmaLinux9 で、mysql2のインストに失敗する場合
#dnf --enablerepo=crb install mysql-devel
※2023-11-6 追記
#bundle exec rake generate_secret_token
#RAILS_ENV=production bundle exec rake db:migrate
#RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data
#cd /home/redmine/redmine-5.0.5
#for i in tmp tmp/pdf public/plugin_assets; do [ -d $i ] || mkdir -p $i; done
#chown -R redmine:redmine files log tmp public/plugin_assets
インストールしていなければ、インストする
#dnf install firewalld
#systemctl start firewalld
#systemctl enable firewalld
ポート30000の開放
#firewall-cmd --add-port=3000/tcp --permanent
#firewall-cmd --reload
ファイアーウォールは、クラウド業者のサービスで設定されている場合もありますので上記で、解放できない(アクセスできない)場合は、そちらも確認してみてください
追加ライブラリが必要になる場合があるので、それをインストール
#dnf install gcc gcc-c++ libcurl-devel openssl-devel zlib-devel
Passengerとは、Ruby On Rails を動作させるサーバのようなものです
#gem install passenger
次に、apacheとの連携です
#passenger-install-apache2-module
そうすると、入力を求められる箇所がある
Press Enter to continue, or Ctrl-C to abort.
そのまま Enter
Which languages are you interested in?
言語はRubyのままので、そのままEnter
Detected 0 error(s), 3 warning(s).
Press ENTER to continue.
最後です
apacheのコンフィグを変更
#vi /etc/httpd/conf.modules.d/00-passenger.conf
このファイルの中に、先程のmodule作成中にあった記載を追加する
LoadModule passenger_module /usr/local/share/gems/gems/passenger-6.0.18/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/share/gems/gems/passenger-6.0.18
PassengerDefaultRuby /usr/bin/ruby
</IfModule>
ファイルを保存して、apacheを再起動
#systemctl restart httpd
apacheのコンフィグを作成
内容は、このような感じです
Listen 3000
LoadModule passenger_module /usr/local/share/gems/gems/passenger-6.0.18/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/share/gems/gems/passenger-6.0.18
PassengerDefaultRuby /usr/bin/ruby
</IfModule><VirtualHost *:3000>
ServerName *****.com
DocumentRoot /home/redmine/redmine-5.0.5/public/CustomLog logs/redmine_access.log combined
ErrorLog logs/redmine_error_log
LogLevel warn<Directory "/home/redmine/redmine-5.0.5/public/">
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
</VirtualHost>
DocumentRootとなるディレクトリの権限もありますが
DocumentRootまでの各フォルダも実行権限が必要になります
今回の例なら
/home
/home/redadmin
/home/redadmin/redadmin-5.0.5
/home/redadmin/redadmin-5.0.5/public
も実行権限がないとだめです
http://ドメイン:3000
で、下記画面がでればOKです
管理者は
admin
admin
がデフォルトですが、ログインすると、パスワードの変更が求められます
変更しておきましょう
firewall-cmdにてエラーとなる場合がある
#firewall-cmd --reload
Error: COMMAND_FAILED: 'python-nftables' failed: internal:0:0-0: Error: Could not process rule: Numerical result out of range
JSON blob:
{"nftables": [{"metainfo": {"json_schema_version": 1}}, {"add": {"chain": {"family": "inet", "table": "firewalld", "name": "filter_IN_policy_allow-host-ipv6"}}}]}
vi /etc/firewalld/firewalld.conf
このファイル内の
FirewallBackend=nftables
を
FirewallBackend=iptables
に変更
Rubyのライブラリを管理するツールです
#gem update
こちらは、ライブラリをアップデートします
gemコマンド自身をアップデートする場合は
#gem update --system
--system でのアップデートでエラーとなる場合は
#ln -s /usr/local/share/gems/gems/rubygems-update-3.4.14/ /usr/share/gems/gems/rubygems-update-3.4.14
とシンボルリンクすることで解消
バージョンを調べるには
#ls -la /usr/local/share/gems/gems/
#dnf install ruby-devel rpm-build make gcc gcc-c++ libxml2 libxml2-devel postgresql-devel zlib-devel libxslt-devel nodejs git yarn
#gem install bundler
#gem install nokogiri -- --use-system-libraries
#gem install rails --version="~>7.0"
#2023-11-7 追記
yaml.h not found が発生した場合
#dnf --enablerepo=crb install libyaml-devel
#2023-11-7 追記
#rails -v
#dnf module list ruby
Last metadata expiration check: 2:19:42 ago on Thu Jun 22 15:33:59 2023.
AlmaLinux 8 - AppStream
Name Stream Profiles Summary
ruby 2.5 [d] common [d] An interpreter of object-oriented scripting language
ruby 2.6 common [d] An interpreter of object-oriented scripting language
ruby 2.7 common [d] An interpreter of object-oriented scripting language
ruby 3.0 common [d] An interpreter of object-oriented scripting language
ruby 3.1 common [d] An interpreter of object-oriented scripting language
#dnf module enable ruby:3.1
#dnf install ruby
テスト管理ツールは多々ありますが、TestLinkの利点は、テストでなくその根拠となる仕様書を登録できる点があります。通常
要求 → 要件
と、分析する訳ですが、同様に「品質」という言葉が出てきます
品質
とは、要件がどれくらい満たされているかの指標です
よって、要件 - テスト は親密に関連づけられている必要があります
PMBOK の世界では、トレーサビリティ と呼んでいます
まれに、「品質強化テスト」とよくわからないキーワードをいう技術者がいますが、
品質 = 要件がどれくらい満たされているか
ですから、「強化」というのはあり得ません。
それって、要件が満たされていない部分を補っているだけ、強化しているわけじゃないですね
品質80%が90%になっても、強化とはならないですし
品質120%というのは、要件のない要件?なんて無いですから、100%超えることもないです。
トレーサビリティがとれない要件とテストは、ありえないですし、
もし、そのような事が出てくるのなら、もともと100%でなく不足しているといえるからですね
という、リスクに関するキーワードもありますので、品質は100%になることはないものの限りなく100%に近づくことはできると思います
高品質=99.99999・・・%
負荷テストといったテストもありますが、トレーサビリティからいえば、非機能要件をテストしている過ぎません
と、考えた場合、テスト管理と要件管理は、同時にできることが良いです
そういう意味でも、TestLinkは優れているといえるでしょう
インターフェースが古く、使いづらいという声は聴きますが
テスト仕様書と要件定義書を分けて作成し、あとでトレーサビリティがとれず、最悪、品質漏れを「品質強化テスト」というステークホルダを欺くような工程を入れるよりは、十分にマシと言えますね
TestLink(現時点で、最新 1.9.20) は php 7.4 以上です
こちらからダウンロードできます
https://sourceforge.net/projects/testlink/files
こちらでも取得可能
# wget -O testlink-1.9.20.tar.gz https://sourceforge.net/projects/testlink/files/TestLink%201.9/TestLink%201.9.20/testlink-1.9.20.tar.gz/download
PHP は、過去の記事を参照ください
TestLinkは、PostgreSQL/MySQL/SQLServer を対応しています
今回は、PostgreSQLを採用します
php から PostgreSQLを利用できるようにライブラリも登録
#dnf install php-pgsql
ユーザ(ロール)とデータベースを作成する
#psql -U postgres
>create role testlink with login password 'testlink';
>create database testlink;
必要なパスがあるので、作成する必要があります
#mkdir /var/testlink
#mkdir /var/testlink/logs
#chmod 666 /var/testlink/logs/
#mkdir /var/testlink/upload_area/
#chmod 666 /var/testlink/upload_area/
max_execution_time
こちらは、PHPスクリプトのパーサの許容時間ですが、初期値は30秒になっています
TestLinkでは、120秒が推奨されていますので、こちらを変更します
/etc/php.ini
max_execution_time = 30
こちらを 120に変更する
max_execution_time = 120
セッションタイムアウト
TestLinkでは、60分に設定されているが、
php.ini では、24分になっており、TestLink側で警告になっています
ここは、TestLinkに合わせます
/etc/php.ini
session.gc_maxlifetime = 1440
をTestLinkに合わせます
session.gc_maxlifetime = 3600
インストール途中、データベース情報をフォルダに更新するため
アクセス権限を付与
#chmod 777 -R /var/www/html/testlink/
GD Graphics Libyrary
描画のためのライブラリです
これで、準備がおわりました
LDAPや他のデータベース以外は、OKになります
実行を押して、
Installation was successful!
You can now log in to Testlink.
の文字が表示されればOKです。
You can now log in to Testlink.
をクリックして、ログイン画面よりログインできます
user: admin
pass: admin
が初期設定ですので、変更しておきましょう
アップロードがエラーとなる場合、権限の可能性があります
/var/testlink/upload_area に書き込み権限+実行権限があるか確認してください
# chmod 777 /var/testlink/upload_area