Apache, Mysql et Php sur un serveur Ubuntu

Blog > Administration serveur dédié

Cet article va nous permettre de faire de notre serveur dédié Kimsufi un serveur web. Nous allons voir comment installer et configurer pas à pas Apache, Php et Mysql. A l’issu de ce tutoriel, nous disposerons d’un serveur web tournant sur Ubuntu 15.04 prêt à accueillir ses premiers sites.

Installation et configuration d’Apache

Installation d’Apache

Depuis la version 10.4 d’Ubuntu, l’installation de base d’apache ne nécessite l’installation que d’un seul paquet : apache2.

$ apt-get install apache2

Note

Pour ce tuto, on considérera que l’on est préalablement connecté à notre serveur en tant que root.

Configuration d’Apache

Tous les fichiers de configuration d’apache sont regroupés dans le dossier /etc/apache2. Nous allons les détailler afin de mieux s’y retrouver.

  • apache2.conf : Fichier principal de configuration
  • conf-available : Contient la liste des configurations
  • conf-enabled : Contient la liste des configurations activées
  • envvars : Contient les variables d’environnement d’Apache
  • apache2.conf : Fichier de configuration principal appelant les autres
  • mods-available : Contient la liste des modules installés
  • mods-enabled : Contient la liste des modules utilisés
  • ports.conf : Contient la liste des ports sur lesquels apache écoute
  • sites-available : Contient le fichier de configuration des différents sites installés
  • sites-enabled : Contient le fichier de configuration des différents sites utilisés

Activation d’un module Apache

Il existe de nombreux modules disponibles dans le répertoire mods-available. Dans cet exemple, nous n’allons en activer qu’un seul qui nous permettra de mettre en place de l’URL Rewriting sur nos différents sites. L’ajout d’un module ce fait par la commande a2enmod suivi du nom du module. Nous souhaitons activer le « module » rewrite.load, la commande sera donc :

$ a2enmod rewrite

Sécurisation basique d’Apache

Rendre Apache moins bavard

Par défaut, Apache est un peu trop bavard… On peut s’en rendre compte en accédant à notre serveur dans un navigateur (http://ks362230.kimsufi.com dans mon cas).
On tombe sur la page par défaut. Maintenant si l’on accède à http://ks362230.kimsufi.com/test on se rend compte qu’Apache indique sa version, l’OS ainsi que son port en bas de page. Pas forcement sympa si l’on a oublié de faire une mise à jour de sécurité sur son serveur…

Pour corriger cela, on va se rendre dans le fichier de configuration security.conf du repertoire conf-available et modifier les valeurs suivantes :

ServerTokens Prod
ServerSignature Off
Restriction sur les répertoires

On va à présent éditer /etc/apache2/sites-available/default afin de le comprendre et gérer plus finement les permissions sur les fichiers et répertoires.

DocumentRoot /var/www       # Racine d'Apache, c'est ici que se trouve le fichier "It works"


  Order Deny,Allow
  Deny from all             # On interdit l'accès à la racine de notre serveur à Apache
  Options None              # On désactive toutes les options
  AllowOverride None        # On interdit les fichiers .htaccess



  Order Allow,Deny
  Allow from all                            # On autorise l'accès à la racine de notre serveur
  Options -Indexes -ExecCGI +FollowSymLinks # On empêche le parcours des répertoires
                                            # ainsi que l’exécution de scripts CGI
Sécurisation des pages du DocumentRoot

Lors du tuto de prise en main de notre serveur, nous avons crée un utilisateur (idneo). Nous allons faire en sorte que cette utilisateur soit, pour des raisons de sécurité, le seul à pouvoir modifier les fichiers présents dans le DocumentRoot.

$ sudo chown -Rf idneo:www-data /var/www  # Idneo devient le user et www-data le groupe 
$ sudo chmod -R 644 /var/www              # User : read + write  Groupe: read only
$ sudo chmod -R a+X /var/www              # Exécution pour tout le monde

C’est terminé pour la mise en place d’Apache, il ne reste plus qu’à le redémarrer :

$ service apache2 restart

Installation et configuration de PHP

Installation de PHP

Comme pour Apache l’installation de PHP se fait en une seule commande.

$ apt-get install php

Une fois installé, on redémarre Apache et on se rend dans /var/www pour tester que php fonctionne bien.

Pour faire ce test, je vais modifier l’index par défaut mais on peut également créer un nouveau fichier PHP.

$ cd /var/www/html
$ mv index.html index.php
$ vi index.php
   # Nouveau contenu du fichier

On enregistre et l’on se rend dans le navigateur comme précédemment. On devrait cette fois tomber sur un tableau détaillant les informations sur notre version de PHP.

Installation de Mysql

L’installation de Mysql se fait simplement en ajoutant 2 paquets.

$ apt-get install mysql-server

Lors de l’installation, on devra renseigner le mot de passe pour l’utilisateur root de Mysql crée par défaut. Il est préférable d’en renseigner un.

Conclusion

Nous disposons à présent d’un serveur Linux Apache Mysql Php fonctionnel. Nous verrons, dans un prochain article comment installer pas mal d’outils pour nous aider à sécuriser, optimiser et administrer notre serveur LAMP (PhpMyadmin, Mytop, MySQLTuner…).


Inscrivez-vous à notre Newsletter

Recevez nos meilleurs articles et accédez au contenu exclussif reservé aux abonnés.

Cet article vous est proposé par IDNEO.

Notre agence de communication est spécialisée dans la création de sites Internet, le référencement, le graphisme et la photographie.

avatar