En pratique
Étape 1 : mettez votre système à jour
Sur une distribution Debian ou Ubuntu récente, nous vous conseillons de réinstaller totalement votre serveur si cela est possible sur votre machine. Attention, cette action effacera totalement vos données.
Connectez-vous en SSH en tant qu’administrateur « root ». N’hésitez pas à vous reporter au guide SSH.
Une fois le système installé, il convient de le mettre à jour :
apt-get update && apt-get upgrade -y
Vous partez ainsi sur une base saine et totalement à jour.
Étape 2 : créez un nouvel utilisateur avec les privilèges « sudo »
Pour des raisons de sécurité et pour suivre les bonnes pratiques, il est préférable d’installer et gérer un serveur LAMP avec un utilisateur séparé, ne possédant pas les privilèges « root ». Si vous disposez déjà d’un utilisateur avec les privilèges « sudo », sans pour autant être « root », vous pouvez vous rendre directement à la deuxième étape. Ce type de fonctionnement est déjà en vigueur pour les dernières versions d’Ubuntu.
Dans le cas où vous ne possédez que l’utilisateur « root », il convient de créer un nouvel utilisateur :
adduser mynewuser
Diverses informations seront obligatoires, comme un mot de passe. D’autres seront optionnelles : le nom ou le numéro de téléphone, par exemple.
Il faut ensuite rajouter cet utilisateur au groupe « sudo » :
usermod -aG sudo mynewuser
Et enfin, connectez-vous sur ce nouveau compte utilisateur :
su - mynewuser
Étape 3 : installation du serveur web Apache 2
La première brique du stack LAMP, le système d’exploitation Linux, a été installée lors des étapes précédentes.
Nous allons installer ici la deuxième brique, le serveur web Apache 2, ainsi que sa documentation :
sudo apt-get install apache2 apache2-doc
Si l’installation s’est effectuée correctement, vous devriez pouvoir accéder à la page par défaut d’Apache en joignant l’adresse IP (ou le nom du service) de votre serveur dans le navigateur, comme suit : http://IP_du_serveur. N’essayez pas de vous connecter en HTTPS, car à ce stade aucun certificat SSL n’est encore installé.
Cette page est très instructive, et vous donnera un aperçu des fichiers de configuration d’Apache 2 et leur spécificités. N’hésitez pas à la parcourir.
Il est possible de vérifier que le service Apache fonctionne correctement en utilisant la commande suivante :
sudo service apache2 status
La mention active (running)
doit apparaître.
La procédure Apache peut se gérer comme suit :
service apache2 start => permet de démarrer le service
service apache2 stop => permet d’arrêter le service
service apache2 restart => permet de relancer ou recharger le service
Étape 4 : installez PHP
Nous passons ensuite à l’installation de la troisième brique, le langage de programmation PHP.
Pour installer le paquet PHP, tapez cette commande :
sudo apt-get install php5-common libapache2-mod-php5 php5-cli
Pour tester l’installation, dans le répertoire /var/www/html
, créez le fichier info.php
avec le contenu suivant :
cd /var/www/html
sudo nano info.php
Insérez dedans :
<?php
phpinfo();
?>
Accédez ensuite au fichier via le navigateur : http://IP_du_serveur/info.php.
Vous devriez pouvoir visualiser une page détaillant toutes les spécificités de votre environnement PHP (version 7.0.30 dans notre cas) :
Une fois visualisé, nous vous recommandons vivement de supprimer le fichier index.php
. En effet, il n’est jamais conseillé de donner publiquement des informations sur votre configuration.
Par défaut, le serveur web Apache ne priorise pas les fichiers PHP par rapport aux fichiers HTML. Ici, dans le dossier racine, nous disposons de index.html
et de index.php
. Si vous retournez dans votre navigateur web, sur http://IP_du_serveur, Apache vous renverra la page index.html
et non pas index.php
. Cette priorisation n’a pas d’impact sur la majeure partie des CMS comme WordPress ou Drupal. Ces règles peuvent toutefois être modifiées si besoin.
Étape 5 : installez le système de base de données MySQL/MariaDB
Nous arrivons à la quatrième et dernière brique du stack LAMP, le système de bases de données.
Depuis le rachat de MySQL par Oracle, le fondateur de MySQL a créé en 2009 un dérivé (fork en anglais) plus communautaire et plus ouvert, appelé MariaDB en hommage à sa deuxième fille. 100 % des commandes MySQL sont compatibles avec MariaDB, tout comme vos applicatifs web préférés. La distribution Linux Debian propose MariaDB par défaut. Si vous utilisez ce système d’exploitation, vous pourrez lire « MariaDB » dans votre terminal lors de cette étape.
Voici la commande à utiliser (votre mot de passe de compte utilisateur Linux vous sera demandé) :
sudo apt-get install mysql-server
Par défaut, le mot de passe administrateur MySQL/MariaDB sera le même que celui de votre utilisateur système. Pour personnaliser la sécurisation de votre base de données, voici la commande à effectuer :
mysql_secure_installation
Entrez votre mot de passe « root », puis changez le mot de passe :
Change the root password? [Y/n] => y
New password:
Désactivez ensuite les connexions anonymes :
Remove anonymous users? [Y/n] => y
Désactivez la connexion en « root » depuis une connexion distante :
Disallow root login remotely? [Y/n] => y
Il faut maintenant effacer la base de données de test créée par défaut :
Remove test database and access to it? [Y/n] => y
Il reste à charger les nouveaux paramètres :
Reload privilege tables now? [Y/n] => y
Pour tester l’accès à votre base de données, voici la commande à utiliser dans votre terminal :
mysql -u root -p
MariaDB [(none)]> show databases;
MariaDB [(none)]> exit
Nous vous conseillons de créer un utilisateur spécifique et dédié à votre applicatif web. Si besoin, référez-vous à la documentation officielle MySQL ou MariaDB.
Étape 6 : installez phpMyAdmin (optionnel)
L’installation du serveur LAMP est terminée ! Cette étape est optionnelle. L’interface open source phpMyAdmin va vous permettre de gérer plus facilement vos bases de données via une interface web.
Pour l’installer voici la commande à entrer :
sudo apt-get install phpmyadmin
Dans les choix proposés, sélectionnez un serveur web à reconfigurer automatiquement pour exécuter phpMyAdmin
:
- cochez
()apache2
, puisEntrée
; - acceptez l’aide à la configuration, puis rentrez un mot de passe administrateur MySQL.
Afin d’accéder à l’interface de gestion de phpMyAdmin
, vous devrez finaliser la configuration votre serveur Apache. Pour cela, éditez le fichier de configuration Apache :
sudo nano /etc/apache2/apache2.conf
À la fin du fichier, rajoutez :
# Include phpMyAdmin
Include /etc/phpmyadmin/apache.conf
Le service Apache doit ensuite être relancé grâce à cette commande :
sudo service apache2 restart
Afin de vous connecter, vous devrez au préalable créer un utilisateur possédant les droits administrateur pour phpMyAdmin
:
mysql -u root -p
[mot de passe]
MariaDB [(none)]> CREATE USER 'my_user'@'localhost' IDENTIFIED BY 'my_password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON * . * TO 'my_user'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
Accédez ensuite à l’interface via http://IP_du_serveur/phpmyadmin/ :
Étape 7 : installez WordPress (optionnel)
Cette partie est elle aussi optionnelle. Voici brièvement les étapes pour installer ce CMS :
Téléchargez, décompressez et copiez le contenu dans un nouveau dossier appelé mywebsite
:
wget https://wordpress.org/latest.tar.gz
tar xpf latest.tar.gz
sudo cp -r wordpress /var/www/html/mywebsite
Ce dossier contenant WordPress est maintenant accessible sur http://IP_du_serveur/mywebsite/.
Créez une base nommée wordpress
en ligne de commande ou via phpMyAdmin
.
Votre écran de configuration doit ressembler à celui ci-dessous :
Si vous avez un avertissement au niveau de la création du fichier wp-config.php
, éditez les droits en exécution, lecture, écriture en fonction de vos besoins (communément appelés CHMOD
).
Conclusion
Voilà, le CMS WordPress est installé et est propulsé par votre stack LAMP installé dans ce tutoriel !
Nous venons d’installer un serveur LAMP en partant de zéro, vous permettant ainsi d’héberger vous-même vos sites et applications web. En réalisant cette installation par vos propres moyens, vous gardez une liberté de configuration totale. N’hésitez pas à lire la documentation officielle d’Apache pour en découvrir toutes les possibilités.
Si vous désirez aller plus loin ou que vous êtes curieux, sachez qu’il existe des alternatives à Apache : la plus connue au succès grandissant étant NGNIX (prononcez « engine-x »). Un stack incluant NGINX est appelé LEMP, et est souvent réputé pour être plus léger. Nous vous conseillons enfin de sécuriser votre site avec un certificat SSL.
Step 1: Connect to your server via SSH and update your server OS packages
Before we begin, let’s connect to your VPS via SSH as user root and update your Ubuntu OS packages to the latest available version.
To connect to your server via SSH as user root, use the following command:
ssh root@IP_ADDRESS -p PORT_NUMBER
Replace “IP_ADDRESS” and “PORT_NUMBER” with your actual server IP address and SSH port number.
Once logged in, make sure that your server OS packages are up-to-date by running the following commands:
apt-get update apt-get upgrade
If this is your first time logging into your brand new Ubuntu VPS, you can also check our First Steps After Getting An Ubuntu VPS tutorial for some additional basic initial server setup and security tips.
Step 2: Install a Web Server
In this section, we will show you how to install a web server on your VPS. We can install Apache, or nginx as a web server. For the purpose of this tutorial, we will install the Apache web server. Apache is a fast and secure web server and one of the most popular and widely used web server in the world.
To install the Apache web server, run the following command on your server:
apt-get install apache2
After the installation is complete, you should start Apache:
systemctl start apache2
Also, you can enable Apache to start automatically on server boot:
systemctl enable apache2
To check the status of the Apache web server and make sure it is up and running, you can use the following command:
systemctl status apache2
To verify that Apache is running, you can also open your web browser and enter your server IP address, (e.g. http://your_server_ip_address). If Apache is successfully installed, you should see the Apache default welcome page.
Step 3: Install Ondřej Surý’s PPA
PHP 7.2 can be installed using Ondřej Surý’s PPA, so install the software-properties-common and python-software-properties packages:
sudo apt-get install software-properties-common python-software-properties
Then, add the ondrej PPA and update your sources:
sudo add-apt-repository -y ppa:ondrej/php sudo apt-get update
Step 4: Install PHP 7.2
Install PHP 7.2 using the following command:
sudo apt-get install php7.2 php7.2-cli php7.2-common
Step 5: Search and install specific PHP 7.2 extensions
If you want to install a specific PHP 7.2 extension, you can search if it is available using the following command:
sudo apt search php7.2
Step 7: Install most commonly used PHP extensions
To install the most commonly used PHP extensions you can use the following command:
sudo apt-get install php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-intl php7.2-mysql php7.2-xml php7.2-zip
Step 8: Check the PHP installation
Use the following command to check the PHP version installed on your server:
php -v
You should receive the following output:
PHP 7.2.9-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 19 2018 07:16:12) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.9-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
Now, PHP 7.2 has been installed on your Ubuntu server, and if we want to change the default PHP version to PHP 7.2 that is used by the web server, we need to disable the old PHP 7.0 version and enable the newly installed one.
Disable PHP 7.0
a2dismod php7.0
Enable PHP 7.2
a2enmod php7.2
Restart the Apache web server for the changes to take effect:
systemctl restart apache2
To test your installation and check that Apache, PHP and PHP extensions are working properly, create a new php info file:
vi /var/www/html/phpinfo.php
Add the following content to it:
<?php phpinfo(); ?>
Open the ‘phpinfo.php’ file using a web browser:
http://<ip-address>/phpinfo.php or http://<your-domain.com>/phpinfo.php
and view the current information about PHP on your server.
That’s it. You have successfully installed PHP 7.2 on an Ubuntu 16.04 server. For more information about PHP 7, please refer to the official PHP documentation.
Sources :
https://docs.ovh.com/fr/dedicated/installer-lamp-debian-ubuntu/
https://www.rosehosting.com/blog/how-to-install-php-7-2-on-ubuntu-16-04/