• HOME
  • HTML
  • CSS
  • PHP
    • Début d'une page - Variable
    • Afficher et Concaténer des variables
    • Symboles à connaître
    • Conditions: IF, ELSE, ELSEIF
    • Conditions AND, OR
    • Conditions SWITCH
    • Boucles WHILE, FOR
    • Les tableaux / EN COUR ...
    • Les fonctions / Bientôt ...
  • SQL
    • Installer MYSQL
    • Interroger une base de données
    • Requete SQL / prochainement
    • PhpMyadmin serveur / prochainement
  • RÉSEAU
    • Afficher le mot de passe wifi
    • Le model OSI
    • Cisco Packet Tracer
    • WINDOWS 10 : LA DÉCOUVERTE DU RÉSEAU NE FONCTIONNE PAS
  • LINUX
    • Mettre à jour linux
    • Commandes Linux
    • permissions
    • Installer nginx (Serveur Web)
    • Installer Composer 2
    • Installer Symfony
    • Installer Mysql sur Ubuntu
    • VIM + liste commande
    • Installer Prestashop
    • Odoo / prochainement
    • Sécuriser un site avec HTTPS (Cerbot)
    • Android Téléphone Virtuel
    • Espace d'échange (swap)
    • Raspberry Pi : Authentification SSH par certificat
    • Ubuntu Software
  • WINDOWS
    • Créer une clé USB multiboot / prochainement
    • WSL2
    • WSL2 accéder aux fichiers Linux depuis Windows
    • WSL2 Sauvegarder et restaurer vos distrib Linux
    • Mot de passe Windows perdu
    • Effacer totalement un disque dur ou un SSD
    • Sauvegarder / Restaurer les drivers Windows
    • VMware Workstation / prochainement
    • Comment activer le bac à sable dans Windows 11 / prochainement
  • RASPBERRY
    • Créez une carte SD Raspbian pour votre Raspberry Pi depuis Windows
    • Premier démarrage
    • Mettre à jour son Raspberry
    • Mettre à Jour Raspberry Pi OS
    • Voir le réseau raspberry depuis Windows
    • Se connecter au bureau de son Raspberry depuis un PC Windows
    • Ouvrir les ports
    • SSH
    • Faire un NAS
    • Transmission
    • HTML - PHP - MYSQL - PHP ADMIN / Bientôt ...
    • Plusieurs sites Web à partir d'un seul et même serveur
    • Plex seveur multimédia
    • Recalbox / Kodi pour raspberrypi 3b+ / Bientôt
    • Mettre tout le système sur disque dur USB ou SSD
    • Installer Spotify
  • DIVERS
    • Programme
    • Ebook
    • Formation
    • LIENS

Plusieurs sites Web à partir d'un seul et même serveur

Imaginons le cas où il est nécessaire d'avoir deux sites Web différents hébergés le même serveur. De façon générale, ces sites Web ont :

  1. Des noms de domaine différents (ou des sous-domaines différents)
  2. Des fichiers différents

Les étapes suivantes permettent de configurer un serveur afin d'y parvenir.

Avant de commencer, il faut au préalable s'assurer que les noms de domaine (ou sous-domaines) pointent vers l'adresse IP du serveur.
Note : les étapes suivantes doivent être exécutées avec l'usager root.



Configuration des dossiers

Au départ, le serveur Apache est déjà configuré pour y desservir un site Web.
Il ne s'agit donc que d'y déposer les fichiers dans le dossier /var/www/html.
Cependant, ce dernier appartient à "www-data" et votre usager SSH pourrait ne pas avoir les permissions adéquates pour modifier le contenu du dossier.


Voici donc comment rendre votre usager SSH propriétaire du dossier.

  1. il faut préparer un dossier pour recevoir les fichiers du deuxième site Web.
  2. mkdir /var/www/site2
  3. remplacez "pi" par le nom de votre usager
  4. chown -R pi /var/www/site2
    chgrp -R www-data /var/www/site2



Configuration du serveur Apache

Il est maintenant temps de configurer Apache pour lui permettre de desservir le deuxième site Web.

  1. Il faut commencer par dupliquer la configuration du premier site Web.
  2. cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-site2.conf
  3. Ensuite, il faut modifier la configuration du nouveau fichier (001-site2.conf).
  4. nano /etc/apache2/sites-available/001-site2.conf
  5. il s'agit de modifier 2 choses
  6. Sous <VirtualHost *:80>, ajoutez la ligne suivante.
    ServerName site2.com
    # Remplacez site2.com par le domaine/sous-domaine du deuxième site Web.
    
    # Modifier le documentRoot, ce qui indique à Apache où seront placés les fichiers.
    DocumentRoot /var/www/site2

  7. Lorsque le fichier est configuré, il ne reste qu'à activer le nouveau site Web et sa configuration. Dans le terminal, écrire:
  8. a2ensite 001-site2.conf
    systemctl restart apache2.service

Voilà! Vous devriez maintenant être capable avec vos deux domaines/sous-domaines de desservir des fichiers différents, donc d'avoir deux sites Web distincts.
Le premier site desservira les fichiers à partir du dossier var/www/html, et le deuxième, /var/www/site2.