Apache - MySQL - PHP : Configuration
Cette page regroupe les différentes configurations des applicatifs installés dans l'étape précédente pour permettre ensuite l'installation des applications QALITEL.
Configuration d'Apache
Nous pourrons installer les applications dans un répertoire /scoqi (qu'il faudra préalablement créer) et pour lequel nous allons définir un Alias.
Création du répertoire /scoqi :
sudo mkdir /scoqi
Création d'un Alias Apache sur le répertorie /scoqi
sudo nano /etc/apache2/sites-available/scoqi.conf
On entre le code de l'Alias ci-dessous dans le fichier "scoqi.conf" et on sauvegarde.
Alias /scoqi /scoqi/
<Directory /scoqi/>
directoryindex index.php
Options FollowSymLinks
Require all granted
</Directory>
On active l'alias et on redémarre Apache :
sudo a2ensite scoqi.conf
sudo systemctl restart apache2
Configuration de MySQL
Pour la création des bases de données et d'un utilisateur pour la connexion aux bases de données, nous pourrons utiliser phpMyAdmin installé dans l'étape précédente. L'autre possibilité est de créer tout cela en script. Nous allons donc voir les 2 méthodes.
Création d'un compte Administrateur pour MySQL
Avant toute autre chose, nous allons supprimer le compte root de MySQL installé par défaut et créer notre propre compte Administrateur. Cette manipulation nous permettra de curiser le système et de nous connecter à PHPMyAdmin.
Dans la console Linux, entrez la commande ci-dessous pour vous connecter à la console MySQL.
sudo mysql
Attention : Dans la console MySQL, il est impératif de mettre un ; en fin de ligne
use mysql;
create user "scoqi"@"%";
set password for "scoqi"@"%"=password('Sc0Qi');
############
#Il est possible de créer un utilisateur avec la commande suivante :
create user "scoqi"@"%" identified by "scoqi";
############
GRANT ALL PRIVILEGES ON *.* TO 'scoqi'@'%' WITH GRANT OPTION;
DROP USER 'root'@'localhost';
flush privileges;
exit
A ce stade, vous êtes en mesure de vous connecter à PHPMyAdmin.
P.S. : Si vous souhaitez vous connecter à nouveau à la console MySQL en ligne de commande, comme nous avons supprimé le compte "root" (qui était sans mot de passe), la commande sudo mysql ne fonctionnera plus. Il vous faudra alros vous connecter avec la commande suivante
sudo mysql -u scoqi -p
En adaptant bien entendu avec l'utilisateur MySQL paramétré ci-dessus (si vous avez changé) et en entrant le mot de pase correspondant qui vous sera ensuite demandé.
1°) Création des bases de données et de l'utilisateur QALITEL par phpMyAdmin
Il est nécessaire de créer une base de données pour pouvoir ensuite procéder à l'installation des applications QALITEL. On créera une base de données par application (exception faite des 3 logiciels QALITEL conform - QALITEL audit - QALITEL progrès qui partageront la même base de données).
Le nommage de la base de données est bien entendu libre mais vous trouverez ci-dessous des suggestions (ces noms de bases de données seront repris dans les scripts de sauvegarde) :
- QALITEL doc ==> qdoc
- QALITEL conform - QALITEL audit - QALITEL progrès ==> qca
- QALITEL compar ==> qcompar
- QALITEL courrier ==> qcourrier
On lance phpMyAdmin puis on se place sur l'onglet "Bases de données" pour créer notre base :
On crée enuite l'utilisateur qui sera affecté exclusivement à la base de données (on peut utiliser le même utilisateur MySQL pour toutes les bases de données QALITEL).
Ci-dessous le paramétrage à réaliser pour configurer le compte Utilisateur "qalitel" :
Cliquez sur le bouton "Exécuter" pour valider la création de l'utilisateur.
L'étape suivante consiste à lui définir les droits uniquement sur la base de données de l'application QALITEL. On laisse donc l'onglet "Global" vide et on clique sur l'onglet "Base de données" où l'on choisit la base de données. Cliquez sur "Exécuter" pour accéder à l'écran suivant.
A ce niveau, on coche toutes les cases sauf GRANT afin que l'utilisateur "qalitel" dispose de tous les droits sur la base de données de l'application.
2°) Création des bases de données et de l'utilisateur QALITEL en ligne de commande
Pour la saisie en ligne de commande, connectez vous dans la console de votre serveur puis entrez les lignes de commandes suivantes :
sudo mysql
Vous êtes à ce moment là dans la console MySQL. On change d'utilisateur pour entrer les commandes :
use mysql;
Pour créer la base de données 'qdoc', on entrera la ligne de commande suivante :
create database qdoc character set latin1 collate latin1_general_ci;
Pour la création de l'utilisateur 'qalitel' permettant aux applications QALITEL de se connecter à la base de données, nous entrerons les lignes de commandes suivantes :
CREATE USER 'qalitel'@'localhost' IDENTIFIED BY 'scoqi';
GRANT ALL PRIVILEGES ON qdoc.* TO 'qalitel'@'localhost';
flush privileges;
Vous pouvez bien entendu changer le mot de passe 'scoqi' spécifié dans la commande IDENTIFIED BY pour un mot de passe plus sécurisé ;-)
Pour sortir de la console MySQL, entrez la commande "exit"
Configuration de PHP
Pour configurer le PHP, vous devez éditer le fichier PHP.INI :
sudo nano /etc/php/7.4/apache2/php.ini
On active l'extension ChartDirector en en haut du fichier PHP.INI sur la ligne suivant la balise [PHP]
extension = phpchartdir740.dll
Ci-dessous les différents paramétrages à effectuer / valider :
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
log_errors = On
error_log = /var/log/php.log
file_uploads = On
post_max_size = 50M
upload_max_filesize = 50M
memory_limit = 512M
max_execution_time = 120
max_input_vars = 3000
Une fois tous ces paramètrages effectués, redémarrez Apache pour leur prise en charge.
sudo systemctl restart apache2