Dans cet article nous allons aborder l’installation d’un environnement de production Web sur un serveur Linux Ubuntu version 16. Nous allons commencer par installer Apache sous ubuntu 16 et voir pour MySQL et PhpMyAdmin par la suite.
Les commandes abordées dans cet article ont été testées et validées sur la version 64 bits de Ubuntu 16.04.1
Pour connaître sa version de Ubuntu, exécuter cette commande :
lsb_release -a
le résultat est donc :
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Création d’un utilisateur avec privilèges ROOT
Pour respecter les bonnes pratiques, nous allons créer un utilisateur qu’on va nommer lu
pour effectuer les commandes.
Créer l’utilisateur lu : adduser lu
Il vous sera demandé d’entrer un mot de passe qui doit être fort.
Une fois l’utilisateur créé, nous allons lui attribuer les droits root.
Exécutez en tant que root:
gpasswd –a lu sudo
Changez d’utilisateur en exécutant la commande:
Su lu
Installation d’Apache
Apache est disponible dans les référentiels logiciels par défaut d’Ubuntu. Nous allons donc installer Apache sous ubuntu 16 à l’aide des outils de gestion de paquets classiques.
Nous allons commencer par mettre à jour l’index des paquets sur le serveur:
sudo apt-get update
Maintenant nous pouvons installer apache2 :
sudo apt-get install apache2
A la fin de l’installation nous allons vérifier si Apache fonctionne, il suffit alors de voir sur le navigateur le lien http://localhost ou mettre l’adresse ip publique de votre serveur.
Pour trouver votre adresse IP publique, il vous suffit d’exécuter :
hostname -I
Nous allons maintenant apporter quelques modifications pour le bon fonctionnement des sites web qu’on va héberger sur cet apache. Il faudra commencer par activer mod_rewrite
.
mod_rewrite
est disponible mais n’est pas activé après avoir installer Apache sous ubuntu 16. Pour l’activer :
sudo a2enmod rewrite
Redémarrer Apache : service apache2 restart
.
A savoir que par défaut, Apache interdit l’utilisation d’un fichier .htaccess
pour appliquer des règles de réécriture.
Il faut donc Ouvrir le fichier de configuration Apache par défaut à l’aide de vi:
sudo vi /etc/apache2/sites-available/000-default.conf
Dans ce fichier, on a un bloc commençant à la première ligne. À l’intérieur de ce bloc, ajoutez le nouveau bloc au-dessous (Assurez-vous que tous les blocs sont correctement mis en retrait ou indenté):
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
. . .
Redémarrer Apache : service apache2 restart
.
C’est bon, on peut donc utiliser RewriteEngine on
dans notre fichier .htaccess
Installation de MySQL
La façon la plus sipmle pour installer MySQL est comme d’habitude mettre à jour l’index des paquets et ensuite installe le paquet mysql-server.
sudo apt-get update
sudo apt-get install mysql-server
Vous serez invité à créer un mot de passe root lors de l’installation. Choisissez-en un sécurisé et assurez-vous de vous en souvenir, car vous en aurez besoin plus tard.
Configuration de la sécurité de MySQL
Pour les nouvelles installations de MySQL, vous devez exécuter le script de sécurité inclus.
Ce script va modifier certaines des options par défaut de MySQL et dont la sécurité laisse désirer.
Pour exécuter le script de sécurité :
mysql_secure_installation
Le script va vous demander le mot de passe root créé auparavant. Répondre par Y
pour accepter les valeurs par défaut de toutes les questions posées lors de cette étape, à l’exception de celle qui vous demande si vous souhaitez modifier le mot de passe root.
Nous pouvons maintenant tester notre connexion à MySQL en se connectant à la base « sys » (puisque nous considérons que nous venons d’installer MySQL et qu’on n’a pas de bases sur le serveur):
mysql -p -u root sys
On nous demande alors le mot de passe de MySQL (ce qui est un bon début), une fois le mot de passe mis, on doit avoir le prompt >mysql
.
Installation de PhpMyadmin
PhpMyAdmin va nous permettre d’accéder à nos bases de données directement depuis un navigateur internet.
Exécutez :
sudo apt-get install phpmyadmin apache2-utils
Il vous sera demandé alors (comme d’habitude) un mot de passe root MySQL qui doit être (comme d’habitude) un mot de passe fort.
Un fois l’installation de phpMyAdmin terminée il faudra modifier le fichier de configuration d’apache2
Il faudra donc modifier le fichier apache2.conf
. Exécuter cette commande pour pouvoir éditer le fichier :
sudoedit /etc/apache2/apache2.conf
Ajouter à la fin du fichier (Touche Echap ensuite : ensuite i)
Include /etc/phpmyadmin/apache.conf
Sauvegarder le fichier et quitter (Touche Echap ensuite : ensuite wq).
Redémarrez apache:
sudo service apache2 restart
Vous pouvez maintenant accéder à phpMyAdmin via l’url http://localhost/phpmyadmin
(ou en mettant l’ip publique bien sûr)
Rendre index.php prioritaire
Après l’installation d’Apache, par défaut le serveur Apache priorise les fichiers index.html.
Cela veut dire que si nous possédons, dans un même dossier, un fichier index.html et un fichier index.php, notre serveur Web va appeler le fichier index.html.
Ouvrir le fichier de configuration d’Apache :
sudo vi /etc/apache2/mods-enabled/dir.conf
Il se peut qu’on vous demande le mot de passe de l’utilisateur pour plus de sécurité.
On trouve alors la liste des priorités de notre serveur Apache :
Comprendre que index.html est plus prioritaire que index.cgi qui est encore plus prioritaire que index.pl …
Mettre donc index.php en tête de la liste pour qu’il soit le plus prioritaire.
Installation de fonctionnalités supplémentaires
Des fois nous avons besoin d’installer des fonctionnalités supplémentaires comme les fonctions mathématique (bcdiv).
Pour cela :
sudo apt-get install php-bcmath
Et ensuite relancer Apache : sudo service apache2 restart