はじめに
SquashTM インストール からリンクする 前提条件 ページによると、SquashTM をインストールするための要件は以下のとおり
| CPU | RAM | HDD | |
|---|---|---|---|
| Minimum | 1 core | 1 GB dedicated | 1 GB |
| Recommended | 2 cores | 2 GB dedicated | 5 GB |
| Minimum* | Recommended | |
|---|---|---|
| Operating System | Linux: Debian 12, Ubuntu 22.04, Red Hat Enterprise Linux 8 Windows 10 | Debian 12 |
| Java Runtime Environment | JRE** 21 | JRE** 21 |
| Database | PostgreSQL 15 MariaDB 10.7 | PostgreSQL 17 |
- means that later versions can also be used.
** any JRE compatible with Java SE (Oracle JRE, Eclipse Temurin, Amazon Corretto, Red Hat OpenJDK…) can be used.
2025年11月現在、動作検証した環境は以下の通り。
- Amazon Linux 2023
- SquashTM 12.0.0
- Java 21
- PostgreSQL 17.6
インスタンスの準備
お試し用のEC2インスタンスを作成する。稼働させてみると、t3.smallあたりのインスタンスでは厳しく、t3.medium以上は必要そう。
インスタンスクライアントでインスタンスに接続する。
必要なパッケージのインストール
SquashTM の稼働に必要なパッケージをインストールする。
sudo yum install java-21-amazon-corretto postgresql17 postgresql17-server potgresql17-contrib
Maven は yum でインストールされるバージョンが古いため、以下のコマンドで導入する。
cd ~
# ダウンロード
curl -L -O https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.tar.gz
# 展開
tar xvfz apache-maven-3.9.11-bin.tar.gz
# PATHの設定
export PATH=/home/ec2-user/apache-maven-3.9.11/bin:$PATH
# バージョン確認
mvn -v
PostgreSQL の初期設定
インストールされたことを確認する。
$ psql --version
psql (PostgreSQL) 17.6
データベースを初期化する。
sudo postgresql-setup initdb
ログにエラーが出力されていないことを確認する。
sudo cat /var/lib/pgsql/initdb_postgresql.log
サービスを起動する。あわせて自動起動に設定する。
sudo systemctl start postgresql
sudo systemctl enable postgresql
OSユーザー postgres のパスワードを設定する。
sudo passwd postgres
PostgreSQL に接続し、SquashTM 用のデータベースを作成する。
sudo -u postgres psql
PostgreSQL に接続したら、以下を実行する。
CREATE DATABASE squashtm WITH ENCODING='UTF8';
CREATE USER "squash-tm" WITH PASSWORD 'password';
ALTER DATABASE squashtm OWNER TO "squash-tm";
GRANT CONNECT ON DATABASE squashtm TO "squash-tm";
exit
SquashTM から JDBC 接続できるように、IPv4 接続を許可する。postgresql.conf を編集する。
listen_addresses = 'localhost' の行がコメント(先頭に#)になっているので、コメントを外して(#を削除して)有効にする。
sudo vi /var/lib/pgsql/data/postgresql.conf
同様に pg_hba.conf を修正する。
sudo vi /var/lib/pgsql/data/pg_hba.conf
IPv4 local connections の行を編集する。
# IPv4 local connections:
#host all all 127.0.0.1/32 ident
host all all 0.0.0.0/0 md5
設定を反映させるため、PostgreSQL を再起動する。
sudo systemctl restart postgresql
squashtm データベースに squash-tm ユーザーで接続できることを確認する。
psql squashtm squash-tm
exit
SquashTM のインストール
ダウンロードのページから tar.gz 形式でダウンロードしてインストールする。
https://tm-en.doc.squashtest.com/latest/downloads.html
# /optにインストールする
cd /opt
# 現時点(2025/11/10)の最新版をダウンロード
sudo curl -L -O https://nexus.squashtest.org/nexus/repository/public-releases/tm/core/squash-tm-distribution/12.0.0.RELEASE/squash-tm-12.0.0.RELEASE.tar.gz
# 展開する
sudo tar -zxvf squash-tm-12.0.0.RELEASE.tar.gz.tar.gz
# OS に squash-tm ユーザー追加
sudo useradd --system --user-group --home /opt/squash-tm squash-tm
# ファイルの所有者を squash-tm に変更
sudo chown -R squash-tm:squash-tm /opt/squash-tm
# startup.sh ファイルに実行パーミッション付加
sudo chmod +x /opt/squash-tm/bin/startup.sh
# squash.tm.cfg.properties を編集する
sudo vi /opt/squash-tm/conf/squash.tm.cfg.properties
squash.tm.cfg.properties に PostgreSQL の JDBC 接続を設定する。
spring.profiles.active = postgresql
spring.datasource.url = jdbc:postgresql://localhost:5432/squashtm
spring.datasource.username = squash-tm
spring.datasource.password = password
アプリケーションを起動する。
cd /opt/squash-tm/bin
sudo -u squash-tm ./startup.sh &
#nohup ./startup.sh &
ブラウザーで http://:8080/squash を開いて確認する。
終了は、
# プロセス番号確認
ps -ef | grep starup.sh
# 終了
kill -9 <プロセス番号>
日本語化してみる
やはり日本語で使いたい、ということで、日本語リソースを追加してみた。ソースをクローンしてビルドする。
# ホームディレクトリで作業する
cd ~
# git clone
git clone https://gitlab.com/naofumi/squashtest-tm-staging.git
cd squashtest-tm-staging
# feature/japanese-v12 ブランチをチェックアウト
git checkout feature/japanese-v12
export PATH=/home/ec2-user/apache-maven-3.9.11/bin:$PATH
# ビルド
mvn clean
mvn package -DskipTests
ビルドが完了したら、war モジュールをアプリケーションサーバーに配置する。
cd ~/squashtest-tm-staging
sudo cp ./tm/tm.web/target/tm.web-12.0.0-SNAPSHOT.war /opt/squash-tm/bundles/squash-tm.war
アプリケーションを起動する。
cd /opt/squash-tm/bin
sudo -u squash-tm ./startup.sh &
#nohup ./startup.sh &
squash-tmは比較的アクティブに更新されているようです。
現在v12ですが、上記でダウンロードされるバージョンがv13に更新された場合は、v12をビルドして更新しようとするとアプリのバージョンが、データベースのバージョンより古いということで起動できなくなります。
また、アプリのバージョンが上がった場合は、startup.sh実行後にデータベースのスキーマ更新を行うかのプロンプトが表示され、y を入力する必要があります。
画面はこんな感じです。
参考
テスト管理システム SquashTMの調査 2025年版
https://zenn.dev/mima_ita/articles/196a654f4b6f00
Squash Documentation
https://tm-en.doc.squashtest.com
