Installer un serveur LAMP sous Mageia

Cet article a été mis à jour, vous consultez ici une archive de cet article!

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.
Certaines distributions dont Mageia, proposent un métapaquet appelé LAMP pour installer le tout en une seule commande.

Installation




Avec le métapaquet



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

Il se peut que plusieurs choix soient proposés pour l'installation de certains paquets.
Choisir dans ce cas php-gd-5.x, apache-mpm-prefork, puis valider l'installation.


En installant les paquets séparément





Test de l'installation



Afin de vérifier que LAMP est bien installé, lancer les services httpd et mysql
Code BASH :
service httpd start
Starting httpd (via systemctl):                                 [  OK  ]
service mysqld start
Starting mysqld (via systemctl):                                [  OK  ]


Ne pas oublier d'ouvrir le port 80 dans le pare-feu. (Drakfirewall)


Tester ensuite le serveur web avec un navigateur internet en se rendant sur http://ip-du-serveur. La page "It works!" doit d'afficher.
Pour tester mysql, ouvrir une console en local en saisissant mysql puis tester une commande SQL
Code BASH :
mysql

Code SQL :
MariaDB [(NONE)]> SELECT 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 ROW IN SET (0.00 sec)


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 :
service 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.