CentOS, RedHat et Fedora

Les instructions suivantes concernent l'installation de TAO sur CentOS 7 et peuvent facilement être adaptées pour RHEL7 et Fedora 19.

Les instructions suivantes sont pour CentOS 7 et utilisent /var/www/html/tao comme répertoire de travail pour l'installation et /var/www/html comme DocumentRoot. Si vous choisissez une version différente du système d'exploitation, une autre version de Red Hat, un emplacement de répertoire ou un DocumentRoot différent, vous devrez ajuster ces chemins comme il convient. Ces instructions partent du principe que vous avez accès à la ligne de commande. Si nécessaire, consultez votre société d'hébergement pour savoir comment procéder si vous ne disposez pas d'un accès SSH à votre environnement.

Préparation du serveur

Assurez-vous que le serveur est à jour :

sudo yum update

Ajoutez le dépôt Epel et installez les utilitaires yum :

sudo yum -y install epel-release yum-utils wget

Préparer le serveur pour installer PHP 7.2 et MySQL. Afin d'installer PHP 7.2, nous devons installer un dépôt tiers et le configurer pour la bonne version :

sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --disable remi-php54
sudo yum-config-manager --enable remi-php72

Ajoutez les dépôts communautaires de MySQL afin d'installer MySQL 5.7 et ensuite de le configurer pour la bonne version :

sudo yum -y install http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-release-el7-7.noarch.rpm

Une fois le système à jour, vous devrez installer les paquets requis pour créer votre pile LAMP ainsi que les paquets nécessaires pour compléter votre installation TAO s'ils n'ont pas encore été créés :

sudo yum install httpd \
php \
php-cli \
php-common \
mysql-community-server \
mysql-community-common \
php-xml \
php-zip \
composer \
php-curl \
php-mbstring \
libhttp2-mod-php \
php-mcrypt \
php-mysql \
curl \
wget \
zip \
tidy \
unzip \
php-dom \
php-mcrypt \
php-opcache \
php-tidy \
policycoreutils-python \
nano

Configurer MySQL

Au cours de l'installation, un mot de passe root temporaire sera défini pour MySQL. Pour le récupérer, vous devrez d'abord démarrer MySQL :

sudo systemctl start mysqld

Et ensuite localisez le mot de passe temporaire dans le mysqld.log :

grep 'A temporary password' /var/log/mysqld.log |tail -1

Pour terminer la configuration de la base de données, vous utiliserez le script mysql_secure_installation et le mot de passe temporaire. Vous serez invité à ce moment-là à modifier votre mot de passe root ainsi que d'autres options de configuration.

Remarque : vos mots de passe doivent comporter 12 caractères, dont au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial.

Vous devrez exécuter le script suivant :

/usr/bin/mysql_secure_installation

À ce stade, vous pouvez vous connecter à la base de données et créer un nouvel utilisateur et/ou une nouvelle base de données pour installer TAO, si vous le souhaitez.

Créez une nouvelle base de données et un nouvel utilisateur pour le TAO :

sudo su -
mysql -p
create database <database>;
create user '<user>'@'localhost' identified by '<password>';
grant all privileges on <database>.* to '<user>@'localhost' with grant option;
flush privileges;
quit
exit

Configurer Apache

En utilisant l'éditeur de votre choix, vous devrez configurer le ServerName ainsi que le répertoire dans lequel vous installez TAO. Si vous utilisez des hôtes virtuels, vous devrez suivre les instructions d'Apache que vous trouverez ici(https://httpd.apache.org/docs/2.4/vhosts/examples.html).

sudo nano /etc/httpd/conf/httpd.conf

Configurer le nom du serveur :

ServerName <hostname or IP>

Configurer le répertoire :

<Directory /var/www/html/tao>
     Options FollowSymLinks MultiViews
     AllowOverride all
     Order allow,deny
     Allow from all
</Directory>

Vous devrez également configurer Apache pour qu'il serve d'abord les pages PHP en modifiant la section _dirmodule pour que le fichier index.php soit placé en premier.

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

Vérifiez votre configuration Apache, puis redémarrez pour que vos modifications soient prises en compte.

sudo apachectl configtest
sudo systemctl restart httpd

Si vous configurez le TAO pour un usage interne ou des tests uniquement, vous pouvez désactiver le pare-feu. Sinon, vous devrez ouvrir votre pare-feu pour le port que vous comptez utiliser pour accéder à TAO.

sudo systemctl disable firewalld
sudo systemctl stop firewalld

Installer le TAO

Téléchargez le paquet TAO depuis le site web ou GitHub et préparez-vous à l'installer :

wget https://releases.taotesting.com/TAO_3.3.0-RC2_build.zip
unzip TAO_3.3.0-RC2_build.zip
sudo mv TAO_3.3.0-RC2_build /var/www/html/tao

Ou utilisez Git pour télécharger directement la dernière version depuis GitHub :

sudo yum install git
sudo git clone https://github.com/oat-sa/package-tao.git /var/www/html/tao
cd /var/www/html/tao
sudo git checkout release-3.3-rc02

Changez la propriété à l'utilisateur Apache :

sudo chown -R apache:apache /var/www/html/tao

Assurez-vous que la bonne version de composer est utilisée. Par défaut, la version de composer installée sur CentOS, RedHat et Fedora est composer 2. Avant de pouvoir installer TAO, vous devrez rétrograder cette version à la version 1, avec la commande suivante :

sudo composer self-update --1

Installez les composants TAO sur le serveur à l'aide de composer, puis changez la propriété du répertoire tao nouvellement créé pour l'utilisateur Apache :

cd /var/www/html/tao
sudo composer install
sudo chown -R apache tao
sudo chown -R apache config

Configurez selinux pour permettre l'accès aux répertoires nécessaires.

sudo semanage fcontext -a -t httpd_sys_content_t /var/www/html/tao/
sudo restorecon -R /var/www/html/tao/
sudo setsebool -P httpd_unified 1
sudo chmod a+w tao/views/locales/
sudo chmod a+w config

Installez MathJax sur le serveur si nécessaire :

sudo wget --no-check-certificate  https://hub.taotesting.com/resources/taohub-articles/articles/third-party/MathJax_Install_TAO_3x.sh
sudo chmod u+x MathJax_Install_TAO_3x.sh
sudo ./MathJax_Install_TAO_3x.sh

Vous pouvez maintenant terminer votre installation soit en ligne de commande avec la commande suivante :

sudo -u www-data php tao/scripts/taoInstall.php \
--db_driver pdo_mysql \
--db_host localhost \
--db_name <db_name> \
--db_user <user> \
--db_pass <password>\
--module_namespace http://<hostname or IP>/first.rdf \
--module_url http://<hostname or IP> \
--user_login <user> \
--user_pass <password> \
-e taoCe

dans ce cas, votre instance TAO sera disponible à :

http://<hostname or IP>/tao

Vous pouvez également installer TAO dans votre navigateur en allant à l'adresse suivante http://<hostname or IP>/tao si vous avez suivi les instructions ci-dessus. Si vous n'avez pas suivi les instructions ci-dessus pour votre configuration Apache, vous devrez ajuster l'URL en conséquence.