Serveur LAMP
Nous verrons ici comment installer un serveur Linux ApacheMySQL Php :
Pré-requis :
installation d'une distribution Linux, ici Debian.
installation d'appache2
#apt-get install apache2
répondre oui
-< PHP >-
installation de php5
#apt-get install php5 libapache2-mod-php5
répondre oui
-< MySQL >-
installation de MySQL 5
#apt-get install mysql-server-5.0 php5-mysql
répondre oui
Vérifier le bon fonctionnement de MySQL :
#mysql -p
OU
#mysql -u <nom utilisateur mysql> -p (voir photo ci-dessous)
Quelques commandes Mysql :
Créer un utilisateur Mysql en tant que root
mysql> CREATE USER 'VotreUTILISATEUR'@'localhost' IDENTIFIED BY 'MotDEPasse';
- Régler ses privilèges :
mysql> GRANT USAGE ON * . * TO 'VotreUTILISATEUR'@'localhost' IDENTIFIED BY 'MotDEPasse' ;
- Création d'une base de donnée mysql :
mysql> CREATE DATABASE IF NOT EXISTS `MAbase` ;
- Régler les droits pour cette base, en ne permettant à 'VotreUTILISATEUR' d'agir que sur cette base de donnée.
mysql> GRANT ALL PRIVILEGES ON `VotreUTILISATEUR` . * TO 'MAbase'@'localhost';
On pourrait également mettre '%' à la place de localhost, Le signe '%' signifie que 'VotreUTILISATEUR' pourra se connecter de n'importe quel serveur.
- voir les bases de données
mysql> show databases;
- Utiliser une base de donnée
mysql> USE nomDElaBase;
- Voir les tables de la base
mysql> SHOW TABLES;
- Voir la structure d'une table
mysql> DESCRIBE nomDElaTable;
- supprimer une base de donnée
mysql> DROP DATABASE nomDElaBase;
- supprimer une table
mysql> DROP TABLE nomDElaTable;
Changer le Passe root de MySQL :
Pour ce faire il convient d'arrêter le serveur MySQL :
#/etc/init.d/mysql stop
Redémarrer MySQL en passant outre l'identification et en désactivant l'écoute du réseau (afin d'éviter d'être piraté à ce moment donné où MySQL est vulnérable) :
#mysqld --skip-grant-tables --skip-networking &
Réinitialiser le mot de passe
Connectez-vous à la base de données système (mysql) de MySQL :
#mysql mysql -u root
Mise à jour du mot de passe root :
mysql> UPDATE user SET password=PASSWORD('VotreNouveauMotdePasse') WHERE user="root";
mysql> FLUSH PRIVILEGES;
mysql> quit;
Puis redémarrer le serveur :
#/etc/init.d/mysql restart
En SSH
- injecter une base a partir d'un fichier. Exécuter la commande dans le répertoire où se trouve le fichier SQL.
#mysql -h MON_HOST -u MON_USER -pMON_PASSWORD -D MA_BDD < MonFichier.sql
- sauvegarde complète d'une base
#mysqldump -h MON_HOST -u MON_USER -pMON_PASSWORD MA_BDD > MA_BDD_save.sql
-< PERL >-
installation du module perl (si besoin)
#apt-get install libapache2-mod-perl2
répondre oui
-< CONFIGURATION APACHE >-
Nous voulons mettre notre site web dans /home/html (rappel /home est une partition différente du système !)
Création du répertoire /home/html
#cd /home
#mkdir html
REDIRECTION APACHE 2 VERS /home/html :
Éditez le fichier /etc/apache2/sites-available/default
#nano /etc/apache2/sites-available/default
Dans ce fichier, modifier :
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost>
DocumentRoot /home/html/ <----- changer /var/www/ par ceci
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/html/> <----- changer /var/www/ par ceci
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/ <----- Commanter en rajoutant un # devant (si cette ligne existe)
</Directory>
Sauvegarder puis redémarrer apache :
#/etc/init.d/apache2 restart
Ensuite pour vérifier la redirection et le fonctionnement de php, il faut créer un fichier index.php dans le répertoire /home/html :
et ajouter ces quelques lignes :
Sauvegardez et connectez vous par votre navigateur web sur l'adresse IP de votre serveur (ex http://192.168.168.1)
et voici le résultat :