Ajouter un site web sur le domaine Picasoft

À ce jour, tous les sites sont hébergés sur pica01 et propulsé par nginx dans un container Docker. Nous utilisons une image Docker construite par nos soins qui permet l’exécution de scripts PHP si nécessaire.

Le lancement d’un nouveau site peut s’expérimenter sur pica01-test.

Note:

Les conteneurs des sites se déploient grâce à un fichier Compose situé sur ce dépôt.

Pour ajouter un conteneur pour un nouveau site, appelons le aomame, il suffira de rajouter un service dans le fichier Compose, par exemple :

snippet.yaml
volumes:
[...]
  aomame:
    name: aomame
    
services:
[...]    
  aomame:
    container_name: aomame
    image: *NGINX_IMAGE
    volumes:
      - aomame:/var/www/html
    labels:
      traefik.http.routers.mon_site.entrypoints: websecure
      traefik.http.routers.mon_site.rule: Host(`aomame.picasoft.net`)
      traefik.http.services.mon_site.loadbalancer.server.port: 80
      traefik.enable: true
    environment:
      AUTOINDEX: false
    networks:
      - proxy
    restart: unless-stopped

Dans les grandes lignes, un conteneur du nom de aomame est créé à partir de l’image nginx construite par Picasoft. Elle répondra à aomame.picasoft.net, et tout ce qui se trouve sous /var/www/html (i.e. tout ce qui est servi par nginx) sera persisté dans un volume Docker.

La variable d’environnement AUTOINDEX contrôle si le contenu des dossiers est affiché dans le navigateur (par exemple, si AUTOINDEX=true, une consultation de aomame.picasoft.net m’affichera tous les fichiers présents dans /var/www/html).

Attention:

Par défaut, AUTOINDEX vaut false, car l’affichage de l’intégralité des dossiers n’est généralement pas voulu. On préfère que la navigation se fasse au fil des hyperliens.

À ce stade, le conteneur est prêt à accueillir les pages qui seront servies.

On synchronise le contenu du site dans /tmp/site, sur pica01, par exemple. Ensuite, on copie simplement les fichiers dans le conteneur :

snippet.bash
docker cp /tmp/site/* aomame:/var/www/html

À ce stade, le site est prêt à être servi, il ne reste plus qu’à ajouter l’entrée DNS.

En filant l’exemple aomame, il faut ajouter une entrée pour aomame.picasoft.net dans le fichier de zone DNS.

Pour ce faire, on se référera à la documentation sur la gestion des noms de domaine de Picasoft, en particulier sur la partie d’ajout de sous-domaine.

  • technique/adminserv/sites/website.1611161624.txt.gz
  • de qduchemi