« 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
Ligne 115 : Ligne 115 :
  </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


Ligne 141 : Ligne 142 :


=Configurer PHP=
=Configurer PHP=




Ligne 168 : Ligne 172 :
  mysql --user=$dbuser --password=$dbpw -D dbwaterbear < DB.sql
  mysql --user=$dbuser --password=$dbpw -D dbwaterbear < DB.sql
----
----


* 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 l'accéder à la base de données.
Ligne 204 : Ligne 209 :
Contenu du fichier user.bat
Contenu du fichier user.bat
----
----
  #!/bin/bash -xv
  #!/bin/bash  
  dbuser=root
  dbuser=root
  dbpw=ZZZZZZZZ
  dbpw=ZZZZZZZZ

Version du 16 août 2020 à 21:40

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 32.


Prérequis

  • Un serveur LINUX avec la distribution Fedora (version 32)

Nous nommerons le nom de la machine: serveur (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

  • 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


Configuration 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://serveur/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:

systemctl enable 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

Configurer MySql (Mariadb)

  • 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

Récupérer le fichier DB.sql contenu dans le fichier waterbear.zip décompressé auparavent (avant le sous-répertoire waterbear).

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


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 l'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

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


drop user 'userwaterbear'@'localhost' ;
drop user 'userwaterbear'@'127.0.0.1' ;
drop user 'userwaterbear'@'::1' ;


Contenu du fichier createuser.sql


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


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



->retour au menu de Waterbear