Internet - Communication & Réseau

Tutoriel configuration d'un serveur LAMP

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 26/10/2017 à 08h04
Table des matières

lamp_logo



Introduction




LAMP est un acronyme :
  • Linux : Le système d'exploitation
  • Apache : Le serveur Web
  • MySQL : Le serveur de Base de données
  • PHP : Le langage de script


Avec LAMP, on peut donc mettre en place un serveur Web, hébergeant un site web dynamique écrit en PHP, tout en allant chercher des données dans une base MySQL/Mariadb.
Certaines distributions dont Mageia, proposent un métapaquet appelé LAMP pour installer le tout en une seule commande.

Mageia a fait le choix dès sa version 2 de privilégier le fork de Mysql qui se nomme Mariadb. Vous ne remarquerez pas à l'usage de différence notable entre ces deux logiciels.

Installation






Avec le métapaquet




Installer le méta-paquetage task-lamp pour installer tous les services associés (Apache, MySQL/Mariadb et PHP)
Code BASH :
urpmi task-lamp


Ou simplement avec le CCM de Mageia.

Important




Cette méthode est spécifique à Mageia 6.
(Elle peut également fonctionner pour les versions précédentes de Mageia).

Vous pouvez consulter cette méthode très proche.

Instructions




Une fois que "task-lamp" est installé.
À l'aide de la "console", tout ce qui suivra sera à faire en "root"

Configuration




Pour démarrer le service "lamp"

Code BASH :
systemctl start httpd


et

Code BASH :
systemctl enable mysqld


ensuite taper

Code BASH :
systemctl start mysqld


Création du mot de passe root pour mariadb (par mesure de sécurité différent du root système).

Code BASH :
mysql -u root


Vous verrez: (Welcome to the MariaDB..............)


Dans un doc texte, taper ceci (en changeant la partie "votre_mot_de_passe")
et coller le dans la "console":

Code BASH :
 
SET password FOR root@localhost = password('votre_mot_de_passe');
FLUSH privileges;
quit;
 


La création du password se fait
vous verrez cette ligne:

Code BASH :
quit;


(appuyez sur "ENTRÉE")

Sécurisé le programme




Taper dans la console:
Code BASH :
mysql_secure_installation



Code TEXT :
 
Enter current password for root (enter for none)
(Entrez le mot de passe actuel root (mariadb) ou taper juste "entrée" si pas de mot de passe):
 
Change the root password? [Y/n] n <--- ici "n" si vous voulez garder le mot passe root ou "y" pour le changer
 ... skipping.
tout ce qui suit garder les choix par défaut (bien sur vous pouvez ne pas suivre le choix par défaut libre à vous)
Remove anonymous users? [Y/n] y
 ... Success!
Disallow root login remotely? [Y/n] y
 ... Success!
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
 




La sécurisation est finie.


Rajouter les droits "chmod" pour lire écrire sur ce dossier:
/var/www/html/

Les liens




Ouvrir dans le navigateur: http://127.0.0.1/

Si la page affiche: "It works!" apache est bien installé.


L'accès à phpmyadmin: http://127.0.0.1/phpmyadmin
Bienvenue à phpMyAdmin
login: root
pass:

L'accès aux pages: http://127.0.0.1/
L'accès au dossier de travail est ici: /var/www/html/

Ajouter le SSL




Essayer d'ouvrir d'abord:
https://127.0.0.1/

Si vous obtenez une page "erreur".


Ajouter le paquet depuis votre CCM:
apache-mod_ssl

Relancer:
https://127.0.0.1/
Confirmer l'exception de sécurité.

Voilà c'est fini.

Et ensuite




Ci-dessous la méthode pour modifier le dossier de travail (pas indispensable mais plus pratique, pour les sauvegardes).

[MISE EN GARDE]
Il n'est pas du tout conseillé de le faire (pour beaucoup de raisons, sécurité, etc...), mais reste utile dans certains cas.
En cas de problème vous serez le seul responsable des conséquences, et l'auteur de cette page wiki ainsi que MLO rejette toute responsabilité!

Vous maitrisez donc déjà les lignes de commandes et avez quelques notions.

Explication pour passer de:
/var/www/html/ remplacer par /home/utilisateur/www/html/


"rick1" est le nom d'utilisateur pour notre exemple.

/var/www/html/ remplacer par /home/rick1/www/html/

Recréer les dossiers en "root" avec "mkdir"
(Très important de le faire avec la console et en root).



/var/www
/home/rick1/www

/var/www/cgi-bin
/home/rick1/www/cgi-bin

/var/www/html
/home/rick1/www/html

/var/www/html/www/
/home/rick1/www/html/www/

/var/www/html/www/www/
/home/rick1/www/html/www/www/



Il faut récréer chaque dossier à l'équivalent sur /home/rick1
et mettre les mêmes droits CHMOD sur
chaque dossiers listés plus haut.


Remarque importante, avant de modifier un fichier système et en cas de problème, faire une copie du fichier, avec la commande "cp".

Ouvrir: /etc/httpd/conf/httpd.conf
avec l'éditeur "VI".

Modifier les "url_de_dossiers" par les nouvelles adresses:
faire attention au "/" (cela peut varier sur httpd.conf)
s'aider avec la liste plus haut.



Pour éviter d'avoir une page "erreur" dans votre navigateur du type, accès interdit ou affichage impossible de la page.

Modifier également:

Code BASH :
User: apache
Group: apache


en

Code BASH :
User: rick1
Group: rick1



Ensuite redémarrer avec la console

Code BASH :
systemctl restart httpd


Et ensuite

Code BASH :
systemctl restart mysqld