Prochaine révision | Révision précédente |
serveur_hebergement:bases_de_donnees:phpmyadmin [2022/10/07 09:57] – créée fate | serveur_hebergement:bases_de_donnees:phpmyadmin [2023/08/08 14:00] (Version actuelle) – modification externe 127.0.0.1 |
---|
| |
phpMyAdmin est une interface web permettant de manipuler vos bases de données MySQL (création, modification, suppression, etc). C'est un outil très pratique mais ça veut également dire donner un accès à vos bases de données depuis internet avec les risques qui vont avec. | phpMyAdmin est une interface web permettant de manipuler vos bases de données MySQL (création, modification, suppression, etc). C'est un outil très pratique mais ça veut également dire donner un accès à vos bases de données depuis internet avec les risques qui vont avec. |
Comme toute interface web, elle nécessite un serveur web pour fonctionner. Dans mon cas, j'utiliserai Apache2. Je ne traiterai pas la création et confifuration du nom de domaine et partirai du principe que vous avez un nom de domaine, appelé domaine.fr ici, qui pointe vers votre serveur. | Comme toute interface web, elle nécessite un serveur web pour fonctionner. Dans mon cas, j'utiliserai Apache2. Je ne traiterai pas la création et configuration du nom de domaine et partirai du principe que vous avez un nom de domaine, appelé domaine.fr ici, qui pointe vers votre serveur. |
| |
===== Installation ===== | ===== Installation ===== |
Pour l'utiliser, il va falloir créer un super utilisateur. Tapez les lignes suivantes dans la console (choisissez un mot de passe robuste pour l'utilisateur) : | Pour l'utiliser, il va falloir créer un super utilisateur. Tapez les lignes suivantes dans la console (choisissez un mot de passe robuste pour l'utilisateur) : |
<code sql> | <code sql> |
sudo mysql -u root | sudo mysql |
USE mysql; | USE mysql; |
CREATE USER 'nom_utilisateur'@'localhost' IDENTIFIED BY 'motdepasse'; | CREATE USER 'nom_utilisateur'@'localhost' IDENTIFIED BY 'motdepasse'; |
CustomLog ${APACHE_LOG_DIR}/phpmyadmin.access.log combined | CustomLog ${APACHE_LOG_DIR}/phpmyadmin.access.log combined |
ErrorLog ${APACHE_LOG_DIR}/phpmyadmin.error.log | ErrorLog ${APACHE_LOG_DIR}/phpmyadmin.error.log |
| |
<IfModule mod_ssl.c> | SSLEngine on |
SSLEngine on | SSLCertificateFile /etc/letsencrypt/live/domaine.fr/fullchain.pem |
SSLCertificateFile /etc/letsencrypt/live/domaine.fr/fullchain.pem | SSLCertificateKeyFile /etc/letsencrypt/live/domaine.fr/privkey.pem |
SSLCertificateKeyFile /etc/letsencrypt/live/domaine.fr/privkey.pem | |
| |
</IfModule> | |
| |
<Directory /usr/share/phpmyadmin> | <Directory /usr/share/phpmyadmin> |
Vous pouvez également rajouter une double authentification en protégeant l'accès avec un identifiant/mot de passe pour plus de sécurité. Voir [[serveur_hebergement:apache2:proteger_une_page_web|ici]] comment faire. | Vous pouvez également rajouter une double authentification en protégeant l'accès avec un identifiant/mot de passe pour plus de sécurité. Voir [[serveur_hebergement:apache2:proteger_une_page_web|ici]] comment faire. |
| |
Ensuite, on active la fichier de configuration : | Ensuite, on active le fichier de configuration : |
<code bash>sudo a2ensite sous.domaine.fr.conf</code> | <code bash>sudo a2ensite sous.domaine.fr.conf</code> |
| |
| |
Petite explication de ces lignes : | Petite explication de ces lignes : |
* $cfg['LoginCookieValidity'] = 1440; : réduit la durée de validité de la session à 24 minutes. C'est la valeur par défaut dans PHP mais ça permet de s'assurer que la session expirera toujours après 24 minutes même si la valeur est modifié dans la configuration de PHP | * $cfg['LoginCookieValidity'] = 1440; : réduit la durée de validité de la session à 24 minutes. C'est la valeur par défaut dans PHP mais ça permet de s'assurer que la session expirera toujours après 24 minutes même si la valeur est modifiée dans la configuration de PHP |
* $cfg['LoginCookieRecall'] = false; : le nom de l’utilisateur précédent n'apparait pas dans le panneau de connexion après une déconnexion automatique | * $cfg['LoginCookieRecall'] = false; : le nom de l’utilisateur précédent n'apparait pas dans le panneau de connexion après une déconnexion automatique |
* $cfg['AllowUserDropDatabase'] : interdit la suppression de bases de données depuis phpMyAdmin | * $cfg['AllowUserDropDatabase'] : interdit la suppression de bases de données depuis phpMyAdmin |