« WATERBEAR:Installation » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
(13 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 32.  
Nous allons utiliser la distribution Fedora Version 33.  




=Prérequis=
=Prérequis=
* Un serveur LINUX avec la distribution Fedora (version 32)
* Un serveur LINUX avec la distribution Fedora (version 33)
Nous nommerons le nom de la machine: serveur (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 .


* Installer le serveur WEB Apache (version 2.4):
* Installer le serveur WEB Apache (version 2.4):
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 40 : Ligne 43 :
* Récupérer le fichier contenant les adaptations et correctifs pour PHP 7.4.
* Récupérer le fichier contenant les adaptations et correctifs pour PHP 7.4.


  [[Media:WATERBEAR:waterbear.modif.zip|Télécharger le fichier ZIP des modifications de Waterbear]]
  [[Media:WATERBEAR:Waterbear.modif.zip|Télécharger le fichier ZIP des modifications de Waterbear]]


* Faire les mêmes opérations effectuées pour le fichier waterbear.zip.
* Faire les mêmes opérations effectuées pour le fichier waterbear.zip.
Ligne 64 : Ligne 67 :




=Configuration d'Apache=
=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:
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 votre serveur DNS interne
Ligne 71 : Ligne 74 :
   (/etc/hosts sous Linux, C:\windows\system32\drivers\etc\hosts sous Windows).
   (/etc/hosts sous Linux, C:\windows\system32\drivers\etc\hosts sous Windows).


L'URL d'appel, sera <nowiki>HTTP://serveur/waterbear</nowiki>
L'URL d'appel, sera <nowiki>HTTP://serverdb/waterbear</nowiki>


* Sous Fedora, les fichiers de configurations se trouvent par défaut dans le répertoire /etc/httpd/conf.d
* Sous Fedora, les fichiers de configurations se trouvent par défaut dans le répertoire /etc/httpd/conf.d
Ligne 115 : Ligne 118 :
  </Directory>
  </Directory>
----
----


Explications:
Explications:
  - L'option "Alias" fait la liaison entre le chemin de l'URL et le répertoire du système
  - L'option '''Alias''' fait la liaison entre le chemin de l'URL et le répertoire du système
  - Les deux blocs Directory à définir les options de des deux répertoires principaux.  
  - 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.
   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
  - 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 '''DirectoryIndex''' définit quelle fichier est à lancer par défaut.
  - L'option AllowOverride sert à activer les fichiers .htaccess
  - L'option '''AllowOverride''' sert à activer les fichiers .htaccess
  - L'option "Require all granted" permet que tout le monde aie accès au site
  - L'option '''Require all granted''' permet que tout le monde aie accès au site


* Redémarrer le service HTTPD
* Redémarrer le service HTTPD
Ligne 129 : Ligne 133 :
  systemctl restart httpd.service
  systemctl restart httpd.service


Note: pour activer le service:
Note:  
 
- pour activer le service HTTPD:


  systemctl enable httpd.service
  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
Note: Ce service lance par la même occasion le service php-fpm.service


Vous pouvez consulter les journaux de ces services respectivement:
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/httpd pour le service httpd.service
** dans le répertoire /var/log/php-fpm pour le service php-fpm.service
- dans le répertoire /var/log/php-fpm pour le service php-fpm.service




=Configurer PHP=
=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)=
=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
* Créer le schéma dans la base de données Mysql
  - Nom du schéma: dbwaterbear
  - Nom du schéma: dbwaterbear
  - Mot de passe de l'utilisateur root (à adapter): ZZZZZZZZ
  - 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é auparavent (avant le sous-répertoire waterbear).
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).
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
Contenu du fichier schema.sql pour créer le schéma vide
----
----
  DROP SCHEMA IF EXISTS dbwaterbear ;
  DROP SCHEMA IF EXISTS dbwaterbear ;
Ligne 169 : Ligne 210 :
----
----


* Création de l'utilisateur MySql qui permettra à Waterbear l'accéder à la base de données.
 
* Création de l'utilisateur MySql qui permettra à Waterbear d'accéder à la base de données.
  - Nom du schéma: dbwaterbear
  - Nom du schéma: dbwaterbear
  - Nom d'utilisateur: userwaterbear
  - Nom d'utilisateur: userwaterbear
  - Mot de passe de l'utilisateur userwaterbear (à adapter): TTTTTTTT
  - Mot de passe de l'utilisateur userwaterbear (à adapter): TTTTTTTT
  - Mot de passe de l'utilisateur root (à adapter): ZZZZZZZZ
  - 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)
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
Contenu du fichier dropuser.sql pour effacer un utilisateur préexistant
----
----
  drop user 'userwaterbear'@'localhost' ;
  drop user 'userwaterbear'@'localhost' ;
Ligne 186 : Ligne 231 :




Contenu du fichier createuser.sql
Contenu du fichier createuser.sql pour créer l'utilisateur
----
----
  create user 'userwaterbear'@'localhost'      identified by 'TTTTTTTT' ;
  create user 'userwaterbear'@'localhost'      identified by 'TTTTTTTT' ;
Ligne 194 : Ligne 239 :




Contenu du fichier grant.sql
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'@'localhost';
Ligne 204 : Ligne 249 :
Contenu du fichier user.bat
Contenu du fichier user.bat
----
----
  #!/bin/bash -xv
  #!/bin/bash  
  dbuser=root
  dbuser=root
  dbpw=ZZZZZZZZ
  dbpw=ZZZZZZZZ
Ligne 211 : Ligne 256 :
  mysql --user=$dbuser --password=$dbpw  < grant.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"]="<nowiki>http://serverdb/waterbear</nowiki>";
$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 (<nowiki>http://serverdb/waterbear</nowiki>).
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: (<nowiki>http://192.168.1.100/waterbear</nowiki>)
Dans le répertoire /web/waterbear/LOG, les fichiers journaux peuvent être consultés en cas d'erreur.






----
----
''->[[WATERBEAR:Menu|retour au menu 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.



->retour au menu de mise en place de Waterbear