Créez votre PDF

No pages found in Basket

Apache - MySQL - PHP : Installation

Vous trouverez ci-dessous le mode opératoire pour procéder à l'installation des différents modules nécesaires au fonctionnement des applications QALITEL.

Ce mode opératoire a été réalisé sous Debian 12 Bookworm et s'applique aussi à Ubuntu 22/04 LTS.

Il couvrira l'installation des applications suivantes : 

  • Apache
  • MySQL / MariaDB
  • PHP 8
  • Extensions complémentaires  : LDAP - ChartDirector v6,...

 


Important : Seules les applications QALITEL doc et QALITEL amélioration (QALITEL c onform - QALITEL audit - QALITEL progrès) sont compatibles PHP 8.x

Aussi, si vous disposez de QALITEL courrier ou de QALITEL compar, vous devez installer une version 7.x de PHP. Ces applications n'étant pas développées pour PHP 8.x

 


 

Installation d'Apache


sudo apt-get install apache2

 

Installation de  MariaDB


sudo apt-get  install mariadb-server

 

De manière à éviter les problèmes de caractères, on change les character-set de maria-db.

Remplacer "utf8mb4" par "latin1" dans les fichiers suivants : 


sudo nano /etc/mysql/mariadb.conf.d/50-client.cnf
sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf

 

Remplacer "utf8mb4" par "latin1" et "utf8mb4_general_ci" par "latin1_general_ci" dans le fichier suivant:


sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

 

Installation de MySQL


sudo apt-get install mysql-server-8.0

De manière à éviter les problèmes de caractères, on change les character-set et collation de MySQL

On ajoute les 2 lignes suivantes dans le  fichier /etc/mysql/mysql.conf.d/mysqld.cnf dans le bloc [mysqld]


[mysqld]

character-set-server = latin1 
collation-server = latin1_general_ci

 

Pour les installations avec Mariadb, on modifiera les fichiers suivants  :


sudo nano /etc/mysql/mariadb.conf.d/50-client.cnf
sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

  • Remplacer utf8mb4 par latin1
  • Remplacer utf8mb4_general_ci par latin1_general_ci

(P.S. : selon les versions, tous les fichiers ne contiennentn pas nécessairement le character_set)

 

On redémarre ensuite MySQL pour la prise en compte de ces modificaitons :


sudo systemctl restart mysql

 

Installation de PHP

Ce mode opératoire a été réalisé sous Debian 10. La version PHP 7.4.x n'est pas intégrée dans les dépôts officiels de Debian ou de Ubuntu. Aussi, est-il nécessaire de modifier la source list pour pouvoir procéder à l'installation des dernières versions de PHP.

Pour Debian :


sudo apt -y install lsb-release apt-transport-https ca-certificates wget
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ buster main" | sudo tee /etc/apt/sources.list.d/php.list
sudo aptitude update

Pour Ubuntu : 


sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo aptitude update

 

On peut maintenant installer PHP 7.4.x avec les principales extensions nécessaires pour le fonctionnement de QALITEL.


sudo aptitude install -y php7.4 php7.4-mysql php7.4-gd php7.4-mbstring  php7.4-zip php7.4-curl php7.4-xml php7.4-ldap

 

Installation de l'extension graphique : ChartDirector (Version 6)

Ce module graphique est utilisé par les applications QALITEL pour la construction des graphiques - indicateurs - statistiques

Il est nécessaire de télécharger ChartDirector (Version 6) soit manuellement à partir du site de l'éditeur (https://www.advsofteng.com/download.html) soit en ligne de commande comme montré ci-dessous : 


wget http://www.advsofteng.net/chartdir_php_linux_64.tar.gz

Il faut ensuite copier différents éléments du fichier téléchargé dans le répertoire des extensions de PHP.

On décompresse le fichier :


tar -xzvf chartdir_php_linux_64.tar.gz

On copie les fichiers de ChartDirecteor dans le répertoire des extensions de PHP : 


sudo cp -R ChartDirector/lib/fonts /usr/lib/php/20190902/
sudo cp -R ChartDirector/lib/libchartdir.so /usr/lib/php/20190902/
sudo cp -R ChartDirector/lib/phpchartdir740.dll /usr/lib/php/20190902/

 

Installation d'applications complémentaires

Pour l'exécution des tâches planifiées, des sauvegardes,... il est nécessaire de disposer des applications suivantes : 

  • ZIP
  • UNZIP
  • CURL


sudo aptitude install zip unzip curl

 

Installation de phpMyAdmin

Pour une administration plus aisée de MySQL (création de bases de données, d'utilisateurs,...) nous installerons PHPMyAdmin. Dans la seconde étape consacrée à la configuration des modules, les commandes en script seront données

phpMyAdmin n'est plus disponible dans les paquets de Debian. Aussi, ferons nous une installation manuelle.

Ci-dessous le mode opératoire à suivre : 


cd /tmp
sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip
sudo unzip phpMyAdmin-5.0.1-all-languages.zip
sudo rm phpMyAdmin-5.0.1-all-languages.zip
sudo mv phpMyAdmin-5.0.1-all-languages /usr/share/phpmyadmin

# Creation du repertoire de stockage des fichiers temporaires de phpMyAdmin
sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown -R www-data:www-data /var/lib/phpmyadmin

# Creation du fichier de configuration de phpMyAdmin
sudo cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php

 

On édite le fichier config.inc.php  pour y placer les 2 lignes suivantes :


$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i';
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

 

On crée maintenant le répertoire virtuel de phpMyAdmin pour Apache :


sudo nano /etc/apache2/sites-available/phpmyadmin.conf

On place le code ci-dessous dans le fichier Alias "phpmyadmin.conf" :

 

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
   Options SymLinksIfOwnerMatch
   DirectoryIndex index.php

   <IfModule mod_php5.c>
       <IfModule mod_mime.c>
              AddType application/x-httpd-php .php
       </IfModule>
       <FilesMatch ".+\.php$">
              SetHandler application/x-httpd-php
       </FilesMatch>

     php_value include_path .
     php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
     php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
     php_admin_value mbstring.func_overload 0
       </IfModule>
    <IfModule mod_php.c>
<IfModule mod_mime.c>
   AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
   SetHandler application/x-httpd-php
</FilesMatch>

   php_value include_path .
   php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
   php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
   php_admin_value mbstring.func_overload 0

</IfModule>
</Directory>


<Directory /usr/share/phpmyadmin/setup>
   <IfModule mod_authz_core.c>
   <IfModule mod_authn_file.c>
   AuthType Basic
   AuthName "phpMyAdmin Setup"
   AuthUserFile /etc/phpmyadmin/htpasswd.setup
   </IfModule>
       Require valid-user
   </IfModule>
</Directory>


<Directory /usr/share/phpmyadmin/templates>
   Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

 

On active l'Alias dans Apache et on redémarre le service : 


sudo a2ensite phpmyadmin.conf
sudo systemctl restart apache2

 

phpMyAdmin sera alors accessible par l'url : http://adresse-ip-du-serveur/phpmyadm