Passer au contenu principal

Installer PhpMyAdmin sous Rocky Linux 8 avec Apache

Avant d'installer PhpMyAdmin, nous devons mettre à jour notre distribution 

dnf update --refresh

On installe tout les paquets nécessaires 

sudo dnf -y install mariadb mariadb-server httpd wget

On installe php 7.4 depuis les depots de Rocky.

sudo dnf module reset php:7.3
sudo dnf module enable php:7.4
sudo dnf install php

On installe ensuite les divers composant de php que nous avons besoin

sudo dnf -y install php-{cli,common,fpm,curl,gd,mbstring,process,snmp,xml,zip,mysqlnd,json,mbstring,pdo,xml}

On démarre ensuite les services MariaDB et Apache

sudo systemctl enable --now mariadb
sudo systemctl enable --now httpd

On lance la post installation de MariaDB, la ou il demande un mot de passe root on fait entrer et on met un mot de passe. Pour la suite on met y partout.

sudo mysql_secure_installation

Maintenant on telecharge et on install PhpMyAdmin

On ce retrouve sur cette page et on prend le all-languages.zip on fait un clique droit et copier le lien.

Dans notre serveur on le telecharge et le décompresse et on le met a un certain endroit.

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

On  créer notre fichier de configuration 

sudo mv config.sample.inc.php config.inc.php

On créer une clé secrete et on la copie

openssl rand -base64 32

et on modifie notre fichier de configuration

nano config.inc.php

On ajoute notre clé secrete

/**
 * This is needed for cookie based authentication to encrypt password in
 * cookie. Needs to be 32 chars long.
 */
$cfg['blowfish_secret'] = 'NOTRECLE'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/**

On ajoute aussi une ligne pour avoir un dossier tmp

/**
 * Directories for saving/loading files from server
 */
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['TempDir'] = '/tmp';

/**

On créer notre dossier tmp et on applique les droits pour PhpMyAdmin

sudo mkdir /usr/share/phpmyadmin/tmp
sudo chown -R apache:apache /usr/share/phpmyadmin
sudo chmod 777 /usr/share/phpmyadmin/tmp

On créer maintenant un alias pour Apache afin d'accéder a PhpMyAdmin

sudo nano /etc/httpd/conf.d/phpmyadmin.conf

et on ajoute : 

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin/>
   AddDefaultCharset UTF-8
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
      Require all granted
     </RequireAny>
   </IfModule>
</Directory>

<Directory /usr/share/phpmyadmin/setup/>
   <IfModule mod_authz_core.c>
# Apache 2.4
     <RequireAny>
       Require all granted
     </RequireAny>
   </IfModule>
</Directory>

On autorise maintenant SeLinux a pouvoir autoriser PhpMyAdmin

sudo chcon -Rv --type=httpd_sys_content_t /usr/share/phpmyadmin/*

On fait pareil pour Apache mais avec firewalld

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

On redemarre notre service apache

sudo systemctl restart httpd.service

Maintenant nous pouvons nous connecter à PhpMyAdmin avec notre IP/phpmyadmin

image-1656582017710.png