« Tables » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 35 : | Ligne 35 : | ||
Test sur l'ordinateur bureau : | Test sur l'ordinateur bureau : | ||
-> ok | -> 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) | |||
Version du 22 avril 2025 à 19:34
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)