Web
Difficulte: Beginner
4 min de lecture

Apache2 : Installation d'un serveur web

Tutoriel détaillé pour installer et configurer le serveur web Apache 2 sur une distribution Linux.

Retour aux tutoriels
Qu\'est-ce qu\'Apache ?
Le serveur HTTP Apache, communément appelé Apache, est un logiciel de serveur web libre et open-source. Il a joué un rôle clé dans la croissance initiale du World Wide Web et reste l\'un des serveurs web les plus populaires au monde. Il est connu pour sa flexibilité, sa puissance et sa large compatibilité.

Prérequis

  • Une distribution Linux (ce guide se concentre sur Ubuntu/Debian).
  • Accès root ou privilèges sudo.

Étape 1 : Installation d'Apache

Apache est disponible dans les dépôts logiciels par défaut d\'Ubuntu, ce qui rend l\'installation très simple.

# Mettre à jour la liste des paquets
sudo apt update

# Installer Apache2
sudo apt install -y apache2

Étape 2 : Configuration du pare-feu

Si un pare-feu est actif sur votre serveur (comme UFW), vous devez autoriser le trafic web.

# Lister les profils d'application pour UFW
sudo ufw app list

# Autoriser le trafic sur les ports 80 (HTTP) et 443 (HTTPS)
sudo ufw allow 'Apache Full'

# Vérifier le statut
sudo ufw status

Étape 3 : Vérifier le fonctionnement du serveur web

Une fois l\'installation terminée, le service Apache doit démarrer automatiquement. Vous pouvez le vérifier.

sudo systemctl status apache2

Pour confirmer qu\'il est accessible depuis l\'extérieur, ouvrez un navigateur web et entrez l\'adresse IP de votre serveur. Vous devriez voir la page d\'accueil par défaut d\'Apache2 pour Ubuntu.

Serveur Opérationnel !
Si vous voyez la page par défaut, votre serveur web Apache est installé et fonctionnel.

Étape 4 : Mettre en place un site avec un Virtual Host

Les "Virtual Hosts" permettent d\'héberger plusieurs sites web sur un seul serveur. C\'est une bonne pratique de créer un virtual host pour chaque site, même si vous n\'en avez qu\'un.

1. Créer le répertoire du site

Nous allons créer un répertoire pour notre site `example.com` dans `/var/www`.

sudo mkdir -p /var/www/example.com/html

2. Donner les bonnes permissions

sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com

3. Créer une page d'exemple

nano /var/www/example.com/html/index.html

Ajoutez ce contenu HTML simple :

<html>
    <head>
        <title>Bienvenue sur Example.com !</title>
    </head>
    <body>
        <h1>Succès ! Le virtual host example.com fonctionne !</h1>
    </body>
</html>

4. Créer le fichier du Virtual Host

Apache stocke les configurations de site dans `/etc/apache2/sites-available`. Créons-en une pour notre site.

sudo nano /etc/apache2/sites-available/example.com.conf

Collez cette configuration de base :



    ServerAdmin webmaster@localhost
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

5. Activer le nouveau site

Apache utilise des liens symboliques pour activer les sites. L\'outil `a2ensite` facilite cela.

# Activer le nouveau site
sudo a2ensite example.com.conf

# Désactiver le site par défaut
sudo a2dissite 000-default.conf

# Vérifier la configuration pour les erreurs de syntaxe
sudo apache2ctl configtest

# Recharger Apache pour que les changements prennent effet
sudo systemctl reload apache2

Si vous avez configuré votre DNS localement (via le fichier `hosts`) ou publiquement pour que `example.com` pointe vers l\'IP de votre serveur, vous devriez maintenant voir votre nouvelle page d\'accueil en y accédant.

Conclusion

Vous avez maintenant un serveur web Apache fonctionnel, capable d\'héberger un ou plusieurs sites. C\'est la base de nombreuses applications et sites web. Les étapes suivantes consistent généralement à sécuriser votre site avec HTTPS (en utilisant Let\'s Encrypt et Certbot), à installer un langage de programmation comme PHP, ou à configurer une base de données comme MySQL.