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.
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.