« Tables » : différence entre les versions
Aucun résumé des modifications |
|||
| Ligne 3 : | Ligne 3 : | ||
(arrêt des autres conteneurs) | (arrêt des autres conteneurs) | ||
---- | ---- | ||
apk update && apk upgrade | |||
apk add apache2 | |||
Modification de la page d'affichage par défaut : | Modification de la page d'affichage par défaut : | ||
vi /var/www/localhost/htdocs/index.html | |||
Rendre le conteneur accessible sur le port 80 (à faire sur l'hôte): | Rendre le conteneur accessible sur le port 80 (à faire sur l'hôte): | ||
lxc config device add apache myport80 proxy listen=tcp:0.0.0.0:80 connect=tcp:127.0.0.1:80 | |||
(pour vérifier à partir de lhôte -> curl 10.178.91.17) | (pour vérifier à partir de lhôte -> curl 10.178.91.17) | ||
rc-service apache2 start | |||
netstat -ntpl | |||
Test à partir de l'ordinateur local OK ! | Test à partir de l'ordinateur local OK ! | ||
Installation de php : | Installation de php : | ||
apk add php php83-apache2 apache2-ctl mlocate | |||
'''''apache2-ctl''''' : pour lister les modules | '''''apache2-ctl''''' : pour lister les modules | ||
| Ligne 26 : | Ligne 26 : | ||
Pour lister les modules installés : | Pour lister les modules installés : | ||
apachectl -M | |||
(''php_module apparaît'') | (''php_module apparaît'') | ||
Modification de la page par défaut, à renommer en ''index.php'' : | Modification de la page par défaut, à renommer en ''index.php'' : | ||
<?php phpinfo(); ?> | <?php phpinfo(); ?> | ||
rc-service apache2 restart | |||
Test sur l'ordinateur bureau : | Test sur l'ordinateur bureau : | ||
-> ok | -> ok | ||
==Tables sur alpine léger== | ==Tables sur alpine léger== | ||
Version du 15 mai 2025 à 15:36
Test d'un serveur apache sur alpine léger en frontal
(arrêt des autres conteneurs)
apk update && apk upgrade apk add apache2
Modification de la page d'affichage par défaut :
vi /var/www/localhost/htdocs/index.html
Rendre le conteneur accessible sur le port 80 (à faire sur l'hôte):
lxc config device add apache myport80 proxy listen=tcp:0.0.0.0:80 connect=tcp:127.0.0.1:80
(pour vérifier à partir de lhôte -> curl 10.178.91.17)
rc-service apache2 start netstat -ntpl
Test à partir de l'ordinateur local OK !
Installation de php :
apk add php php83-apache2 apache2-ctl mlocate
apache2-ctl : pour lister les modules
mlocate : pour localiser les fichiers et dossiers (Utiliser updatedb pour rafraîchir la base de données)
Pour lister les modules installés :
apachectl -M
(php_module apparaît)
Modification de la page par défaut, à renommer en index.php :
<?php phpinfo(); ?> rc-service apache2 restart
Test sur l'ordinateur bureau : -> ok
Tables sur alpine léger
Création du conteneur alpine léger
# apk update /upgrade # apk add apache2
création du fichier /etc/apache2/conf.d/remoteip.conf avec
RemoteIPHeader X-Real-IP RemoteIPTrustedProxy 10.178.91.228 d42:b9ca:1a60:95fc:216:3eff:fe2f:924c
modification de /etc/apache2/httpd.conf décommenter :
LoadModule remoteip_module modules/mod_remoteip.so
# rc-service apache2 start -> mouline
relancer nginx dans proxy :
# systemctl restart nginx
-> accès ok !
faire fonctionner php modif de /var/www/localhost/htdocs/index.html en
<?php phpinfo(); ?>
(ne fonctionne pas, normal ! php n'est pas installé...)
# apk add php (ajoute php) # php -v -> indique la version
installation d'apache2-ctl pour vérifier les modules installés :
# apk add apache2-ctl
puis
# apachectl -M -> liste les modules
pas de mod_php
installation de php83-apache2
# apk add php83-apache2 -> php_module apparaît, mais ça ne fonctionne pas
tentative de modification des droits : www-data n'existe pas...
# addgroup -g 82 -S www-data -> le groupe existe déjà # adduser -u 82 -D -S -G www-data www-data -> pas d'erreur
Vérification :
# cut -d: -f1 /etc/passwd -> l'itilisateur apparaît
(cut -d: -f1 /etc/group -> liste les groupes) Changement des drois sur htdocs
# chown -R www-data:www-data /var/www/localhost/htdocs/
... Ne change rien...
!!!! RENOMMER index.html en index.php -> la page de php s'affiche !
Installation de 'Tables'
Copie des fichiers/dossiers dans /tmp du conteneur :
# lxc file push /home/domi/Documents/transfertTables/* tables/tmp/ -pr
Déplacement des fichiers/dossiers dans .../htdocs/
# mv /tmp/* /var/www/localhost/htdocs/ # rc-service apache2 reload
La page s'affiche, mais pas le PDF : error 500 -> il doit manquer un module...
Test des modules présents sur le serveur qui fonctionne et qui pourraient avoir un rapport
php83-ctype : gestion des caractères -> marche pas php83-curl : gestion des requêtes par url -> marche pas php83-dom : Document Object Model (XML) -> marche pas php83-fileinfo : marche pas ftp ; gettext marche pas iconv, imagick : ignorées intl ; mbstring toujours pas... mysqli ; mysqld ; openssl ; pdo ; phar : ignorées posix readline : non trouvé, mais il existe des apk -> installation, n'apparaît pas session ; shmop : ignorées simpleXML ; sockets marche pas sodium ; sysvmsg ; sysvsem ; sysvshm ; tokenizer : ignorées wddx introuvable, voir dans conf php xml ; xmlreader ; xmlwriter ; xsl ; opcache marche pas zip ; zlib : ignorées
Abandon, test avec une autre image...
Solution :
installer php-gd et php-zlib
Corriger phpToPDF.php : AddPage($orientation = , $size = , $rotation = 0) (il manque deux arguments) Corriger pdf1.php en supprimant les lignes vides (au moins au début du document) Je suppose qu'il y a une option pour ignorer ce genre d'erreurs sur le serveur virtuel...
Fonctionne en frontal Fonctionne derrière le proxy
- Pour automatiser le démarrage d'un service
sur débian :
# systemctl enable *service* (p. ex. nginx)
sur alpine :
# rc-update add *service* (p.ex. apache2)