Posts Tagged MySQL
Déployer rapidement un serveur LAMP fonctionnel sous Debian 5 Lenny
Installer Apache2
Installer un serveur web Apache fonctionnel ne nécessite qu’un paquet (apache2). Néanmoins, on peut optimiser l’installation grâce à l’ajout de paquets supplémentaires. Cela a pour but de maximiser la compatibilité et les fonctionnalités de votre serveur. Prochainement, je vous expliquerai d’ailleurs comment personnaliser et maintenir votre serveur (Virtual Hosts, mods, etc…).
Installez les paquets suivants pour déployer Apache :
apt-get install apache2 apache2.2-common apache2-mpm-prefork apache2-utils ssl-cert
Description des paquets installés :
[table id=14 /]
Je vous invite à régulièrement suivre le tag Apache ou le flux RSS du site pour être tenu au courant des derniers articles sur ce sujet.
Installer PHP5
Comme pour Apache, PHP s’installe grâce à un seul paquet. On en ajoute d’autres pour le rendre optimisé et compatible avec la plupart des développements.
Installez les paquets suivants pour déployer PHP :
apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-gd php5-imagick php5-memcache php5-mysql php5-xmlrpc php5-xsl
Description des paquets installés :
[table id=15 /]
Je vous invite à régulièrement suivre le tag PHP ou le flux RSS du site pour être tenu au courant des derniers articles sur ce sujet.
Installer MySQL
L’installation de MySQL est de loin la plus aisée. Néanmoins, je vous expliquerai prochainement comment personnaliser et maintenir votre serveur (accès distant, optimisation, benchmarks etc…).
Installez les paquets suivants pour déployer MySQL :
apt-get install mysql-server mysql-client libmysqlclient15-dev
Description des paquets installés :
[table id=16/]
Je vous invite à régulièrement suivre le tag MySQL ou le flux RSS du site pour être tenu au courant des derniers articles sur ce sujet.
Autoriser l’accès distant à un serveur MySQL
Il est possible de configurer un serveur MySQL afin qu’il soit accessible depuis un serveur distant et/ou des utilitaires de gestion tels que les MySQL GUI Tools. Pour cela, il est nécessaire d’accorder des droits suffisants à un utilisateur ailleurs que sur le serveur hébergeant la base (localhost).
On se connecte donc au serveur MySQL et on tape :
grant all privileges on *.* to user@123.123.123.123 identified by "password";
Où :
- *.* désigne la ou les bases autorisées (* signifie toutes, mais on peut n’en choisir qu’une seule)
- user correspond au nom de l’utilisateur MySQL à qui l’on accorde l’accès à distance
- 123.123.123.123 est l’adresse IP du serveur distant auquel on donne l’accès (peut être replacé par * pour tous les serveurs)
- password est le mot de passe associé à l’utilisateur MySQL en question
Ne reste plus qu’à réinitialiser les privilèges pour que les modifications soient immédiatement effectives sans redémarrer le serveur :
flush privileges;
Ensuite, on édite le fichier de configuration my.cnf
vi /etc/mysql/my.cnf
Par défaut, MySQL n’écoute que localhost. Il faudra donc commenter la ligne relative au bind-address dans le fichier de configuration MySQL
#bind-address = 127.0.0.1
Enfin, on redémarre le serveur MySQL :
/etc/init.d/mysql restart
Réinitialiser le mot de passe root de MySQL
Il est possible de se connecter à MySQL en échappant à la phase d’authentification habituelle. C’est la solution ultime si vous avez perdu votre mot de passe root et que vous ne pouvez plus gérer votre SGBD.
Tout d’abord on arrête le serveur en lignes de commandes :
/etc/init.d/mysql stop
On redémarre ensuite MySQL en passant outre l’identification (–skip-grant-tables) et en désactivant l’écoute du réseau (–skip-networking). Cela permet d’éviter d’être piraté à ce moment précis où MySQL est vulnérable.
mysqld --skip-grant-tables --skip-networking &
Ensuite, on se connecte au serveur MySQL qui ne demandera donc pas de mot de passe…
mysql -u root
Ne reste enfin qu’à mettre à jour le mot de passe root via la commande MySQL UPDATE
UPDATE user SET password=PASSWORD('nouveaumotdepasse') WHERE user="root";
Enfin, on recharge les permissions pour prendre en compte les changements
flush privileges;
Relativisons tout de même cette technique. Sans plus de précautions sur votre serveur, certes vous venez de sortir d’une mauvaise passe, mais vous laissez en permanence la possibilité pour un intrus de prendre la main sur votre base de données. Attention donc à bien toujours sécuriser votre SSH.