4. Hôtes virtuels

Le serveur intégré prend en charge la notion d'hôte virtuel, c'est-à-dire la capacité de servir différents noms d'hôtes sur le même serveur. Par exemple, la même instance du serveur intégré peut servir des requêtes vers www.foo.com et www.bar.com, pourvu que ces noms de domaines soient résolus vers l'adresse IP du serveur. Chacun de ces hôtes aura un répertoire racine propre, un fichier de configuration, un espace de stockage dédié pour les données de session et les utilisateurs, etc

Pour ajouter un hôte, vous devez d'abors vous assurer que le nom d'hôte est résolu vers l'adresse IP du serveur. La correspondance peut être effectuée dans le fichier d'hôtes du système (si vous ne savez pas ce que c'est et comment le personnaliser, tapez "fichier hôte" dans votre moteur de recherches favori)

Pour comprendre ce que vous avez à faire ensuite, commençons par la fin : la structure du répertoire adaptée pour ce nouvel hôte (appelé "foo" dans l'exemple)

  Karrigell.py
  server_config.py
  default_host_conf.py
  hosts.py
+ karrigell
  + core
  + package
  + ...
+ data
  + www
      + sessions
      conf.py
  + foo
      + sessions
      conf.py
+ www
    index.pih
    ...
+ foo
    default.html
    myscript.py
    ...
+ common
  + admin
  + demo
  + doc
  + ...

Les étapes à suivre sont :

  • créer un nouveau répertoire racine pour cet hôte : (rep serveur)/foo
  • créer un nouveau sous-répertoire dans le Répertoire de Données (rep serveur)/data/foo
  • copier le script default_host_conf.py depuis de Répertoire Serveur dans ce nouveau sous-répertoire, et le renommer en conf.py
  • éditer ce script conf.py pour mettre à jour les valeurs de root_dir et data_dir :
    root_dir = os.path.join(server_dir,"foo")
    data_dir = os.path.join(server_dir, "data","foo")
    
  • éditer le fichier texte hosts dans le Répertoire de Configuration Serveur et y ajouter une ligne avec le nom d'hôte et le chemin vers le fichier de configuration d'hôte :
    foo /usr/Karrigell-3.1.1/data/foo/conf.py
    

Pour l'administrateur du serveur, un programme est accessible depuis le menu Administration pour créer et supprimer des hôtes virtuels en ligne

Ce qui est décrit ci-dessus est en fait la configuration la plus simple possible : vous pouvez mettre le Répertoire Racine et le Répertoire de Données où vous voulez dans le système de fichiers. Dans ce cas, il faudra personnaliser les scripts de configuration comme indiqué dans le chapitre correspondant