Installation

De Wiki de Jordan LE NUFF
Sauter à la navigation Sauter à la recherche
(Page créée avec « == Présentation == Cette page a pour objet de décrire comment installer la solution Squash. == Squash TM == === Préambule === Cette section s'appuie sur la [https://si… »)
 
 
Ligne 2 : Ligne 2 :
 
Cette page a pour objet de décrire comment installer la solution Squash.
 
Cette page a pour objet de décrire comment installer la solution Squash.
  
== Squash TM ==
+
== Préambule ==
=== Préambule ===
 
 
Cette section s'appuie sur la [https://sites.google.com/a/henix.fr/wiki-squash-tm/ documentation officielle de Squash TM] et se fait sur un serveur CentOS 7.
 
Cette section s'appuie sur la [https://sites.google.com/a/henix.fr/wiki-squash-tm/ documentation officielle de Squash TM] et se fait sur un serveur CentOS 7.
  
=== Prérequis ===
+
== Prérequis ==
 
Les prérequis présentés sont ceux recommandés par l'éditeur de la solution :
 
Les prérequis présentés sont ceux recommandés par l'éditeur de la solution :
 
*'''Nombre de CPU'''
 
*'''Nombre de CPU'''
Ligne 25 : Ligne 24 :
 
*'''ulimit'''
 
*'''ulimit'''
 
**Nombre maximum de descripteurs de fichiers ouverts défini à 60000
 
**Nombre maximum de descripteurs de fichiers ouverts défini à 60000
 +
 +
== Installation d'Apache ==
 +
Installation des paquets nécessaires à la compilation d'Apache :
 +
mkdir /local/builds
 +
yum install gcc glibc-devel glibc-headers kernel-headers libmpc mpfr         
 +
yum install pcre-devel
 +
yum install expat-devel
 +
yum install systemd-devel
 +
 +
Création d'un user/groupe ''www'' pour tout ce qui est outil web :
 +
groupadd www
 +
mkdir -p /data/www
 +
chown :www /data/www
 +
 +
Création de l'arborescence d'Apache :
 +
mkdir -p /local/httpd/httpd-2.4.43
 +
ln -s httpd-2.4.43 /local/httpd/current
 +
 +
Récupération des sources Apache et décompression de l'archive :
 +
wget https://downloads.apache.org//httpd/httpd-2.4.43.tar.gz
 +
tar -zxf httpd-2.4.43.tar.gz -C /local/builds
 +
 +
Récupération des sources APR et APR-Utils nécessaires à Apache et décompression des archives :
 +
wget http://mirrors.standaloneinstaller.com/apache//apr/apr-1.7.0.tar.gz
 +
tar -zxf apr-1.7.0.tar.gz
 +
mv apr-1.7.0 /local/builds/httpd-2.4.43/srclib/apr
 +
wget http://mirrors.standaloneinstaller.com/apache//apr/apr-util-1.6.1.tar.gz
 +
tar -zxf apr-util-1.6.1.tar.gz
 +
mv apr-util-1.6.1 /local/builds/httpd-2.4.43/srclib/apr-util
 +
 +
Positionnement dans le dossier de build et lancement de la compilation :
 +
<pre>
 +
cd /local/builds/httpd-2.4.43
 +
./configure \
 +
--prefix=/local/httpd/current \
 +
--sysconfdir=/local/httpd/conf \
 +
--enable-proxy \
 +
--enable-proxy-http \
 +
--enable-proxy-wstunnel \
 +
--enable-proxy-fcgi \
 +
--enable-rewrite \
 +
--enable-authz-host \
 +
--enable-mime \
 +
--enable-static-support \
 +
--enable-remoteip \
 +
--enable-status \
 +
--enable-systemd \
 +
--enable-mods-static="proxy rewrite authz-core authz-host log-config alias dir unixd mime remoteip status systemd" \
 +
--disable-so \
 +
--disable-proxy-connect \
 +
--disable-proxy-ftp \
 +
--disable-proxy-scgi \
 +
--disable-proxy-uwsgi \
 +
--disable-proxy-fdpass \
 +
--disable-proxy-ajp \
 +
--disable-proxy-balancer \
 +
--disable-proxy-express \
 +
--disable-proxy-hcheck \
 +
--disable-access-compat \
 +
--disable-auth \
 +
--disable-auth-basic \
 +
--disable-authn-core \
 +
--disable-authn-file \
 +
--disable-authz-groupfile \
 +
--disable-authz-user \
 +
--disable-autoindex \
 +
--disable-env \
 +
--disable-filter \
 +
--disable-reqtimeout \
 +
--disable-setenvif \
 +
--disable-version \
 +
--disable-authn-dbm \
 +
--disable-authn-anon \
 +
--disable-authn-dbd \
 +
--disable-authn-socache \
 +
--disable-authz-dbm \
 +
--disable-authz-owner \
 +
--disable-authz-dbd \
 +
--disable-auth-form \
 +
--disable-auth-digest \
 +
--disable-allowmethods \
 +
--disable-cache \
 +
--disable-file-cache \
 +
--disable-headers \
 +
--disable-cache-disk \
 +
--disable-cache-socache \
 +
--disable-socache-dbm \
 +
--disable-socache-memcache \
 +
--disable-socache-redis \
 +
--disable-socache-shmcb
 +
</pre>
 +
 +
Compilation et installation :
 +
make -j2
 +
make install
 +
 +
Création de l'utilisateur et groupe Apache et ajout dans le groupe ''www'' :
 +
useradd -r apache
 +
usermod -aG www apache
 +
 +
Correction et affectation des droits à Apache :
 +
chown -R root:apache /local/httpd
 +
 +
Ajout des binaires Apache dans le PATH du serveur :
 +
echo "export PATH=\$PATH:/local/httpd/current/bin" >> /etc/profile.d/sh.local
 +
 +
Création du service <code>http.service</code> :
 +
vi /usr/lib/systemd/system/http.service
 +
 +
Le contenu du fichier <code>/usr/lib/systemd/system/http.service</code> doit être le suivant :
 +
<pre>
 +
[Unit]
 +
Description=The Apache HTTP Server
 +
After=network.target
 +
 +
[Service]
 +
Type=notify
 +
ExecStart=/local/httpd/current/bin/httpd -D FOREGROUND -k start
 +
ExecReload=/local/httpd/current/bin/httpd -k graceful
 +
KillMode=mixed
 +
TimeoutStopSec=60
 +
 +
[Install]
 +
WantedBy=multi-user.target
 +
</pre>
 +
 +
Prise en compte du nouveau service :
 +
systemctl daemon-reload
 +
 +
Activation du service au démarrage du serveur :
 +
systemctl enable http
 +
 +
Démarrage du service :
 +
systemctl start http
 +
 +
Ajout du port 80 dans le pare-feu (service http de firewalld) :
 +
firewall-cmd --add-service=http
 +
firewall-cmd --add-service=http --permanent
 +
 +
Création des dossiers et fichiers de logs et affectation des droits d'accès :
 +
mkdir -p /data/logs/{localhost,mygreatserver}
 +
chmod o+rx /data
 +
touch /data/logs/localhost/localhost_http_{error,access}.log
 +
touch /data/logs/mygreatserver/mygreatserver_http_{error,access}.log
 +
 +
Création du dossier hébergeant la configuration des vhosts à venir :
 +
mkdir /local/httpd/conf/vhosts
 +
 +
Edition de la configuration Apache de base dans le fichier <code>/local/httpd/conf/httpd.conf</code> :
 +
<pre>
 +
User apache
 +
Group apache
 +
ServerName localhost:80
 +
<Directory "/local/httpd/current/htdocs">
 +
...
 +
    Require all denied
 +
</Directory>
 +
ErrorLog "|/local/httpd/current/bin/rotatelogs -t -l -n 15 /data/logs/localhost/localhost_http_error.log 10M"
 +
    CustomLog "|/local/httpd/current/bin/rotatelogs -t -l -n 15 /data/logs/localhost/localhost_http_access.log 10M" combined
 +
<Directory "/local/httpd/current/cgi-bin">
 +
...
 +
    Require all denied
 +
Include /local/httpd/conf/extra/httpd-mpm.conf
 +
</pre>
 +
 +
Ajout d'options supplémentaires dans le fichier <code>/local/httpd/conf/httpd.conf</code> :
 +
<pre>
 +
###################################
 +
## Ajout d'options personnalisée ##
 +
###################################
 +
 +
# Ajout du reverse Proxy
 +
RemoteIPHeader X-Forwarded-For
 +
RemoteIPInternalProxy 192.168.0.254
 +
 +
# Ajout du dossier vhosts
 +
IncludeOptional /local/httpd/conf/vhosts/*.conf
 +
 +
# Activation d'informations supplémentaires pour "server-status"
 +
ExtendedStatus On
 +
</pre>
 +
 +
== Installation de MySQL ==
 +
Récupération du lien de téléchargement du repository MySQL sur le site https://www.mysql.com/downloads/ :
 +
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
 +
 +
Récupération du contenu de la clé GPG publique de MySQL sur https://dev.mysql.com/doc/refman/8.0/en/checking-gpg-signature.html et copie de cette dernière dans un fichier <code>mysql_pubkey.asc</code>.
 +
 +
Import de la clé GPG publique de MySQL:
 +
gpg --import mysql_pubkey.asc
 +
 +
Import de la clé GPG publique de MySQL dans RPM :
 +
rpm --import mysql_pubkey.asc
 +
 +
Vérification de la signature du paquet téléchargé :
 +
rpm --checksig mysql80-community-release-el7-3.noarch.rpm
 +
 +
Installation des repos MySQL :
 +
rpm -i mysql80-community-release-el7-3.noarch.rpm
 +
 +
Lister les repositories MySQl :
 +
yum repolist all | grep mysql
 +
 +
Lister les repositories MySQL activés :
 +
yum repolist enabled | grep "mysql.*-community.*"
 +
 +
Désactiver le repository MySQL 8.0 :
 +
yum-config-manager --disable mysql80-community
 +
 +
Activer le repository MySQL 5.7 :
 +
yum-config-manager --enable mysql57-community
 +
 +
Installer le serveur MySQL :
 +
yum install mysql-community-server
 +
 +
Activer l'activation du service MySQL au démarrage du serveur :
 +
systemctl enable mysqld
 +
 +
Lancer une première fois le service MySQL :
 +
systemctl start mysqld
 +
 +
Cela permet de générer un mot de passe pour l'utilisateur root.
 +
 +
Arrêter le service MySQL et ajouter les options <code>validate_password_policy</code> et <code>validate_password_length</code> pour baisser le niveau d'exigence du mot de passe :
 +
systemctl stop mysqld
 +
echo "bind-address=0.0.0.0" >> /etc/my.cnf
 +
echo "validate_password_policy=LOW" >> /etc/my.cnf
 +
echo "validate_password_length=6" >> /etc/my.cnf
 +
 +
Lancer à nouveau le service MySQL :
 +
systemctl start mysqld
 +
 +
Lancement de la commande suivante pour récupérer le mot de passe temporaire :
 +
grep 'temporary password' /var/log/mysqld.log
 +
 +
Se connecter à MySQL en tant que ''root'' avec le mot de passe précédemment récupéré et le changer :
 +
mysql -uroot -p
 +
ALTER USER 'root'@'localhost' IDENTIFIED BY '*******';
 +
 +
Ajout d'un utilisateur root capable de se connecter depuis la machine ''mysecondgreatserver'' pour PhpMyAdmin :
 +
CREATE USER 'root'@'mysecondgreatserver.mydomain.local' IDENTIFIED WITH mysql_native_password BY '*******';
 +
GRANT ALL PRIVILEGES ON *.* TO 'root'@'mysecondgreatserver.mydomain.local' WITH GRANT OPTION;
 +
FLUSH PRIVILEGES;
 +
 +
Ajout de l'autorisation dans le pare-feu :
 +
firewall-cmd --add-service=mysql
 +
firewall-cmd --add-service=mysql --permanent
 +
 +
MySQL est installé.
 +
 +
== Prérequis MySQL ==
 +
Par défaut, sur la version 5.7.31 de MySQL :
 +
*le moteur de stockage est InnoDB
 +
*le mode SQL comprend les options <code>NO_ENGINE_SUBSTITUTION</code> et <code>STRICT_TRANS_TABLES</code>
 +
 +
Par conséquent, les prérequis Squash TM sont respectés.
 +
 +
Toutefois, il ne faut pas que l'option <code>ONLY_FULL_GROUP_BY</code> soit présente sinon une erreur de ce genre surviendra lors de l'import des données dans la base de données :
 +
ERROR 1055 (42000) at line 4430: Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'squashtm_db.TCLN_RELATIONSHIP_CLOSURE.DEPTH' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
 +
 +
Redéfinition de la variable <code>sql_mode</code> avec :
 +
echo "sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" >> /etc/my.cnf
 +
 +
Redémarrage de MySQL pour prise en compte
 +
systemctl restart mysqld
 +
 +
== Configuration MySQL ==
 +
Se connecter en tant que ''root'' à MySQL :
 +
mysql -uroot -p
 +
 +
Créer la base de données <code>squashtm_db</code> pour Squash TM :
 +
CREATE DATABASE IF NOT EXISTS squashtm_db CHARACTER SET utf8 COLLATE utf8_bin;
 +
 +
Créer l'utilisateur <code>squashtm_user</code> pour Squash TM ainsi que son mot de passe :
 +
CREATE USER 'squashtm_user'@'localhost' IDENTIFIED BY '********';
 +
 +
Donner les droits à l'utilisateur <code>squashtm_user</code> sur la base de données <code>squashtm_db</code> :
 +
GRANT ALL ON squashtm_db.* TO 'squashtm_user'@'localhost';
 +
FLUSH PRIVILEGES;
 +
 +
== Installation de Java ==
 +
Lancer la commande :
 +
yum install java-11-openjdk
 +
 +
Retour de la commande :
 +
{{terminal|text=
 +
[root@mygreatserver ~]# yum install java-11-openjdk
 +
Modules complémentaires chargés : fastestmirror
 +
Loading mirror speeds from cached hostfile
 +
* base: centos.crazyfrogs.org
 +
* epel: mirrors.up.pt
 +
* extras: mirrors.atosworldline.com
 +
* updates: mirrors.atosworldline.com
 +
Résolution des dépendances
 +
--> Lancement de la transaction de test
 +
---> Le paquet java-11-openjdk.x86_64 1:11.0.7.10-4.el7_8 sera installé
 +
--> Traitement de la dépendance : java-11-openjdk-headless(x86-64) = 1:11.0.7.10-4.el7_8 pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : xorg-x11-fonts-Type1 pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libjpeg.so.62(LIBJPEG_6.2)(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : fontconfig(x86-64) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libjvm.so()(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libjpeg.so.62()(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libjava.so()(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libgif.so.4()(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libXtst.so.6()(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libXrender.so.1()(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libXi.so.6()(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libXext.so.6()(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libX11.so.6()(64bit) pour le paquet : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64
 +
--> Lancement de la transaction de test
 +
---> Le paquet fontconfig.x86_64 0:2.13.0-4.3.el7 sera installé
 +
--> Traitement de la dépendance : fontpackages-filesystem pour le paquet : fontconfig-2.13.0-4.3.el7.x86_64
 +
--> Traitement de la dépendance : dejavu-sans-fonts pour le paquet : fontconfig-2.13.0-4.3.el7.x86_64
 +
---> Le paquet giflib.x86_64 0:4.1.6-9.el7 sera installé
 +
--> Traitement de la dépendance : libSM.so.6()(64bit) pour le paquet : giflib-4.1.6-9.el7.x86_64
 +
--> Traitement de la dépendance : libICE.so.6()(64bit) pour le paquet : giflib-4.1.6-9.el7.x86_64
 +
---> Le paquet java-11-openjdk-headless.x86_64 1:11.0.7.10-4.el7_8 sera installé
 +
--> Traitement de la dépendance : tzdata-java >= 2015d pour le paquet : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : copy-jdk-configs >= 3.3 pour le paquet : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : pcsc-lite-libs(x86-64) pour le paquet : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : lksctp-tools(x86-64) pour le paquet : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libasound.so.2(ALSA_0.9.0rc4)(64bit) pour le paquet : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libasound.so.2(ALSA_0.9)(64bit) pour le paquet : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : javapackages-tools pour le paquet : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : cups-libs(x86-64) pour le paquet : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64
 +
--> Traitement de la dépendance : libasound.so.2()(64bit) pour le paquet : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64
 +
---> Le paquet libX11.x86_64 0:1.6.7-2.el7 sera installé
 +
--> Traitement de la dépendance : libX11-common >= 1.6.7-2.el7 pour le paquet : libX11-1.6.7-2.el7.x86_64
 +
--> Traitement de la dépendance : libxcb.so.1()(64bit) pour le paquet : libX11-1.6.7-2.el7.x86_64
 +
---> Le paquet libXext.x86_64 0:1.3.3-3.el7 sera installé
 +
---> Le paquet libXi.x86_64 0:1.7.9-1.el7 sera installé
 +
---> Le paquet libXrender.x86_64 0:0.9.10-1.el7 sera installé
 +
---> Le paquet libXtst.x86_64 0:1.2.3-1.el7 sera installé
 +
---> Le paquet libjpeg-turbo.x86_64 0:1.2.90-8.el7 sera installé
 +
---> Le paquet xorg-x11-fonts-Type1.noarch 0:7.5-9.el7 sera installé
 +
--> Traitement de la dépendance : ttmkfdir pour le paquet : xorg-x11-fonts-Type1-7.5-9.el7.noarch
 +
--> Traitement de la dépendance : ttmkfdir pour le paquet : xorg-x11-fonts-Type1-7.5-9.el7.noarch
 +
--> Traitement de la dépendance : mkfontdir pour le paquet : xorg-x11-fonts-Type1-7.5-9.el7.noarch
 +
--> Traitement de la dépendance : mkfontdir pour le paquet : xorg-x11-fonts-Type1-7.5-9.el7.noarch
 +
--> Lancement de la transaction de test
 +
---> Le paquet alsa-lib.x86_64 0:1.1.8-1.el7 sera installé
 +
---> Le paquet copy-jdk-configs.noarch 0:3.3-10.el7_5 sera installé
 +
---> Le paquet cups-libs.x86_64 1:1.6.3-43.el7 sera installé
 +
--> Traitement de la dépendance : libavahi-common.so.3()(64bit) pour le paquet : 1:cups-libs-1.6.3-43.el7.x86_64
 +
--> Traitement de la dépendance : libavahi-client.so.3()(64bit) pour le paquet : 1:cups-libs-1.6.3-43.el7.x86_64
 +
---> Le paquet dejavu-sans-fonts.noarch 0:2.33-6.el7 sera installé
 +
--> Traitement de la dépendance : dejavu-fonts-common = 2.33-6.el7 pour le paquet : dejavu-sans-fonts-2.33-6.el7.noarch
 +
---> Le paquet fontpackages-filesystem.noarch 0:1.44-8.el7 sera installé
 +
---> Le paquet javapackages-tools.noarch 0:3.4.1-11.el7 sera installé
 +
--> Traitement de la dépendance : python-javapackages = 3.4.1-11.el7 pour le paquet : javapackages-tools-3.4.1-11.el7.noarch
 +
--> Traitement de la dépendance : libxslt pour le paquet : javapackages-tools-3.4.1-11.el7.noarch
 +
---> Le paquet libICE.x86_64 0:1.0.9-9.el7 sera installé
 +
---> Le paquet libSM.x86_64 0:1.2.2-2.el7 sera installé
 +
---> Le paquet libX11-common.noarch 0:1.6.7-2.el7 sera installé
 +
---> Le paquet libxcb.x86_64 0:1.13-1.el7 sera installé
 +
--> Traitement de la dépendance : libXau.so.6()(64bit) pour le paquet : libxcb-1.13-1.el7.x86_64
 +
---> Le paquet lksctp-tools.x86_64 0:1.0.17-2.el7 sera installé
 +
---> Le paquet pcsc-lite-libs.x86_64 0:1.8.8-8.el7 sera installé
 +
---> Le paquet ttmkfdir.x86_64 0:3.0.9-42.el7 sera installé
 +
---> Le paquet tzdata-java.noarch 0:2020a-1.el7 sera installé
 +
---> Le paquet xorg-x11-font-utils.x86_64 1:7.5-21.el7 sera installé
 +
--> Traitement de la dépendance : libfontenc.so.1()(64bit) pour le paquet : 1:xorg-x11-font-utils-7.5-21.el7.x86_64
 +
--> Lancement de la transaction de test
 +
---> Le paquet avahi-libs.x86_64 0:0.6.31-20.el7 sera installé
 +
---> Le paquet dejavu-fonts-common.noarch 0:2.33-6.el7 sera installé
 +
---> Le paquet libXau.x86_64 0:1.0.8-2.1.el7 sera installé
 +
---> Le paquet libfontenc.x86_64 0:1.1.3-3.el7 sera installé
 +
---> Le paquet libxslt.x86_64 0:1.1.28-5.el7 sera installé
 +
---> Le paquet python-javapackages.noarch 0:3.4.1-11.el7 sera installé
 +
--> Traitement de la dépendance : python-lxml pour le paquet : python-javapackages-3.4.1-11.el7.noarch
 +
--> Lancement de la transaction de test
 +
---> Le paquet python-lxml.x86_64 0:3.2.1-4.el7 sera installé
 +
--> Résolution des dépendances terminée
 +
--> Recherche de dépendances inutiles
 +
Found and removing 0 unneeded dependencies
 +
 +
Dépendances résolues
 +
 +
&nbsp;=============================================================================================================================================================================================================================================
 +
Package                                                            Architecture                                    Version                                                        Dépôt                                            Taille
 +
&nbsp;=============================================================================================================================================================================================================================================
 +
Installation :
 +
java-11-openjdk                                                    x86_64                                          1:11.0.7.10-4.el7_8                                            updates                                          217 k
 +
Installation pour dépendances :
 +
alsa-lib                                                          x86_64                                          1.1.8-1.el7                                                    base                                              425 k
 +
avahi-libs                                                        x86_64                                          0.6.31-20.el7                                                  base                                              62 k
 +
copy-jdk-configs                                                  noarch                                          3.3-10.el7_5                                                    base                                              21 k
 +
cups-libs                                                          x86_64                                          1:1.6.3-43.el7                                                  base                                              358 k
 +
dejavu-fonts-common                                                noarch                                          2.33-6.el7                                                      base                                              64 k
 +
dejavu-sans-fonts                                                  noarch                                          2.33-6.el7                                                      base                                              1.4 M
 +
fontconfig                                                        x86_64                                          2.13.0-4.3.el7                                                  base                                              254 k
 +
fontpackages-filesystem                                            noarch                                          1.44-8.el7                                                      base                                              9.9 k
 +
giflib                                                            x86_64                                          4.1.6-9.el7                                                    base                                              40 k
 +
java-11-openjdk-headless                                          x86_64                                          1:11.0.7.10-4.el7_8                                            updates                                            39 M
 +
javapackages-tools                                                noarch                                          3.4.1-11.el7                                                    base                                              73 k
 +
libICE                                                            x86_64                                          1.0.9-9.el7                                                    base                                              66 k
 +
libSM                                                              x86_64                                          1.2.2-2.el7                                                    base                                              39 k
 +
libX11                                                            x86_64                                          1.6.7-2.el7                                                    base                                              607 k
 +
libX11-common                                                      noarch                                          1.6.7-2.el7                                                    base                                              164 k
 +
libXau                                                            x86_64                                          1.0.8-2.1.el7                                                  base                                              29 k
 +
libXext                                                            x86_64                                          1.3.3-3.el7                                                    base                                              39 k
 +
libXi                                                              x86_64                                          1.7.9-1.el7                                                    base                                              40 k
 +
libXrender                                                        x86_64                                          0.9.10-1.el7                                                    base                                              26 k
 +
libXtst                                                            x86_64                                          1.2.3-1.el7                                                    base                                              20 k
 +
libfontenc                                                        x86_64                                          1.1.3-3.el7                                                    base                                              31 k
 +
libjpeg-turbo                                                      x86_64                                          1.2.90-8.el7                                                    base                                              135 k
 +
libxcb                                                            x86_64                                          1.13-1.el7                                                      base                                              214 k
 +
libxslt                                                            x86_64                                          1.1.28-5.el7                                                    base                                              242 k
 +
lksctp-tools                                                      x86_64                                          1.0.17-2.el7                                                    base                                              88 k
 +
pcsc-lite-libs                                                    x86_64                                          1.8.8-8.el7                                                    base                                              34 k
 +
python-javapackages                                                noarch                                          3.4.1-11.el7                                                    base                                              31 k
 +
python-lxml                                                        x86_64                                          3.2.1-4.el7                                                    base                                              758 k
 +
ttmkfdir                                                          x86_64                                          3.0.9-42.el7                                                    base                                              48 k
 +
tzdata-java                                                        noarch                                          2020a-1.el7                                                    updates                                          188 k
 +
xorg-x11-font-utils                                                x86_64                                          1:7.5-21.el7                                                    base                                              104 k
 +
xorg-x11-fonts-Type1                                              noarch                                          7.5-9.el7                                                      base                                              521 k
 +
 +
Résumé de la transaction
 +
&nbsp;=============================================================================================================================================================================================================================================
 +
Installation  1 Paquet (+32 Paquets en dépendance)
 +
 +
Taille totale des téléchargements : 45 M
 +
Taille d'installation : 182 M
 +
Is this ok [y/d/N]: y
 +
Downloading packages:
 +
(1/33): copy-jdk-configs-3.3-10.el7_5.noarch.rpm                                                                                                                                                                      {{!}}  21 kB  00:00:00
 +
(2/33): avahi-libs-0.6.31-20.el7.x86_64.rpm                                                                                                                                                                          {{!}}  62 kB  00:00:00
 +
(3/33): dejavu-fonts-common-2.33-6.el7.noarch.rpm                                                                                                                                                                    {{!}}  64 kB  00:00:00
 +
(4/33): cups-libs-1.6.3-43.el7.x86_64.rpm                                                                                                                                                                            {{!}} 358 kB  00:00:00
 +
(5/33): alsa-lib-1.1.8-1.el7.x86_64.rpm                                                                                                                                                                              {{!}} 425 kB  00:00:00
 +
(6/33): fontpackages-filesystem-1.44-8.el7.noarch.rpm                                                                                                                                                                {{!}} 9.9 kB  00:00:00
 +
(7/33): fontconfig-2.13.0-4.3.el7.x86_64.rpm                                                                                                                                                                          {{!}} 254 kB  00:00:00
 +
(8/33): giflib-4.1.6-9.el7.x86_64.rpm                                                                                                                                                                                {{!}}  40 kB  00:00:00
 +
(9/33): java-11-openjdk-11.0.7.10-4.el7_8.x86_64.rpm                                                                                                                                                                  {{!}} 217 kB  00:00:00
 +
(10/33): libICE-1.0.9-9.el7.x86_64.rpm                                                                                                                                                                                {{!}}  66 kB  00:00:00
 +
(11/33): libSM-1.2.2-2.el7.x86_64.rpm                                                                                                                                                                                {{!}}  39 kB  00:00:00
 +
(12/33): dejavu-sans-fonts-2.33-6.el7.noarch.rpm                                                                                                                                                                      {{!}} 1.4 MB  00:00:00
 +
(13/33): javapackages-tools-3.4.1-11.el7.noarch.rpm                                                                                                                                                                  {{!}}  73 kB  00:00:00
 +
(14/33): libX11-common-1.6.7-2.el7.noarch.rpm                                                                                                                                                                        {{!}} 164 kB  00:00:00
 +
(15/33): libXau-1.0.8-2.1.el7.x86_64.rpm                                                                                                                                                                              {{!}}  29 kB  00:00:00
 +
(16/33): libXext-1.3.3-3.el7.x86_64.rpm                                                                                                                                                                              {{!}}  39 kB  00:00:00
 +
(17/33): libXi-1.7.9-1.el7.x86_64.rpm                                                                                                                                                                                {{!}}  40 kB  00:00:00
 +
(18/33): libXtst-1.2.3-1.el7.x86_64.rpm                                                                                                                                                                              {{!}}  20 kB  00:00:00
 +
(19/33): libXrender-0.9.10-1.el7.x86_64.rpm                                                                                                                                                                          {{!}}  26 kB  00:00:00
 +
(20/33): libX11-1.6.7-2.el7.x86_64.rpm                                                                                                                                                                                {{!}} 607 kB  00:00:00
 +
(21/33): libfontenc-1.1.3-3.el7.x86_64.rpm                                                                                                                                                                            {{!}}  31 kB  00:00:00
 +
(22/33): libjpeg-turbo-1.2.90-8.el7.x86_64.rpm                                                                                                                                                                        {{!}} 135 kB  00:00:00
 +
(23/33): libxslt-1.1.28-5.el7.x86_64.rpm                                                                                                                                                                              {{!}} 242 kB  00:00:00
 +
(24/33): libxcb-1.13-1.el7.x86_64.rpm                                                                                                                                                                                {{!}} 214 kB  00:00:00
 +
(25/33): pcsc-lite-libs-1.8.8-8.el7.x86_64.rpm                                                                                                                                                                        {{!}}  34 kB  00:00:00
 +
(26/33): lksctp-tools-1.0.17-2.el7.x86_64.rpm                                                                                                                                                                        {{!}}  88 kB  00:00:00
 +
(27/33): python-javapackages-3.4.1-11.el7.noarch.rpm                                                                                                                                                                  {{!}}  31 kB  00:00:00
 +
(28/33): ttmkfdir-3.0.9-42.el7.x86_64.rpm                                                                                                                                                                            {{!}}  48 kB  00:00:00
 +
(29/33): xorg-x11-font-utils-7.5-21.el7.x86_64.rpm                                                                                                                                                                    {{!}} 104 kB  00:00:00
 +
(30/33): python-lxml-3.2.1-4.el7.x86_64.rpm                                                                                                                                                                          {{!}} 758 kB  00:00:00
 +
(31/33): tzdata-java-2020a-1.el7.noarch.rpm                                                                                                                                                                          {{!}} 188 kB  00:00:00
 +
(32/33): xorg-x11-fonts-Type1-7.5-9.el7.noarch.rpm                                                                                                                                                                    {{!}} 521 kB  00:00:00
 +
(33/33): java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64.rpm                                                                                                                                                        {{!}}  39 MB  00:00:09
 +
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 +
Total                                                                                                                                                                                                        4.7 MB/s {{!}}  45 MB  00:00:09
 +
Running transaction check
 +
Running transaction test
 +
Transaction test succeeded
 +
Running transaction
 +
  Installation : libxslt-1.1.28-5.el7.x86_64                                                                                                                                                                                            1/33
 +
  Installation : libjpeg-turbo-1.2.90-8.el7.x86_64                                                                                                                                                                                      2/33
 +
  Installation : fontpackages-filesystem-1.44-8.el7.noarch                                                                                                                                                                              3/33
 +
  Installation : libICE-1.0.9-9.el7.x86_64                                                                                                                                                                                              4/33
 +
  Installation : libSM-1.2.2-2.el7.x86_64                                                                                                                                                                                              5/33
 +
  Installation : dejavu-fonts-common-2.33-6.el7.noarch                                                                                                                                                                                  6/33
 +
  Installation : dejavu-sans-fonts-2.33-6.el7.noarch                                                                                                                                                                                    7/33
 +
  Installation : fontconfig-2.13.0-4.3.el7.x86_64                                                                                                                                                                                      8/33
 +
  Installation : python-lxml-3.2.1-4.el7.x86_64                                                                                                                                                                                        9/33
 +
  Installation : python-javapackages-3.4.1-11.el7.noarch                                                                                                                                                                              10/33
 +
  Installation : javapackages-tools-3.4.1-11.el7.noarch                                                                                                                                                                                11/33
 +
  Installation : avahi-libs-0.6.31-20.el7.x86_64                                                                                                                                                                                      12/33
 +
  Installation : 1:cups-libs-1.6.3-43.el7.x86_64                                                                                                                                                                                      13/33
 +
  Installation : libfontenc-1.1.3-3.el7.x86_64                                                                                                                                                                                        14/33
 +
  Installation : 1:xorg-x11-font-utils-7.5-21.el7.x86_64                                                                                                                                                                              15/33
 +
  Installation : libXau-1.0.8-2.1.el7.x86_64                                                                                                                                                                                          16/33
 +
  Installation : libxcb-1.13-1.el7.x86_64                                                                                                                                                                                              17/33
 +
  Installation : pcsc-lite-libs-1.8.8-8.el7.x86_64                                                                                                                                                                                    18/33
 +
  Installation : lksctp-tools-1.0.17-2.el7.x86_64                                                                                                                                                                                      19/33
 +
  Installation : libX11-common-1.6.7-2.el7.noarch                                                                                                                                                                                      20/33
 +
  Installation : libX11-1.6.7-2.el7.x86_64                                                                                                                                                                                            21/33
 +
  Installation : libXext-1.3.3-3.el7.x86_64                                                                                                                                                                                            22/33
 +
  Installation : libXi-1.7.9-1.el7.x86_64                                                                                                                                                                                              23/33
 +
  Installation : libXtst-1.2.3-1.el7.x86_64                                                                                                                                                                                            24/33
 +
  Installation : giflib-4.1.6-9.el7.x86_64                                                                                                                                                                                            25/33
 +
  Installation : libXrender-0.9.10-1.el7.x86_64                                                                                                                                                                                        26/33
 +
  Installation : copy-jdk-configs-3.3-10.el7_5.noarch                                                                                                                                                                                  27/33
 +
  Installation : alsa-lib-1.1.8-1.el7.x86_64                                                                                                                                                                                          28/33
 +
  Installation : ttmkfdir-3.0.9-42.el7.x86_64                                                                                                                                                                                          29/33
 +
  Installation : xorg-x11-fonts-Type1-7.5-9.el7.noarch                                                                                                                                                                                30/33
 +
  Installation : tzdata-java-2020a-1.el7.noarch                                                                                                                                                                                        31/33
 +
  Installation : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64                                                                                                                                                                  32/33
 +
  Installation : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64                                                                                                                                                                            33/33
 +
  Vérification : libXext-1.3.3-3.el7.x86_64                                                                                                                                                                                            1/33
 +
  Vérification : libXi-1.7.9-1.el7.x86_64                                                                                                                                                                                              2/33
 +
  Vérification : fontconfig-2.13.0-4.3.el7.x86_64                                                                                                                                                                                      3/33
 +
  Vérification : giflib-4.1.6-9.el7.x86_64                                                                                                                                                                                              4/33
 +
  Vérification : libXrender-0.9.10-1.el7.x86_64                                                                                                                                                                                        5/33
 +
  Vérification : 1:cups-libs-1.6.3-43.el7.x86_64                                                                                                                                                                                        6/33
 +
  Vérification : python-lxml-3.2.1-4.el7.x86_64                                                                                                                                                                                        7/33
 +
  Vérification : tzdata-java-2020a-1.el7.noarch                                                                                                                                                                                        8/33
 +
  Vérification : libICE-1.0.9-9.el7.x86_64                                                                                                                                                                                              9/33
 +
  Vérification : fontpackages-filesystem-1.44-8.el7.noarch                                                                                                                                                                            10/33
 +
  Vérification : ttmkfdir-3.0.9-42.el7.x86_64                                                                                                                                                                                          11/33
 +
  Vérification : alsa-lib-1.1.8-1.el7.x86_64                                                                                                                                                                                          12/33
 +
  Vérification : copy-jdk-configs-3.3-10.el7_5.noarch                                                                                                                                                                                  13/33
 +
  Vérification : python-javapackages-3.4.1-11.el7.noarch                                                                                                                                                                              14/33
 +
  Vérification : dejavu-fonts-common-2.33-6.el7.noarch                                                                                                                                                                                15/33
 +
  Vérification : libXtst-1.2.3-1.el7.x86_64                                                                                                                                                                                            16/33
 +
  Vérification : libX11-1.6.7-2.el7.x86_64                                                                                                                                                                                            17/33
 +
  Vérification : libX11-common-1.6.7-2.el7.noarch                                                                                                                                                                                      18/33
 +
  Vérification : libxcb-1.13-1.el7.x86_64                                                                                                                                                                                              19/33
 +
  Vérification : lksctp-tools-1.0.17-2.el7.x86_64                                                                                                                                                                                      20/33
 +
  Vérification : libjpeg-turbo-1.2.90-8.el7.x86_64                                                                                                                                                                                    21/33
 +
  Vérification : xorg-x11-fonts-Type1-7.5-9.el7.noarch                                                                                                                                                                                22/33
 +
  Vérification : libxslt-1.1.28-5.el7.x86_64                                                                                                                                                                                          23/33
 +
  Vérification : dejavu-sans-fonts-2.33-6.el7.noarch                                                                                                                                                                                  24/33
 +
  Vérification : pcsc-lite-libs-1.8.8-8.el7.x86_64                                                                                                                                                                                    25/33
 +
  Vérification : javapackages-tools-3.4.1-11.el7.noarch                                                                                                                                                                                26/33
 +
  Vérification : 1:java-11-openjdk-headless-11.0.7.10-4.el7_8.x86_64                                                                                                                                                                  27/33
 +
  Vérification : libXau-1.0.8-2.1.el7.x86_64                                                                                                                                                                                          28/33
 +
  Vérification : libSM-1.2.2-2.el7.x86_64                                                                                                                                                                                              29/33
 +
  Vérification : 1:xorg-x11-font-utils-7.5-21.el7.x86_64                                                                                                                                                                              30/33
 +
  Vérification : libfontenc-1.1.3-3.el7.x86_64                                                                                                                                                                                        31/33
 +
  Vérification : avahi-libs-0.6.31-20.el7.x86_64                                                                                                                                                                                      32/33
 +
  Vérification : 1:java-11-openjdk-11.0.7.10-4.el7_8.x86_64                                                                                                                                                                            33/33
 +
 +
Installé :
 +
  java-11-openjdk.x86_64 1:11.0.7.10-4.el7_8
 +
 +
Dépendances installées :
 +
  alsa-lib.x86_64 0:1.1.8-1.el7                avahi-libs.x86_64 0:0.6.31-20.el7            copy-jdk-configs.noarch 0:3.3-10.el7_5          cups-libs.x86_64 1:1.6.3-43.el7      dejavu-fonts-common.noarch 0:2.33-6.el7
 +
  dejavu-sans-fonts.noarch 0:2.33-6.el7        fontconfig.x86_64 0:2.13.0-4.3.el7            fontpackages-filesystem.noarch 0:1.44-8.el7    giflib.x86_64 0:4.1.6-9.el7          java-11-openjdk-headless.x86_64 1:11.0.7.10-4.el7_8
 +
  javapackages-tools.noarch 0:3.4.1-11.el7    libICE.x86_64 0:1.0.9-9.el7                  libSM.x86_64 0:1.2.2-2.el7                      libX11.x86_64 0:1.6.7-2.el7          libX11-common.noarch 0:1.6.7-2.el7
 +
  libXau.x86_64 0:1.0.8-2.1.el7                libXext.x86_64 0:1.3.3-3.el7                  libXi.x86_64 0:1.7.9-1.el7                      libXrender.x86_64 0:0.9.10-1.el7    libXtst.x86_64 0:1.2.3-1.el7
 +
  libfontenc.x86_64 0:1.1.3-3.el7              libjpeg-turbo.x86_64 0:1.2.90-8.el7          libxcb.x86_64 0:1.13-1.el7                      libxslt.x86_64 0:1.1.28-5.el7        lksctp-tools.x86_64 0:1.0.17-2.el7
 +
  pcsc-lite-libs.x86_64 0:1.8.8-8.el7          python-javapackages.noarch 0:3.4.1-11.el7    python-lxml.x86_64 0:3.2.1-4.el7                ttmkfdir.x86_64 0:3.0.9-42.el7      tzdata-java.noarch 0:2020a-1.el7
 +
  xorg-x11-font-utils.x86_64 1:7.5-21.el7      xorg-x11-fonts-Type1.noarch 0:7.5-9.el7
 +
 +
Terminé !
 +
}}
 +
 +
== Configuration vhost Apache ==
 +
Pour une utilisation plus conviviale et sur un port standard, il faut configurer un vhost Apache qui redirigera les requêtes vers Squash TM en interne.
 +
 +
Création du dossier et des fichiers de log :
 +
mkdir /data/logs/squashtm.mydomain.com
 +
touch mkdir /data/logs/squashtm.mydomain.com/squashtm.mydomain.com_http_{access,error}.log
 +
chown -R apache:www /data/logs/squashtm.mydomain.com
 +
 +
Edition du fichier <code>/local/httpd/conf/vhosts/squashtm.mydomain.com.conf</code> et insertion du contenu suivant :
 +
<syntaxhighlight lang="apache">
 +
Define app_name squashtm.mydomain.com
 +
# Instance de production
 +
<VirtualHost *:80>
 +
Define url_app ${app_name}
 +
ServerName ${url_app}
 +
ErrorLog "|/local/httpd/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_error.log 10M"
 +
CustomLog "|/local/httpd/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_access.log 10M" combined
 +
LogLevel warn
 +
 +
ProxyPreserveHost On
 +
ProxyPass / http://localhost:8080/
 +
ProxyPassReverse / http://localhost:8080/
 +
 +
UnDefine url_app
 +
</VirtualHost>
 +
UnDefine app_name
 +
</syntaxhighlight>
 +
 +
Relance d'Apache pour prise en compte :
 +
systemctl restart http
 +
 +
== Installation de Squash TM ==
 +
Ajout du repository Squash TM en éditant le fichier <code>/etc/yum.repos.d/squashtest.repo</code> :
 +
vi /etc/yum.repos.d/squashtest.repo
 +
 +
Son contenu doit être le suivant :
 +
<pre>
 +
[squashtest]
 +
name=Squashtest
 +
baseurl=http://repo.squashtest.org/redhat/7/
 +
gpgcheck=1
 +
</pre>
 +
 +
Importer la clé GPG du repo nouvellement ajouté :
 +
rpm --import http://repo.squashtest.org/repo.squashtest.org.gpg.key
 +
 +
Installer le paquet <code>squash-tm</code> :
 +
yum install squash-tm
 +
 +
Création des tables de Squash TM dans la base de données précédemment créée à cet effet :
 +
mysql -usquashtm_user -p squashtm_db < /usr/share/doc/squash-tm/database-scripts/mysql-full-install-version-1.21.1.RELEASE.sql
 +
 +
Edition du fichier <code>/etc/sysconfig/squash-tm</code> pour y renseigner les informations de base de données :
 +
vi /etc/sysconfig/squash-tm
 +
 +
Ainsi, le fichier ressemble à ceci :
 +
<pre>
 +
# Default settings for Squash. This file is sourced by /bin/bash.
 +
 +
# Extra arguments passed to JVM
 +
JAVA_ARGS="-Xms128m -Xmx1024m -XX:MaxPermSize=256m -Djava.awt.headless=true"
 +
 +
# Port for HTTP connector
 +
HTTP_PORT=8080
 +
 +
# DataBase parameters
 +
DB_URL="jdbc:mysql://localhost:3306/squashtm_db"
 +
DB_TYPE="mysql"
 +
DB_USERNAME="squashtm_user"
 +
DB_PASSWORD="*********"
 +
</pre>
 +
 +
Edition du fichier <code>/etc/squash-tm/squash.tm.cfg.properties</code> pour y ajouter la variable <code>server.servlet.context-path</code> qui permet de définir le nom du sous-dossier dans lequel sera publié Squash TM (en l'occurence, il s'agit ici de ne pas avoir <code>/squash</code> à la fin de l'URL) :
 +
vi /etc/squash-tm/squash.tm.cfg.properties
 +
 +
Ainsi, le fichier ressemble à ceci :
 +
<syntaxhighlight lang="xml" line start="28" highlight="9-11">
 +
...
 +
# EMBEDDED SERVER CONFIGURATION
 +
###############################
 +
 +
#server.servlet.session.timeout=3600
 +
#server.tomcat.accesslog.enabled=true
 +
#server.tomcat.basedir=${squash.path.root}/tomcat-work
 +
 +
# Custom additionnal param in order to modify/remove the trailing "/squash" in URL
 +
###############################
 +
server.servlet.context-path=
 +
 +
# SECURITY
 +
###############################
 +
...
 +
</syntaxhighlight>
 +
 +
Connexion à la base de données et modification de l'URL d'accès directement en table :
 +
mysql -usquashtm_user -p
 +
<syntaxhighlight lang="sql">
 +
INSERT INTO squashtm_db.CORE_CONFIG (STR_KEY, VALUE) VALUES ('squashtest.tm.callbackurl', 'http://squashtm.mydomain.com');
 +
</syntaxhighlight>
 +
 +
Lancement de Squash TM :
 +
systemctl start squash-tm.service
 +
 +
Se rendre sur l'URL http://squashtm.mydomain.com :
 +
:[[Fichier:ClipCapIt-201008-165408.PNG|none|thumb|300px|Squash TM - Page de connexion]]
 +
 +
Depuis la page d'accueil, aller sur ''Mon compte (admin)'' pour modifier le mot de passe :
 +
:[[Fichier:ClipCapIt-201008-165429.PNG|none|thumb|300px|Squash TM - Accueil]]
 +
 +
Cliquer sur ''Mot de passe local'' :
 +
:[[Fichier:ClipCapIt-201008-165448.PNG|none|thumb|300px|Squash TM - Mon compte]]
 +
 +
Modifier le mot de passe :
 +
:[[Fichier:ClipCapIt-201008-165502.PNG|none|thumb|300px|Squash TM - Mot de passe]]
 +
 +
Mot de passe modifié avec succès :
 +
:[[Fichier:ClipCapIt-201008-165514.PNG|none|thumb|300px|Squash TM - Mot de passe modifié]]
 +
 +
Squash TM est installé et prêt à être utilisé.

Version actuelle datée du 8 octobre 2020 à 15:00

Présentation

Cette page a pour objet de décrire comment installer la solution Squash.

Préambule

Cette section s'appuie sur la documentation officielle de Squash TM et se fait sur un serveur CentOS 7.

Prérequis

Les prérequis présentés sont ceux recommandés par l'éditeur de la solution :

  • Nombre de CPU
    • 2
  • RAM
    • 2 Go
  • Espace disque
    • 5 Go
  • OS
    • CentOS 7 minimum
  • Java Virtual Machine
    • version 1.8
  • Serveur d'application
    • Aucun, Squash TM embarque son propre serveur d'application : Tomcat
  • Base de données
    • MySQL 5.7.17 minimum
    • Modes NO_ENGINE_SUBSTITUTION et STRICT_TRANS_TABLES activés
  • ulimit
    • Nombre maximum de descripteurs de fichiers ouverts défini à 60000

Installation d'Apache

Installation des paquets nécessaires à la compilation d'Apache :

mkdir /local/builds
yum install gcc glibc-devel glibc-headers kernel-headers libmpc mpfr           
yum install pcre-devel
yum install expat-devel
yum install systemd-devel

Création d'un user/groupe www pour tout ce qui est outil web :

groupadd www
mkdir -p /data/www
chown :www /data/www

Création de l'arborescence d'Apache :

mkdir -p /local/httpd/httpd-2.4.43
ln -s httpd-2.4.43 /local/httpd/current

Récupération des sources Apache et décompression de l'archive :

wget https://downloads.apache.org//httpd/httpd-2.4.43.tar.gz
tar -zxf httpd-2.4.43.tar.gz -C /local/builds

Récupération des sources APR et APR-Utils nécessaires à Apache et décompression des archives :

wget http://mirrors.standaloneinstaller.com/apache//apr/apr-1.7.0.tar.gz
tar -zxf apr-1.7.0.tar.gz
mv apr-1.7.0 /local/builds/httpd-2.4.43/srclib/apr
wget http://mirrors.standaloneinstaller.com/apache//apr/apr-util-1.6.1.tar.gz
tar -zxf apr-util-1.6.1.tar.gz
mv apr-util-1.6.1 /local/builds/httpd-2.4.43/srclib/apr-util

Positionnement dans le dossier de build et lancement de la compilation :

cd /local/builds/httpd-2.4.43
./configure \
--prefix=/local/httpd/current \
--sysconfdir=/local/httpd/conf \
--enable-proxy \
--enable-proxy-http \
--enable-proxy-wstunnel \
--enable-proxy-fcgi \
--enable-rewrite \
--enable-authz-host \
--enable-mime \
--enable-static-support \
--enable-remoteip \
--enable-status \
--enable-systemd \
--enable-mods-static="proxy rewrite authz-core authz-host log-config alias dir unixd mime remoteip status systemd" \
--disable-so \
--disable-proxy-connect \
--disable-proxy-ftp \
--disable-proxy-scgi \
--disable-proxy-uwsgi \
--disable-proxy-fdpass \
--disable-proxy-ajp \
--disable-proxy-balancer \
--disable-proxy-express \
--disable-proxy-hcheck \
--disable-access-compat \
--disable-auth \
--disable-auth-basic \
--disable-authn-core \
--disable-authn-file \
--disable-authz-groupfile \
--disable-authz-user \
--disable-autoindex \
--disable-env \
--disable-filter \
--disable-reqtimeout \
--disable-setenvif \
--disable-version \
--disable-authn-dbm \
--disable-authn-anon \
--disable-authn-dbd \
--disable-authn-socache \
--disable-authz-dbm \
--disable-authz-owner \
--disable-authz-dbd \
--disable-auth-form \
--disable-auth-digest \
--disable-allowmethods \
--disable-cache \
--disable-file-cache \
--disable-headers \
--disable-cache-disk \
--disable-cache-socache \
--disable-socache-dbm \
--disable-socache-memcache \
--disable-socache-redis \
--disable-socache-shmcb

Compilation et installation :

make -j2
make install

Création de l'utilisateur et groupe Apache et ajout dans le groupe www :

useradd -r apache
usermod -aG www apache

Correction et affectation des droits à Apache :

chown -R root:apache /local/httpd

Ajout des binaires Apache dans le PATH du serveur :

echo "export PATH=\$PATH:/local/httpd/current/bin" >> /etc/profile.d/sh.local

Création du service http.service :

vi /usr/lib/systemd/system/http.service

Le contenu du fichier /usr/lib/systemd/system/http.service doit être le suivant :

[Unit]
Description=The Apache HTTP Server
After=network.target

[Service]
Type=notify
ExecStart=/local/httpd/current/bin/httpd -D FOREGROUND -k start
ExecReload=/local/httpd/current/bin/httpd -k graceful
KillMode=mixed
TimeoutStopSec=60

[Install]
WantedBy=multi-user.target

Prise en compte du nouveau service :

systemctl daemon-reload

Activation du service au démarrage du serveur :

systemctl enable http

Démarrage du service :

systemctl start http

Ajout du port 80 dans le pare-feu (service http de firewalld) :

firewall-cmd --add-service=http
firewall-cmd --add-service=http --permanent

Création des dossiers et fichiers de logs et affectation des droits d'accès :

mkdir -p /data/logs/{localhost,mygreatserver}
chmod o+rx /data
touch /data/logs/localhost/localhost_http_{error,access}.log
touch /data/logs/mygreatserver/mygreatserver_http_{error,access}.log

Création du dossier hébergeant la configuration des vhosts à venir :

mkdir /local/httpd/conf/vhosts

Edition de la configuration Apache de base dans le fichier /local/httpd/conf/httpd.conf :

User apache
Group apache
ServerName localhost:80
<Directory "/local/httpd/current/htdocs">
...
    Require all denied
</Directory>
ErrorLog "|/local/httpd/current/bin/rotatelogs -t -l -n 15 /data/logs/localhost/localhost_http_error.log 10M"
    CustomLog "|/local/httpd/current/bin/rotatelogs -t -l -n 15 /data/logs/localhost/localhost_http_access.log 10M" combined
<Directory "/local/httpd/current/cgi-bin">
...
    Require all denied
Include /local/httpd/conf/extra/httpd-mpm.conf

Ajout d'options supplémentaires dans le fichier /local/httpd/conf/httpd.conf :

###################################
## Ajout d'options personnalisée ##
###################################

# Ajout du reverse Proxy
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 192.168.0.254

# Ajout du dossier vhosts
IncludeOptional /local/httpd/conf/vhosts/*.conf

# Activation d'informations supplémentaires pour "server-status"
ExtendedStatus On

Installation de MySQL

Récupération du lien de téléchargement du repository MySQL sur le site https://www.mysql.com/downloads/ :

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

Récupération du contenu de la clé GPG publique de MySQL sur https://dev.mysql.com/doc/refman/8.0/en/checking-gpg-signature.html et copie de cette dernière dans un fichier mysql_pubkey.asc.

Import de la clé GPG publique de MySQL:

gpg --import mysql_pubkey.asc

Import de la clé GPG publique de MySQL dans RPM :

rpm --import mysql_pubkey.asc

Vérification de la signature du paquet téléchargé :

rpm --checksig mysql80-community-release-el7-3.noarch.rpm

Installation des repos MySQL :

rpm -i mysql80-community-release-el7-3.noarch.rpm

Lister les repositories MySQl :

yum repolist all | grep mysql

Lister les repositories MySQL activés :

yum repolist enabled | grep "mysql.*-community.*"

Désactiver le repository MySQL 8.0 :

yum-config-manager --disable mysql80-community

Activer le repository MySQL 5.7 :

yum-config-manager --enable mysql57-community

Installer le serveur MySQL :

yum install mysql-community-server

Activer l'activation du service MySQL au démarrage du serveur :

systemctl enable mysqld

Lancer une première fois le service MySQL :

systemctl start mysqld

Cela permet de générer un mot de passe pour l'utilisateur root.

Arrêter le service MySQL et ajouter les options validate_password_policy et validate_password_length pour baisser le niveau d'exigence du mot de passe :

systemctl stop mysqld
echo "bind-address=0.0.0.0" >> /etc/my.cnf
echo "validate_password_policy=LOW" >> /etc/my.cnf
echo "validate_password_length=6" >> /etc/my.cnf

Lancer à nouveau le service MySQL :

systemctl start mysqld

Lancement de la commande suivante pour récupérer le mot de passe temporaire :

grep 'temporary password' /var/log/mysqld.log

Se connecter à MySQL en tant que root avec le mot de passe précédemment récupéré et le changer :

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '*******';

Ajout d'un utilisateur root capable de se connecter depuis la machine mysecondgreatserver pour PhpMyAdmin :

CREATE USER 'root'@'mysecondgreatserver.mydomain.local' IDENTIFIED WITH mysql_native_password BY '*******';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'mysecondgreatserver.mydomain.local' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Ajout de l'autorisation dans le pare-feu :

firewall-cmd --add-service=mysql
firewall-cmd --add-service=mysql --permanent

MySQL est installé.

Prérequis MySQL

Par défaut, sur la version 5.7.31 de MySQL :

  • le moteur de stockage est InnoDB
  • le mode SQL comprend les options NO_ENGINE_SUBSTITUTION et STRICT_TRANS_TABLES

Par conséquent, les prérequis Squash TM sont respectés.

Toutefois, il ne faut pas que l'option ONLY_FULL_GROUP_BY soit présente sinon une erreur de ce genre surviendra lors de l'import des données dans la base de données :

ERROR 1055 (42000) at line 4430: Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'squashtm_db.TCLN_RELATIONSHIP_CLOSURE.DEPTH' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Redéfinition de la variable sql_mode avec :

echo "sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" >> /etc/my.cnf

Redémarrage de MySQL pour prise en compte

systemctl restart mysqld

Configuration MySQL

Se connecter en tant que root à MySQL :

mysql -uroot -p

Créer la base de données squashtm_db pour Squash TM :

CREATE DATABASE IF NOT EXISTS squashtm_db CHARACTER SET utf8 COLLATE utf8_bin;

Créer l'utilisateur squashtm_user pour Squash TM ainsi que son mot de passe :

CREATE USER 'squashtm_user'@'localhost' IDENTIFIED BY '********';

Donner les droits à l'utilisateur squashtm_user sur la base de données squashtm_db :

GRANT ALL ON squashtm_db.* TO 'squashtm_user'@'localhost';
FLUSH PRIVILEGES;

Installation de Java

Lancer la commande :

yum install java-11-openjdk

Retour de la commande :

Putty icon.png Console SSH

Configuration vhost Apache

Pour une utilisation plus conviviale et sur un port standard, il faut configurer un vhost Apache qui redirigera les requêtes vers Squash TM en interne.

Création du dossier et des fichiers de log :

mkdir /data/logs/squashtm.mydomain.com
touch mkdir /data/logs/squashtm.mydomain.com/squashtm.mydomain.com_http_{access,error}.log
chown -R apache:www /data/logs/squashtm.mydomain.com

Edition du fichier /local/httpd/conf/vhosts/squashtm.mydomain.com.conf et insertion du contenu suivant :

Define app_name squashtm.mydomain.com
# Instance de production
<VirtualHost *:80>
	Define url_app ${app_name}
	ServerName ${url_app}
	ErrorLog "|/local/httpd/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_error.log 10M"
	CustomLog "|/local/httpd/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_access.log 10M" combined
	LogLevel warn

	ProxyPreserveHost On
	ProxyPass / http://localhost:8080/
	ProxyPassReverse / http://localhost:8080/
	
	UnDefine url_app
</VirtualHost>
UnDefine app_name

Relance d'Apache pour prise en compte :

systemctl restart http

Installation de Squash TM

Ajout du repository Squash TM en éditant le fichier /etc/yum.repos.d/squashtest.repo :

vi /etc/yum.repos.d/squashtest.repo

Son contenu doit être le suivant :

[squashtest]
name=Squashtest
baseurl=http://repo.squashtest.org/redhat/7/
gpgcheck=1

Importer la clé GPG du repo nouvellement ajouté :

rpm --import http://repo.squashtest.org/repo.squashtest.org.gpg.key

Installer le paquet squash-tm :

yum install squash-tm

Création des tables de Squash TM dans la base de données précédemment créée à cet effet :

mysql -usquashtm_user -p squashtm_db < /usr/share/doc/squash-tm/database-scripts/mysql-full-install-version-1.21.1.RELEASE.sql

Edition du fichier /etc/sysconfig/squash-tm pour y renseigner les informations de base de données :

vi /etc/sysconfig/squash-tm

Ainsi, le fichier ressemble à ceci :

# Default settings for Squash. This file is sourced by /bin/bash.

# Extra arguments passed to JVM
JAVA_ARGS="-Xms128m -Xmx1024m -XX:MaxPermSize=256m -Djava.awt.headless=true"

# Port for HTTP connector
HTTP_PORT=8080

# DataBase parameters
DB_URL="jdbc:mysql://localhost:3306/squashtm_db"
DB_TYPE="mysql"
DB_USERNAME="squashtm_user"
DB_PASSWORD="*********"

Edition du fichier /etc/squash-tm/squash.tm.cfg.properties pour y ajouter la variable server.servlet.context-path qui permet de définir le nom du sous-dossier dans lequel sera publié Squash TM (en l'occurence, il s'agit ici de ne pas avoir /squash à la fin de l'URL) :

vi /etc/squash-tm/squash.tm.cfg.properties

Ainsi, le fichier ressemble à ceci :

28 ...
29 # EMBEDDED SERVER CONFIGURATION
30 ###############################
31 
32 #server.servlet.session.timeout=3600
33 #server.tomcat.accesslog.enabled=true
34 #server.tomcat.basedir=${squash.path.root}/tomcat-work
35 
36 # Custom additionnal param in order to modify/remove the trailing "/squash" in URL
37 ###############################
38 server.servlet.context-path=
39 
40 # SECURITY
41 ###############################
42 ...

Connexion à la base de données et modification de l'URL d'accès directement en table :

mysql -usquashtm_user -p
INSERT INTO squashtm_db.CORE_CONFIG (STR_KEY, VALUE) VALUES ('squashtest.tm.callbackurl', 'http://squashtm.mydomain.com');

Lancement de Squash TM :

systemctl start squash-tm.service

Se rendre sur l'URL http://squashtm.mydomain.com :

Squash TM - Page de connexion

Depuis la page d'accueil, aller sur Mon compte (admin) pour modifier le mot de passe :

Squash TM - Accueil

Cliquer sur Mot de passe local :

Squash TM - Mon compte

Modifier le mot de passe :

Squash TM - Mot de passe

Mot de passe modifié avec succès :

Squash TM - Mot de passe modifié

Squash TM est installé et prêt à être utilisé.