Introduction
LAMP est l'abréviation de Linux Apache MySQL PHP. Ce sont les éléments constituant une plateforme d'hébergement de site web. Tous les composants nécessaires étant présent dans les dépôts logiciels de base de Debian, l'installation se fera simplement avec la commande apt. A noter que MySQL a été remplacé par MariaDB dans les distributions linux depuis le rachat de MySQL par Oracle.
Installation d'Apache
sudo apt install apache2
Lorsque l'installation d'Apache est terminée, l'installeur va s'occuper d'activer et de lancer le service. Nous pouvons vérifier le status en utilisant la commande suivante :
sudo systemctl status apache2
Une fois le serveur Apache lancé, nous devons lui permettre de communiquer avec l'extérieur à travers notre firewall. Pour cela, nous allons ouvrir les ports http et https.
sudo ufw allow http
sudo ufw allow https
On recharge le firewall.
sudo ufw reload
Installation de MariaDB
Nous installons MariaDB avec la commande suivante :
sudo apt install mariadb-server
Une fois que MariaDB, je vous recommande d'utiliser le script de sécurisation qui est fournit avec le paquet logiciel qui doit être lancé avec la commande sudo.
sudo mysql_secure_installation
On va vous demander essentiellement de choisir un mot de passe sur le compte root. Et de répondre par l'affirmative aux questions qui vous sont posées.
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here.
Enter current password for root (enter for none):
==> [ENTREE]
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation.
Set root password? [Y/n]
==> [Y]
New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? [Y/n]
==> [Y]
... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n]
==> [Y]
... Success!
By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.
Remove test database and access to it? [Y/n]
==> [Y]
- Dropping test database... ... Success! - Removing privileges on test database... ... Success!
Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
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!
L'installation et la configuration de MariaDb est maintenant terminée.
Installation de PHP
PHP est un langage très populaire sur le web pour la construction de pages dynamiques. Les pages dynamiques permettent une interraction avec les utilisateurs et la base de données.
Nous allons installer les paquets de base de php avec la commande suivante. En fonction du type de site ou d'application que vous souhaitez héberger vous aurez besoin de paquets complémentaires qui pourront être installés par la suite.
sudo apt install php libapache2-mod-php php-mysql
Nous devons maintenant recharger la configuration du serveur Apache afin qu'il prenne en compte le PHP.
sudo systemctl reload apache
Pour tester PHP, nous devons créer un fichier info.php dans /var/www/html avec les instructions suivantes :
<?php phpinfo(); ?>
En ouvrant cette page dans un navigateur, nous sommes en mesure d'attester du bon fonctionnement de PHP (http://<adresse id du serveur>/info.php). Si tout c'est déroulé normalement, vous devriez être en mesure de voir la page suivante :