doc web - MachiganMC/Woodytoys GitHub Wiki
Les fichiers requis pour le fonctionnement du service web interne sont dans le dossier "Woodytoys/Intranet/Web"
S'y trouvent:
- Le Dockerfile (Woodytoys/Intranet/Web/Dockerfile) contenant les infos sur:
-
- L'image de base
-
- Le lieu de copie des pages du site web
- le fichier de configuration du serveur nginx (Woodytoys/Intranet/Web/default.conf) contenant les infos sur:
-
- Le port d'écoute du site
-
- Le nom du serveur
-
- Les routes des pages
Afin de rajouter un site au serveur, il faut d'abord creer le fichier de configuration du site: pour un site "www.exemple.com"
-
créer le fichier "www.exemple.com.conf"
-
Le remplir comme suit (modifiez ce qu'il y a entre "<>"):
server { listen 80; server_name <www.exemple.com>; sendfile off; tcp_nodelay on; absolute_redirect off; root /var/www/<www.exemple.com>/html; index <index.php>; location / { # First attempt to serve request as file, then # as directory, then fall back to index.php try_files $uri $uri/ /index.php?q=$uri&$args; } # Redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/lib/nginx/html; } # Pass the PHP scripts to PHP-FPM listening on php-fpm.sock location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } # Set the cache-control headers on assets to cache for 5 days location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { expires 5d; } # Deny access to . files, for security location ~ /\. { log_not_found off; deny all; } # Allow fpm ping and status from localhost location ~ ^/(fpm-status|fpm-ping)$ { access_log off; allow 127.0.0.1; deny all; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_pass unix:/run/php-fpm.sock; } }
-
Placez ce fichier dans le dossier "Woodytoys/Intranet/Web" de la machine ou vous avez le docker-compose
-
Placez dans ce même dossier un nouveau dossier contenant les pages de votre site, il s'appellera www.exemple.com
-
Dans le Dockerfile, il faut ajouter les lignes qui vont copier les config dans le conteneur:
FROM trafex/php-nginx #Début lignes a rajouter COPY www.exemple.com/ /var/www/www.exemple.com/html/ COPY www.exemple.com.conf /etc/nginx/sites-enabled/www.exemple.com.conf #Fin lignes a rajouter COPY nginx.conf /etc/nginx/nginx.conf EXPOSE 80
-
Rebuildez le conteneur, puis relancez-le
"docker build " ou "docker-compose build"
puis
docker start " ou "docker-compose up"
Afin de mettre a jour une config il faut
-
Stopper le conteneur (docker stop nomDuConteneur)
-
modifier le fichier désiré dans le dossier "Woodytoys/Intranet/Web" de la machine ou vous avez le docker-compose
-
relancer le conteneur (docker start nomDuConteneur)
En cas de dysfonctionnement, le serveur écrit des logs dans le dossier /var/log/nginx.log
En essayant de se connecter depuis une machine utilisateur: "connection refused" => Vérifier le port de connexion => Vérifier qu'on est bien en http://