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.

, , , , ,

Laisser un commentaire

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

, , ,

Laisser un commentaire

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.

, , ,

Laisser un commentaire