Pour avoir plusieurs sites web sur un VPS (Virtual Private Server), il est nécessaire de configurer un serveur web capable d’héberger plusieurs sites. Voici les étapes générales pour accomplir cela :
### Étapes Préliminaires
1. **Choix du serveur web** : Apache ou Nginx sont les deux choix les plus courants pour les serveurs web. Choisissez celui qui convient le mieux à vos besoins.
2. **Accès SSH** : Assurez-vous d'avoir un accès SSH à votre VPS.
3. **DNS** : Configurez les enregistrements DNS pour les domaines que vous souhaitez héberger sur le VPS. Chaque domaine doit pointer vers l'adresse IP de votre VPS.
### Installation du Serveur Web
#### Apache
1. **Installation d’Apache** :
```bash
sudo apt update
sudo apt install apache2
```
2. **Configurer des hôtes virtuels (Virtual Hosts)** :
Créez un fichier de configuration pour chaque site web dans `/etc/apache2/sites-available/`.
Exemple de fichier de configuration pour un site (`/etc/apache2/sites-available/example1.com.conf`) :
```apache
<VirtualHost *:80>
ServerName example1.com
ServerAlias www.example1.com
DocumentRoot /var/www/example1.com
<Directory /var/www/example1.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example1.com-error.log
CustomLog ${APACHE_LOG_DIR}/example1.com-access.log combined
</VirtualHost>
```
Répétez cette opération pour chaque site web.
3. **Activer les hôtes virtuels** :
```bash
sudo a2ensite example1.com.conf
sudo a2ensite example2.com.conf
```
4. **Redémarrer Apache** :
```bash
sudo systemctl restart apache2
```
#### Nginx
1. **Installation de Nginx** :
```bash
sudo apt update
sudo apt install nginx
```
2. **Configurer des hôtes virtuels (Server Blocks)** :
Créez un fichier de configuration pour chaque site web dans `/etc/nginx/sites-available/`.
Exemple de fichier de configuration pour un site (`/etc/nginx/sites-available/example1.com`) :
```nginx
server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_log /var/log/nginx/example1.com-error.log;
access_log /var/log/nginx/example1.com-access.log;
}
```
Répétez cette opération pour chaque site web.
3. **Activer les server blocks** :
```bash
sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/
```
4. **Redémarrer Nginx** :
```bash
sudo systemctl restart nginx
```
### Finalisation
1. **Permissions des fichiers** : Assurez-vous que les répertoires et fichiers de vos sites web ont les permissions correctes :
```bash
sudo chown -R www-data:www-data /var/www/example1.com
sudo chmod -R 755 /var/www/example1.com
```
2. **Sécurisation (HTTPS)** : Il est recommandé d’obtenir des certificats SSL pour vos sites web. Vous pouvez utiliser Let's Encrypt pour obtenir des certificats gratuits.
Installation de Certbot pour Apache :
```bash
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
```
Installation de Certbot pour Nginx :
```bash
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
```
### Conclusion
En suivant ces étapes, vous pourrez héberger plusieurs sites web sur votre VPS en utilisant Apache ou Nginx. Assurez-vous de toujours vérifier les configurations spécifiques à vos besoins et de maintenir votre serveur à jour pour des raisons de sécurité.