Mise en place de phpMyAdmin sous debian 10
Introduction
Le service phpMyAdmin a été créé afin d’aider les utilisateurs dans la gestion de leurs bases de données via une interface web. Dans cet article, nous allons voir comment installer phpMyAdmin afin que vous puissiez l’utiliser pour gérer vos bases de données sur un système d’exploitation Debian 10.
Pré-requis
Pour suivre cet article, vous aurez besoin de :
- Un serveur avec le système d’exploitation Debian 10 installé.
- Les services PHP, Mysql (MariaDB), PHP installé et fonctionnel sur votre serveur.
Installation de phpMyAdmin
Avant de procéder à l'installation de phpMyAdmin et de ces paquets recommandés, nous vous invitons a mettre a jour les différents paquets de votre serveur si vous ne l'avez pas fait récemment via la commande suivante:
apt-get update
Installer ensuite les paquets recommandés de phpMyAdmin sur votre serveur.
apt-get install php-mbstring php-zip php-gd php-mysql
Télécharger ensuite le code source de phpMyAdmin depuis le site officiel, car actuellement ce dernier n'est pas disponible dans les paquets officiels du repos de Debian 10.
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.zip
Vous pouvez également vérifier les derniers versions de phpMyAdmin sur le liens suivant https://www.phpmyadmin.net/downloads/ et remplacer la version téléchargée par celle souhaitée. Nous vous invitons a toujours utiliser les versions stables de phpMyAdmin.
Extraire l'archive télécharger sur votre serveur et déplacer les dossiers une fois l'extraction terminée.
tar xvf phpMyAdmin-4.9.5-all-languages.tar.gz mv phpMyAdmin-4.9.5-all-languages/ /usr/share/phpmyadmin
Configuration de phpMyAdmin
Créer un dossier temporaire pour phpMyAdmin et changer les droits de ce dossier pour www-data.
mkdir -p /var/lib/phpmyadmin/tmp chown -R www-data:www-data /var/lib/phpmyadmin
Faire une copie des fichiers de configuration extrait plus tôt et renommez le en config.inc.php.
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Générer un mot de passe de 32 caractères et éditer le fichier de configuration suivant:
vi /usr/share/phpmyadmin/config.inc.php
$cfg['blowfish_secret'] = 'votremotdepassede32caracteres'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ … $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'votremotdepasse';
Vous pouvez utiliser cette outil https://phpsolved.com/phpmyadmin-blowfish-secret-generator/ pour générer un mot de passe blowfish de 32 caractères.
Ajouter également une ligne de configuration à la fin du fichier pour la configuration du dossier temp créé précédemment.
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
Toujours dans le même fichier de configuration, dé-commenter toute la section databases and tables, ci dessous un extrait de cette partie:
/* Storage database and tables */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; $cfg['Servers'][$i]['relation'] = 'pma__relation'; $cfg['Servers'][$i]['table_info'] = 'pma__table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; $cfg['Servers'][$i]['history'] = 'pma__history'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; $cfg['Servers'][$i]['recent'] = 'pma__recent'; $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; $cfg['Servers'][$i]['users'] = 'pma__users'; $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
Sauvegarder et quitter ce fichier de configuration.
Créer la base de données et les tables pour phpMyAdmin.
mariadb < /usr/share/phpmyadmin/sql/create_tables.sql
Se connecter à MySQL en ligne de commande sur votre serveur et créer l'utilisateur pma avec ces droits.
$ mysql GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'votremotdepasse';
Vous pouvez également créer d’autre utilisateur mysql lors de cette étape si besoin.
Configuration d'Apache pour phpMyAdmin
Créer un fichier dans /etc/apache2/conf-available/phpmyadmin.conf avec cette configuration d'Apache:
vi /etc/apache2/conf-available/phpmyadmin.conf
# phpMyAdmin default Apache configuration 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-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> # Authorize for setup <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> # Disallow web access to directories that don't need it <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>
Activer, tester votre configuration et redémarrer Apache.
a2enconf phpmyadmin.conf apache2ctl -t systemctl reload apache2
Accéder à l'interface phpMyAdmin via votre navigateur et lu'rl suivante: https://votre_ip/phpmyadmin
Sécurisation de phpMyAdmin
Si vous le souhaitez, vous pouvez limiter l'accès a votre interface phpMyAdmin à votre/vos IPs via ces options dans votre fichier de configuration:
… </IfModule> Order deny,allow Deny from all # Commentaire Allow from VotreIP </Directory> …
Vous pouvez également mettre en place une authentification via un fichier .htaccess pour votre interface phpmyadmin via cette option dans votre fichier de configuration d'Apache:
<Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All …
Créer également un fichier .htaccess avec les options suivantes:
vi /usr/share/phpmyadmin/.htaccess
AuthType Basic AuthName "Restricted Files" AuthUserFile /usr/share/phpmyadmin/.htpasswd Require valid-user
Créer ensuite le fichier et utilisateur initial via la commande htpasswd
htpasswd -c /usr/share/phpmyadmin/.htpasswd votreuser
Vous pouvez également utiliser cette commande pour ajouter un utilisateur
htpasswd /etc/phpmyadmin/.htpasswd nouveauuser
N'oubliez pas de redémarrer Apache une fois cette configuration mis en place
apache2ctl -t systemctl restart apache2
Une fois cette configuration en place, l'accès à votre phpMyAdmin vous renverra maintenant vers une authentification additionnelle que vous venez de créer.
Conclusion
Dans cet article, vous venez donc de voir la mise en place de phpMyAdmin pour Apache sur le système d'exploitation Debian 10.
Cet article vous a semblé utile ?
Activer l'actualisation automatique des commentaires