« Tables » : différence entre les versions
| Ligne 41 : | Ligne 41 : | ||
Création du conteneur 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 | 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 | modification de /etc/apache2/httpd.conf | ||
décommenter : | décommenter : | ||
LoadModule remoteip_module modules/mod_remoteip.so | |||
rc-service apache2 start -> mouline | |||
relancer nginx dans proxy : | relancer nginx dans proxy : | ||
systemctl restart nginx | |||
-> accès ok ! | -> accès ok ! | ||
faire fonctionner php | faire fonctionner php | ||
modif de /var/www/localhost/htdocs/index.html en | modif de /var/www/localhost/htdocs/index.html en | ||
<?php | |||
phpinfo(); | phpinfo(); | ||
?> | ?> | ||
(ne fonctionne pas, normal ! php n'est pas installé...) | (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 : | installation d'apache2-ctl pour vérifier les modules installés : | ||
apk add apache2-ctl | |||
puis | puis | ||
apachectl -M -> liste les modules | |||
pas de mod_php | pas de mod_php | ||
installation de php83-apache2 | 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... | 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 : | Vérification : | ||
cut -d: -f1 /etc/passwd -> l'itilisateur apparaît | |||
(cut -d: -f1 /etc/group -> liste les groupes) | (cut -d: -f1 /etc/group -> liste les groupes) | ||
Changement des drois sur htdocs | Changement des drois sur htdocs | ||
chown -R www-data:www-data /var/www/localhost/htdocs/ | |||
... Ne change rien... | ... Ne change rien... | ||
Version du 15 mai 2025 à 15:46
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 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)