Serveurs Base de données

MySQL : Configuration et sécurisation

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières
A séparer du tuto



Configuration des services





Le répertoire de travail d'apache /var/www et celui de mysql se trouve dans /var/lib/mysql

Le principal fichier de configuration d'apache est /etc/httpd/conf/httpd.conf , pour mysql il s'agit de /etc/my.cnf et pour PHP, /etc/php.ini.



Par défaut, la configuration de LAMP fonctionne bien.



Néanmoins, il est possible de changer quelques informations dedans. Cela peut être utile dans certains cas.



MySQL (MariaDB)





Si on souhaite accéder à nos bases mysql depuis l'extérieur, il est nécessaire de commenter la ligne skip-networking et de modifier la ligne bind-address

Code TEXT :
<résultat omis>
#skip-networking
<résultat omis>
bind-address=0.0.0.0
<résultat omis>




Il ne faut pas oublier d'ouvrir le port 3306 (port par défaut) dans le pare-feu.



Redémarrer le service mysql pour prendre en compte les modifications:

Code BASH :
/etc/init.d/mysqld restart




Je conseille toujours de créer un deuxième utilisateur avec mot de passe, avec tous les droits pour travailler (un utilisateur en localhost et partout):

Code SQL :
 
CREATE USER 'utilisateur'@'%' IDENTIFIED BY 'motdepasse'; GRANT ALL PRIVILEGES ON * . * TO 'utilisateur'@'%' IDENTIFIED BY 'motdepasse' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
 
CREATE USER 'utilisateur'@'localhost' IDENTIFIED BY 'motdepasse'; GRANT ALL PRIVILEGES ON * . * TO 'utilisateur'@'localhost' IDENTIFIED BY 'motdepasse' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;






PHP





Si le site web installé est destiné à uploader des fichiers, il est possible que PHP vous refuse des fichiers au delà d'une limite.

Modifier dans ce cas les lignes post_max_size = 8M et upload_max_file_size = 16M par les valeurs désirées.