WSL2環境へTestlinkをインストールしてみる！

Testlinkのインストール方法についての記事です。
初めてQiitaに投稿します。
拙い文章ですが、これからTeslinkを使ってテスト管理や要求管理について勉強していきます（業務で学んだことのメモ代わり）。これから、要求管理やテスト管理を行う人の役に立てればと思います。

## 目次
[目的](#目的)
[環境](#環境)
[XAMPP準備編](#XAMPP準備編)
[TestLink準備編](#TestLink準備編)
[参考サイト](#参考サイト)


<a id="目的"></a>
## 目的
要求管理やテスト管理、トレーサビリティ管理について、学ぶためにTestlinkを導入すること。
なぜ、Testlinkか？
OSSで要求、テスト、トレサビを管理できる唯一のツールのため。
（ほかに探せば、alminiumなどがありますが、現在進行形で使えるツールの選択肢はあまりない・・・と思う）

<a id="環境"></a>
## 環境
この記事を執筆するにあたって使用した環境
Ubuntu 22.04.3 LTS on WSL2


<a id="XAMPP準備編"></a>
## XAMPP準備編
このセクションでは、WSL2へのXAMPP環境の準備について説明する。

**WSL2へのXamppのインストール方法**
このサイトを参考に欲しいバージョンのPHPを含む、XAMPPをインストールする。
以下サイトを参考にしています。
[WSL2のUbuntuにXAMPPをインストールして動かす](https://shigeo-t.hatenablog.com/entry/2021/03/11/050000)

**XAMPPについて**

>XAMPP とは？
XAMPP は最も人気のある PHP 開発環境です
XAMPP は、完全に無償で MariaDB、PHP、および Perl を含んだ、簡単にインストールできる Apache ディストリビューションです。XAMPP オープン ソース パッケージは、インストールと利用が非常に簡単できるよう設定されています。
[「XAMPP Apache + MariaDB + PHP + Perl」](https://www.apachefriends.org/jp/index.html)より引用

[Apache Friends](https://www.apachefriends.org/jp/download.html)のサイトでは、PHP8のインストーラしかないので、「[その他のダウンロード](http://sourceforge.net/projects/xampp/files/)」から過去バージョンのダウンロードサイトへアクセスする。

![image-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/a82d6cd2-540d-a1ff-536f-2d1db2caddcc.png)
(https://www.apachefriends.org/jp/download.html より引用)

「その他のダウンロード」から、[Sourceforgeのサイト](https://sourceforge.net/projects/xampp/files/)に飛ぶので、「[XAMPP Linux](https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/)」を選択する。

![image-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/83af5ea0-ef97-8ca0-e76c-838ccd0caee6.png)

(https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/ より引用)

7.x.x（PHP7）を選び、WSLにインストールする。
※7.4.xなどを選択すると、MariaDBがMariaDB 10.4.22になってしまい、Teslinkの要件を外れてしまうので注意

![image-6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/c857b6f0-6a13-78e0-e88c-4f7803688bf9.png)

（https://github.com/TestLinkOpenSourceTRMS/testlink-code/tree/testlink_1_9_20_fixed/ より引用）

今回は、XAMPP7.2.5をインストールすることにした。
★バージョン情報
https://www.apachefriends.org/blog/new_xampp_20180511.html
★ダウンロードサイト
https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/7.2.5/

**XAMPPのインストール**
下記サイトを見ながら、XAMPPをインストールする。
[WSL2のUbuntuにXAMPPをインストールして動かす](https://shigeo-t.hatenablog.com/entry/2021/03/11/050000)

~~~
>sudo wget https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/7.2.5/xampp-linux-x64-7.2.5-0-installer.run
>sudo ./xampp-linux-x64-7.2.5-0-installer.run
~~~

インストールのGUIが起動するので、GUIを操作してインストールする。

![image-7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/0767ae71-8e71-ead9-60f4-0fc0a4f4e7d7.png)

「Next」を押下する。

![image-8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/2c228351-52e7-3508-aae4-782b2faa896b.png)

XAMPP Core FilesとXAMPP Developer Filesにチェックを入れて、「Next」を押下する。

![image-9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/2d0f6723-6041-4917-875e-be6253b003b3.png)

「Next」を押下する。

![image-11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/cfac1a16-1701-5e83-6a71-302d4217d8f3.png)

「Next」を押下する。

![image-12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/fe4e12f6-c305-a6b4-b3b6-eb298eb51227.png)

「Next」を押下する。
インストールが始まる。

![image-14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/e69ec29e-49a1-474e-285e-0a31dbcfd8cb.png)


インストールが無事に終了し「Finish」を押下すると、XAMPPのメニュー画面が開かれる。
![image-13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/63d95b2e-b6d0-bca0-de80-07cc332ba09d.png)


「Manage Service」のタブを開き、「Start All」を押下する。
![image-15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/3d22dcb7-21d7-753e-864f-7acb6f405e62.png)


ブラウザからlocalhostでアクセスすると、ダッシュボードが開く。
![image-16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/812644ea-84b1-b845-1a78-3fe65c4cabc1.png)

右上のphpMyAdminを開くと、下記が開く。
![image-17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/f9e7f97a-c4db-37c6-2eda-c8ee18423912.png)

ここまで、できるとXAMPPが正常にWSL2にインストールされる！

**XAMPPのセキュリティ設定**
XAMPP FAQsに記載があるセキュリティ設定を行う。
初期設定で、MysqやphpMyAdminにパスワード設定がされていないので、設定を行う。

以下のサイトを参考にした。
[UbuntuにLAMPP(XAMPPのLinux版)をインストールする](https://lil.la/archives/4324)
[Linux よくある質問](http://intranet.iesc.gov.ar/dashboard/jp/faq.html)

>デフォルトの設定では、XAMPPはパスワードが設定されていません。そして、他人がアクセスする環境で、この設定のままXAMPPを実行するのはお勧めできません。セキュリティチェックを開始するために、rootユーザとして次のコマンドを実行してください。
>~~~
> >sudo /opt/lampp/lampp security
>~~~
>画面に次のようなダイアログが表示されます。
>XAMPP: Quick security check...
>XAMPP: MySQL is accessable via network.
>XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
>XAMPP: Turned off.
>XAMPP: Stopping MySQL...
>XAMPP: Starting MySQL...
>XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
>XAMPP: Do you want to set a password? [yes] yes
>XAMPP: Password: ******（任意のパスワード）
>XAMPP: Password (again): ******
>XAMPP: Setting new MySQL pma password.
>XAMPP: Setting phpMyAdmin's pma password to the new one.
>XAMPP: MySQL has no root passwort set!!!
>XAMPP: Do you want to set a password? [yes] yes
>XAMPP: Write the passworde somewhere down to make sure you won't forget it!!!
>XAMPP: Password: ******（任意のパスワード）
>XAMPP: Password (again): ******
>XAMPP: Setting new MySQL root password.
>XAMPP: Setting phpMyAdmin's root password to the new one.
>XAMPP: The FTP password for user 'nobody' is still set to 'lampp'.
>XAMPP: Do you want to change the password? [yes] yes
>XAMPP: Password: ******（任意のパスワード）
>XAMPP: Password (again): ******
>XAMPP: Reload ProFTPD...
>XAMPP: Done.

（[Linux よくある質問](http://intranet.iesc.gov.ar/dashboard/jp/faq.html)より引用）

後ほど、Teslinkインストール時に、MySQLのadminログインについて聞かれるときに、設定したパスワードを使用する。
XAMPPのGUI画面から、すべてのアプリケーションを再起動する。

**XAMPPの起動**
XAMPPがインストールされたディレクトリに移動して、実行する。
~~~
>sudo cd /opt/lampp
>sudo ./xampp-linux-x64-7.2.5-0-installer.run
~~~

XAMPPのGUIツールが立ち上がるので、Apache、MySQL、ProFTPDをスタートする。


<a id="TestLink準備編"></a>
## TestLink準備編
このセクションでは、WSL2・XAMPP環境へのTestLinkの準備について説明する。

**TestLinkのインストール**
TestLinkのインストール方法は、下記サイトに従って行う。
[TestLink - Installation](https://www.tutorialspoint.com/testlink/testlink_installation.htm)

**Step1** - Testlink-1.9.20-fixedのクローン
~~~
>sudo git clone https://github.com/TestLinkOpenSourceTRMS/testlink-code.git
~~~

クローンが完了すると、「testlink-code」というディレクトリがクローンされる。
![image-18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/76b2cb60-9477-41a8-cd0d-4726de5b6db9.png)


**Step2** - testlinkディレクトリの場所変更
「Testlink-code」のディレクトリ名を「testlink」に変更する。
/opt/lampp/htdocsに「testlink」ディレクトリを移動する。

~~~
>sudo mv testlink-code testlink
>sudo mv testlink /opt/lampp/htdocs
~~~

htdocsのディレクトリ内に移動する。
![image-19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/a9b22226-c999-af2a-4781-ae4aa13b5563.png)


**Step3** - Configファイルの編集
XAMPPの環境上にTestLinkをインストールするので、Configファイル（config.inc.php）に記載されているデフォルト情報を修正する。

nanoエディターを使用して、configファイルの情報を更新する。
~~~
>cd /opt/lampp/htdocs/testlink
>sudo nano config.inc.php
~~~

config.inc.phpの下記の箇所を変更する。
~~~
//$tlCfg→log_path = ‘/var/testlink/logs/’; /* unix example */
//下記のように修正する
$tlCfg→log_path = ‘/opt/lampp/htdocs/testlink/logs/’;
~~~
~~~
$g_repositoryPath = ‘D:/xampp/htdocs/testlink/upload area/’; /* unix example */
//下記のように修正する
$g_repositoryPath = ‘/opt/lampp/htdocs/testlink/upload area/’;
~~~

もし必要があれば、権限を付与する。
~~~
>sudo chmod 777 config.inc.php
~~~

**Step4** - localhost/testlinkにアクセス
ブラウザからlocalhost/testlinkにアクセスする。
アクセスすると下記のページが開く。
インストレーションに関して、以下のyoutubeを参考にした。
<iframe width="560" height="315" src="https://www.youtube.com/embed/sIWr4-75-6A?si=JqPPaAmRXvgSMHJT" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

動画を参考にしつつ、インストールを行っていく。

![image-20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/56b7d24a-0a8b-4db7-01bb-60b2fe5e2a9a.png)

「New installation」をクリックして、インストールを始める。

ライセンスについて聞かれるので、「I agree to the terms set out in this license.」にチェックを入れて「Continue」を押す。

![image-21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/21b836bd-307d-3144-a679-bdcd8105f0c0.png)


WSL２に準備した環境のチェックが行われます。
![image-22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/0dee7747-e6f1-0a7f-15ad-4370b3171a85.png)
![image-23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/49a7e4df-9a25-06e0-0301-1b37415aaa9e.png)

WSL2に準備した環境が問題なければ、PHPやデータベース、Read/Writeの権限のところに「OK」と表示される。
OKが表示されたら、「Continue」を押下する。

![image-24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/d63c9a28-26ee-e3d8-1491-691b39b9d050.png)

各設定項目は、下記に設定する。
Database Type: **MySQL/MariaDB(5.6+/10.+)**
Database host: **localhost**
Database names: **testlink**

![image-25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/13dc7efa-ad7e-59c8-938c-2cb9cbaa2777.png)

Table prefixは**空**のまま、設定する。

![image-26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/57d14e5b-f787-b7e0-8ffa-d99124d98836.png)


以下の項目はXamppのMySQLのrootユーザーの設定を登録する。
**Database admin login** : root
**Database admin password** : 設定済みのパスワード

任意のDB名とパスワードを設定する。
存在しないDBなら、新規に作成してくれる。
（既に作成している場合は、既存の情報を登録する）
**TestLink DB login** : 任意
**TestLink DB password** : 任意

「Process Testlink Setup!」を押下する。

**Step5** - インストレーション開始
DBの設定を終えると、以下の画面が表示される。
![image-27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/8fed08de-a54a-8fd7-3bb6-5dca7991d6b9.png)

localhost/testlinkにアクセスすると、ログイン画面が表示される。
![image-29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/0d7dd20b-9d25-8633-59d4-edea8168b0d3.png)

最初にログインする際は、admin/adminでログインする。
別のadminユーザーを作成して、adminユーザーを無効化する。
（SMTPサーバーの設定はやらないので、新規にAdminユーザーを作る方が楽）

ログインした後のTestLink
![image-28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592747/4bf3c588-5706-505b-68fa-c8d92f76e111.png)

これから、テスト管理と要求管理を始めよう！
次回は、要求と要求管理について書きます！


<a id="参考サイト"></a>
## 参考サイト
・TestLink関係
[TestLink - Installation](https://www.tutorialspoint.com/testlink/testlink_installation.htm)
[TestLink Open Source Test Management](https://testlink.org/)
[How to install the TestLink 1.9.20 on Ubuntu 22.04](https://medium.com/@samueltcsantos/installing-the-teslink-in-ubuntu-fca5b01257a5)

・XAMPP関係
[WSL2のUbuntuにXAMPPをインストールして動かす](https://shigeo-t.hatenablog.com/entry/2021/03/11/050000)
[Linux よくある質問](https://www.apachefriends.org/jp/faq_linux.html)