Ce rôle est chargé de mettre en place les éléments communs nécessaires à un Virtual Host

Tags internes

  • base-vhosts : Mise en place du Virtual Host ;
  • vhost-structure : Création des dossiers et fichiers requis ;
  • base-vhost-structure : Création des dossiers et fichiers requis (limité Web) ;
  • vhost-acl : Application des droits d’accès aux dossiers et fichiers ;
  • base-vhost-acl : Application des droits d’accès aux dossiers et fichiers (limité Web) ;
  • vhost-configuration : Création des fichiers de configuration ;
  • base-vhost-configuration : Création des fichiers de configuration (limité Web) ;
  • vhost-certificates : Mise en place des certificats ;
  • base-vhost-certificates : Mise en place des certificats (limité Web) ;
  • certificates : Copie des certificats ;
  • vhost-state : Application de l’activation des fonctionalités ;
  • base-vhost-state : Application de l’activation des fonctionalités (limité Web) ;
  • vhost-status : Mise en place de la configuration pour la page d’état ;

Traitements spécifiques du jeu de tâches

Le rôle est inclus par dépendance par les autres rôles. Principalement par le rôle CustomVhosts.

Variables à fournir

Variable Type Requis Défaut Description
vhosts Liste d’objets vhost_base Non Liste vide Configuration Virtual Host de base
vhosts_base_dir Chemin Non /var/www/vhosts Dossier sur la cible, racine des Virtual Host
vhosts_conf_before_marker Texte Non ### HOST CONFIGURATION BEFORE Marqueur dans le fichier de configuration des blocks avant les inclusions de configuration
vhosts_conf_after_marker Texte Non ### HOST CONFIGURATION AFTER Marqueur dans le fichier de configuration des blocks après les inclusions de configuration
nfs_mountpoints Liste de chemins Non Liste vide Liste des chemins des points de montage NFS

Type vhost_base

Propriété Type Requis Défaut Description
vhost_name FQDN Non default Nom du Virtual Host, utilisé comme ServerName
vhost_root_name Segment de chemin/FQDN Non vhost_name Nom du dossier racine du Virtual Host
vhost_conf_name Segment de chemin/FQDN Non vhost_root_name Nom du fichier de configuration pour l’activation
vhost_admin Email Non Chaîne vide Adresse email de l’administrateur dans les pages générées par Apache
vhost_root_override Chemin Non Chaîne vide Surcharge du chemin du vhost, il n’est plus sous vhosts_base_dir/vhost_root_name mais sous ce dossier
vhost_conf_name_override Segment de chemin Non Vide Surcharge du nom du fichier de configuration pour l’activation / désactivation, déprécié par vhost_conf_name
vhost_user Identifiant Non www-data Utilisateur ayant le droit d’accès aux fichiers du Virtual Host, avec les permissions d’écriture où nécessaire
vhost_group Identifiant Non www-data Groupe ayant le droite d’accès aux fichiers du Virtual Host
vhost_allow_write_wwwdata Booléen Non Faux Permet l’écriture par l’utilisateur www-data
vhost_port Entier 16bits Non 80 Port d’écoute HTTP
vhost_ssl_port Entier 16bits Non 443 Port d’écoute HTTPS
vhost_aliases Liste de noms de domaine Non Liste vide Alias à ajouter au Virtual Host
vhost_docs_folder Segment de chemin Non httpdocs Nom du dossier où sont placées les ressources publiées
vhost_docs_folder_link_override Chemin Non Chaîne vide Surcharge du chemin où sont placée les ressources publiées
vhost_docs_folder_separate Booléen Non Faux Utilisation d’un dossier séparé pour le contenu HTTPS
vhost_docs_folder_ssl Segment de chemin Non httpsdocs Nom du dossier où sont placées les ressources publiées en HTTPS si séparé
vhost_docs_folder_ssl_link_override Chemin Non Chaîne vide Surcharge du chemin où sont placée les ressources publiées en HTTPS si séparé
vhost_is_home Booléen Non Faux Le propriétaire et le groupe doivent être définis à vhost_user et vhost_group au lieu de www-data
vhost_activate_http Booléen Non Vrai La configuration est active sur HTTP
vhost_activate_https Booléen Non Faux La configuration est active sur HTTPS
vhost_ssl_cert Chemin Non Chaîne vide Chemin du certificat à utiliser pour sécuriser l’accès
vhost_ssl_key Chemin Non Chaîne vide Chemin de la clé privée associée au certificat
vhost_ssl_bundle Chemin Non Chaîne vide Chemin du certificat de l’autorité de certification intermédiaire si nécessaire

Arborescence des virtual hosts

L’arborescence des Virtual Hosts est définie comme suit :

  • Racine : le chemin par défaut est vhosts_base_dir/vhost_root_name, surchargé par vhost_root_override le cas échéant ;
    • conf/ : Contient la configuration des services ;
      • host.conf : Fichier de configuration Apache pour HTTP ;
      • host-ssl.conf : Fichier de configuration Apache pour HTTPS ;
      • apache2/ : Fichiers de configuration Apache ;
        • *.conf : Configurations pour HTTP ;
        • *.conf-ssl : Configurations pour HTTPS ;
        • *.include : Configurations incluses explicitement ;
      • ssl/ : Certificat, clé privée et CA intermédiaire pour TLS ;
    • httpdocs/ : Racine des documents, le nom est surchargé par vhost_docs_folder ;
    • httpsdocs/ : Racine des documents spécifique pour HTTPS si vhost_docs_folder_separate, le nom est surchargé par vhost_docs_folder_ssl ;
    • logs/ : Journaux Apache ;
    • shared/ : Fichiers de ressource en dehors de la racine des documents ;

Par défaut, tout appartient à l’utilisateur root. La racine appartient à l’utilisateur du Virtual Host si vhost_is_home. L’utilisateur Apache et l’utilisateur du Virtual Host possèdent les droits de lecture sur l’ensemble des dossiers et fichiers. Ce dernier utilisateur possède les droits d’écriture dans les dossiers de racine de documents, shared et les journaux PHP.

Variables fixées

Variable Type Description
base_vhost_structure Dictionnaire de listes d’objets Défini les dossiers à créer et leurs permissions de base
base_vhost_structure_acl Dictionnaire de listes d’objets Défini les permissions étendues des dossiers
base_vhost_configurations Listes nommées Défini l’ensemble des fichiers de configuration Apache à mettre en place
base_vhost_certificate_files Liste Défini les suffixes des fichiers de certificat à précréer
base_vhost_register Liste d’objets Défini les paramètres pour enregistrer les configurations
base_vhost_state Liste d’objets Défini les activations conditionnelles de configuration
base_vhost_state_resolve Listes nommées Défini les éléments de résolution des conditions des configurations