Installation du serveur web HTTP Apache 2

Contexte

Date : 4 janvier 2016

Environnement : Debian 8.2.0 amd64 (installé en suivant la Documentation d'installation de Debian 8.2.0)

Nous partirons du fait que l'OS est correctement installé et configuré pour être accessible via une adresse IP fixe. (Voir ICI comment on configure une IP fixe sur Debian)

Cette documentation concerne principalement l'installation d'un serveur web Apache, mais aussi l'installation de PHP5, MySQL, PHPMyAdmin qui sont désormais des compléments très courants d'Apache.

  • PHP

Le PHP est un langage informatique utilisé sur l'internet. Le terme PHP est un acronyme récursif de “PHP: Hypertext Preprocessor”. Ce langage est principalement utilisé pour produire un site web dynamique. Il est courant que ce langage soit associé à une base de données, tel que MySQL. Exécuté du côté serveur (l'endroit où est hébergé le site) il n'y a pas besoin aux visiteurs d'avoir des logiciels ou plugins particulier. Néanmoins, les webmasters qui souhaitent développer un site en PHP doivent s'assurer que l'hébergeur prend en compte ce langage. Lorsqu'une page PHP est exécuté par le serveur, alors celui-ci renvois généralement au client (aux visiteurs du site) une page web qui peut contenir du HTML, XHTML, CSS, JavaScript …

  • MySQL

MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service de données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées. Il est multi-thread et multi-utilisateur. Ce type de base de donnée est très couramment utilisé sur des sites internet “dynamique” couplé avec PHP.

  • PHPMyAdmin

phpMyAdmin (PMA) est une application Web de gestion pour les systèmes de gestion de base de données MySQL réalisée en PHP Il s'agit de l'une des plus célèbres interfaces pour gérer une base de données MySQL sur un serveur PHP. Cette interface pratique permet d'exécuter, très facilement et sans grandes connaissances en bases de données, des requêtes comme les créations de table de données, insertions, mises à jour, suppressions et modifications de structure de la base de données, ainsi que l'attribution et la révocation de droits et l'import/export. Ce système permet de sauvegarder commodément une base de données sous forme de fichier .sql et d'y transférer ses données, même sans connaître SQL. Les requêtes SQL restent possibles, ce qui permet de les tester interactivement lors de la création d'un site pour les utiliser ensuite en batch une fois au point.

Installation

Apache 2

On pourrait résumer pour faire très simple l'installation à un bête

apt-get install apache2

On peut voir sur la fin de l'installation l'activation de certains modules et configurations par défaut

Nous verrons un peu plus tard comment configurer et ajuster cela…

A partir d'ici si j'ouvre mon navigateur web préféré et tape dans l'adresse URL

http://ip_du_serveur_apache

J'arrive sur une page qui ressemble à ça

Ceci confirme que Apache est bien installé et démarré ! c'est la page et configuration par défaut d'apache qui permet d'afficher cette page.

Pour le moment terminons en avec les installations de paquets, souvent lorsque l'on installe apache on souhaite par la même occasion avoir PHP5/MySQL disponible sur ce même serveur !

PHP5/MySQL

On continu donc l'installation avec PHP et MySQL en faisant

apt-get install php5 php5-mysql libapache2-mod-php5 mysql-server mysql-client

Nous sommes ensuite pendant cette installation, inviter à définir un password pour le “superutilisateur” de mysql (root) et à le confirmer une 2ème fois, ne pas l'oublier il sera utile par la suite pour la configuration et l'utilisation de mysql…

PHPMyAdmin

Quitte à avoir été jusqu'à l'installation de PHP/MySQL continuons avec l'installation de PHPMyAdmin histoire d'avoir une interface un peu plus simpa pour la gestion de mysql…

apt-get install phpmyadmin

Il nous est proposé de choisir le serveur web à utiliser et configurer pour phpmyadmin étant donné qu'on a déjà installé apache2 choisissons le

Ensuite laissons l'installeur configurer automatiquement la base de donnée de phpmyadmin avec dbconfig-common en répondant “oui” à la question

Il faut ensuite saisir le mot de passe de mysql précédemment défini afin que l'installeur dispose des droits nécessaires à la création de la base de donnée de phpmyadmin

Ensuite il faut définir le mot de passe root/superutilisateur de phpmyadmin et le confirmer en le tapant une 2ème fois, attention il est déconseillé de mettre les mêmes pour mysql et l'admin de phpmyadmin, bien que pour des raisons pratiques c'est souvent ce qui est fait/décidé lors d'environnement de test…

Si tout c'est bien passé, nous devrions accéder via l'URL

http://adresse_ip_du_serveur/phpmyadmin

à l'interface de gestion de phpmyadmin

Si ce n'est pas le cas vous pouvez :

  • Redémarrer apache
service apache2 restart
  • Vérifier la présence du lien symbolique créé par l'installeur de phpmyadmin
ls -all /etc/apache2/conf-available/phpmyadmin.conf

Devrait retourner /etc/apache2/conf-available/phpmyadmin.conf → /../../phpmyadmin/apache.conf

Conclusion sur l'installation

A ce stade nous avons donc un serveur LAMP (Linux Apache Mysql Php) fonctionnel mais pas du tout configuré de façon sécurisé et surtout vide de tout contenu intéressant pour le moment… mis à part l'interface de phpmyadmin et la page par défaut d'apache… rien d'autre n'est accessible. Nous verrons comment mettre en ligne un site web et le configurer à la prochaine étape.

Configuration