« WATERBEAR:Installation » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
=But= | =But= | ||
Cette rubrique décrit les différentes étape afin d'installer le logiciel Waterbear sur votre serveur Linux. | Cette rubrique décrit les différentes étape afin d'installer le logiciel Waterbear sur votre serveur Linux. | ||
Nous allons utiliser la distribution Fedora Version | Nous allons utiliser la distribution Fedora Version 33. | ||
=Prérequis= | =Prérequis= | ||
* Un serveur LINUX avec la distribution Fedora (version | * Un serveur LINUX avec la distribution Fedora (version 33) | ||
Nous nommerons le nom de la machine: serverdb (voir le fichier /etc/hostname). Il a l'adresse IP, par exemple, 192.168.1.100 . | Nous nommerons le nom de la machine: serverdb (voir le fichier /etc/hostname). Il a l'adresse IP, par exemple, 192.168.1.100 . | ||
Ligne 25 : | Ligne 25 : | ||
=Télécharger WATERBEAR et le mettre en place= | =Télécharger WATERBEAR et le mettre en place= | ||
* Télécharger les sources du logiciel à l'URL http://waterbear.info/ | * Télécharger les sources du logiciel à l'URL <nowiki>http://waterbear.info/</nowiki> | ||
Ils sont à la version '''50'''. | |||
* Si c'est un upgrade, il faut sauver au préalable, le fichier de configuration: "<base d'installation>/conf/'''perso.php'''", par exemple: "/web/waterbear/conf/perso.php" | |||
* Sous Linux, créer un répertoire par exemple /web/waterbear | * Sous Linux, créer un répertoire par exemple /web/waterbear | ||
Ligne 283 : | Ligne 286 : | ||
''->[[WATERBEAR:Mise_en_place|retour au menu de mise en place de Waterbear]]'' | ''->[[WATERBEAR:Mise_en_place|retour au menu de mise en place de Waterbear]]'' | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
[[Category:WATERBEAR]] |
Dernière version du 14 décembre 2020 à 18:22
But
Cette rubrique décrit les différentes étape afin d'installer le logiciel Waterbear sur votre serveur Linux. Nous allons utiliser la distribution Fedora Version 33.
Prérequis
- Un serveur LINUX avec la distribution Fedora (version 33)
Nous nommerons le nom de la machine: serverdb (voir le fichier /etc/hostname). Il a l'adresse IP, par exemple, 192.168.1.100 .
- Installer le serveur WEB Apache (version 2.4):
dnf install httpd
- Installer PHP (version 7.4):
dnf install php php-gd
- Installer le gestionnaire de base de données MariaDB (version 10.4):
dnf install mariadb-server dnf install php-mysqlnd
Note: Nous n'abordons pas ici les aspects sécuritaires.
Télécharger WATERBEAR et le mettre en place
- Télécharger les sources du logiciel à l'URL http://waterbear.info/
Ils sont à la version 50.
- Si c'est un upgrade, il faut sauver au préalable, le fichier de configuration: "<base d'installation>/conf/perso.php", par exemple: "/web/waterbear/conf/perso.php"
- Sous Linux, créer un répertoire par exemple /web/waterbear
mkdir /web mkdir /web/waterbear
- Transférer le fichier waterbear.zip sous Linux et le décompresser:
unzip waterbear.zip
- En parcourant l'arborescence générée, copier le contenu du sous-répertoire waterbear dans le répertoire créé plus haut /web/waterbear.
- Récupérer le fichier contenant les adaptations et correctifs pour PHP 7.4.
Télécharger le fichier ZIP des modifications de Waterbear
- Faire les mêmes opérations effectuées pour le fichier waterbear.zip.
- Changer le propriétaire de ce répertoire /web/waterbear et l'attribuer au propriétaire du processus Apache (HTTPD). Sous Fedora, c'est par défaut l'utilisateur apache et le groupe apache:
chown -R apache:apache /web/waterbear
- Changer les droits d'accès.
Au plus simple mais peu sécurisé, on peut de lui mettre tous les droits:
chmod -R 750 /web/waterbear
Mais il est préférable d'être plus restrictif:
chmod -R 550 /web/waterbear
Mais alors certains répertoires doivent avoir un accès en écriture tels les répertoires LOG, download, upload:
chmod -R 750 /web/waterbear/LOG chmod -R 750 /web/waterbear/download chmod -R 750 /web/waterbear/upload
Configurer d'Apache
Nous n'aborderons pas ici l'aspect de son accès direct à partir d'Internet. Cet aspect est abordé sous la rubrique Linux. Nous supposons ici qu'il est accessible sur le réseau local. La liaison entre son adresse IP et son nom peut être défini de différentes façons:
- via votre serveur DNS interne - via le modem de votre FAI si c'est possible - via le fichier hosts de la machine client à partir de laquelle vous utiliser un navigateur (/etc/hosts sous Linux, C:\windows\system32\drivers\etc\hosts sous Windows).
L'URL d'appel, sera HTTP://serverdb/waterbear
- Sous Fedora, les fichiers de configurations se trouvent par défaut dans le répertoire /etc/httpd/conf.d
Le fichier de configuration se nommera waterbear.conf
Voici son contenu:
Alias /waterbear /web/waterbear/ <Directory /web/waterbear> <IfModule mod_headers.c> Header always append X-Frame-Options SAMEORIGIN Header always set X-XSS-Protection "1; mode=block" Header always set X-Content-Type-Options nosniff Header always set Strict-Transport-Security "max-age=15552001; includeSubDomains;" </IfModule> DirectoryIndex bib.php Options +FollowSymLinks -Indexes AllowOverride All <IfModule mod_authz_core.c> Require all granted </IfModule> <LimitExcept GET POST HEAD> Require all denied </LimitExcept> </Directory>
<Directory /web/waterbear/doc> <IfModule mod_headers.c> Header always append X-Frame-Options SAMEORIGIN Header always set X-XSS-Protection "1; mode=block" Header always set X-Content-Type-Options nosniff Header always set Strict-Transport-Security "max-age=15552001; includeSubDomains;" </IfModule> DirectoryIndex doc.php Options +FollowSymLinks -Indexes AllowOverride All <IfModule mod_authz_core.c> Require all granted </IfModule> <LimitExcept GET POST HEAD> Require all denied </LimitExcept> </Directory>
Explications:
- L'option Alias fait la liaison entre le chemin de l'URL et le répertoire du système - Les deux blocs Directory sert à définir les options de des deux répertoires principaux. Le premier est l'entrée de base du logiciel et le second concerne sa documentation. - Les options Header sont facultatives mais aident fortement à sécuriser le site - L'option DirectoryIndex définit quelle fichier est à lancer par défaut. - L'option AllowOverride sert à activer les fichiers .htaccess - L'option Require all granted permet que tout le monde aie accès au site
- Redémarrer le service HTTPD
systemctl restart httpd.service
Note:
- pour activer le service HTTPD:
systemctl enable httpd.service
- pour vérifier l'état du service HTTPD:
systemctl status httpd.service
Note: Ce service lance par la même occasion le service php-fpm.service
Vous pouvez consulter les journaux de ces services respectivement:
- dans le répertoire /var/log/httpd pour le service httpd.service - dans le répertoire /var/log/php-fpm pour le service php-fpm.service
Configurer PHP
- Dans le fichier principal de configuration PHP /etc/php.ini, ajouter ou adapter les paramètres suivants:
expose_php = Off allow_url_fopen = On date.timezone ="Europe/Paris" error_reporting = E_ALL & ~E_NOTICE
- Redémarrer le service PHP
systemctl restart php-fpm.service
Configurer MySql (Mariadb)
- S'assurer que MySql est actif
systemctl status mariadb.service
Note:
- pour activer le service MySql:
systemctl enable mariadb.service
- pour redémarrer le service MySql:
systemctl restart mariadb.service
- Créer le schéma dans la base de données Mysql
- Nom du schéma: dbwaterbear - Mot de passe de l'utilisateur root (à adapter): ZZZZZZZZ
Ces paramètres peuvent être adaptés à votre guise.
Récupérer le fichier DB.sql contenu dans le fichier waterbear.zip décompressé auparavant (avant le sous-répertoire waterbear). Ce fichier contient les définitions des tables du schéma à créer et un remplissage de base de celles-ci.
Créer 2 fichiers, donner les droits d'exécution au script Bash (chmod 700 import.bat) et exécuter ce script (./import.bat).
Contenu du fichier schema.sql pour créer le schéma vide
DROP SCHEMA IF EXISTS dbwaterbear ; CREATE SCHEMA dbwaterbear ;
Contenu du fichier import.bat
#!/bin/bash dbuser=root dbpw=ZZZZZZZZ mysql --user=$dbuser --password=$dbpw < schema.sql mysql --user=$dbuser --password=$dbpw -D dbwaterbear < DB.sql
- Création de l'utilisateur MySql qui permettra à Waterbear d'accéder à la base de données.
- Nom du schéma: dbwaterbear - Nom d'utilisateur: userwaterbear - Mot de passe de l'utilisateur userwaterbear (à adapter): TTTTTTTT - Mot de passe de l'utilisateur root (à adapter): ZZZZZZZZ
Ces paramètres peuvent être adaptés à votre guise.
On ne donne accès à la base de données qu'à ce schéma dbwaterbear à partir seulement de la machine hôte, locale.
Créer 4 fichiers, donner les droits d'exécution au script Bash (chmod 700 user.bat) et exécuter ce script (./user.bat)
Contenu du fichier dropuser.sql pour effacer un utilisateur préexistant
drop user 'userwaterbear'@'localhost' ; drop user 'userwaterbear'@'127.0.0.1' ; drop user 'userwaterbear'@'::1' ;
Contenu du fichier createuser.sql pour créer l'utilisateur
create user 'userwaterbear'@'localhost' identified by 'TTTTTTTT' ; create user 'userwaterbear'@'127.0.0.1' identified by 'TTTTTTTT' ; create user 'userwaterbear'@'::1' identified by 'TTTTTTTT' ;
Contenu du fichier grant.sql pour donner tous les droits sur ce schéma.
grant all privileges on dbwaterbear.* to 'userwaterbear'@'localhost'; grant all privileges on dbwaterbear.* to 'userwaterbear'@'127.0.0.1'; grant all privileges on dbwaterbear.* to 'userwaterbear'@'::1';
Contenu du fichier user.bat
#!/bin/bash dbuser=root dbpw=ZZZZZZZZ mysql --user=$dbuser --password=$dbpw < dropuser.sql mysql --user=$dbuser --password=$dbpw < createuser.sql mysql --user=$dbuser --password=$dbpw < grant.sql
Configurer WATERBEAR
- Configurer le fichier /web/waterbear/conf/perso.php sur base du fichier perso_modele.php. On y retrouve différents paramètres définis plus haut.
Adapter les lignes suivantes:
ini_set ("error_log", "/web/waterbear/LOG/php_log.log"); $GLOBALS["tvs_global"]["conf"]["ini"]["mysql_nom_db"]="dbwaterbear"; $GLOBALS["tvs_global"]["conf"]["ini"]["mysql_adresse_db"]="127.0.0.1"; $GLOBALS["tvs_global"]["conf"]["ini"]["mysql_login_db"]="waterbear"; $GLOBALS["tvs_global"]["conf"]["ini"]["mysql_mdp_db"]="XXXXXXXX"; $GLOBALS["tvs_global"]["conf"]["ini"]["install_path"]="/web/waterbear/"; $GLOBALS["tvs_global"]["conf"]["ini"]["wb_url"]="http://serverdb/waterbear"; $GLOBALS["tvs_global"]["conf"]["ini"]["users_system"]["superadmin"]["mdp"]="YYYYYYYY";
Le mot de passe "YYYYYYYY" de l'utilisateur "superadmin" est à adapter. L'utilisateur "superadmin" est l'utilisateur qui a tous les pouvoirs. Lors du lancement de l'interface WEB dans un navigateur, ces informations sont à introduire dans l'écran d'authentification.
Lors de l'utilisation du navigateur WEB, il est important d'utiliser l'URL définie dans le fichier de configuration (http://serverdb/waterbear).
Si vous n'avez pas pu définir au niveau de votre réseau local (DNS) l'accès au serveur via son nom, il vous faudra y accéder via son adresse IP et donc il faudra changer l'URL dans le fichier de configuration: (http://192.168.1.100/waterbear)
Dans le répertoire /web/waterbear/LOG, les fichiers journaux peuvent être consultés en cas d'erreur.