« Tables » : différence entre les versions

De Documentation
Aller à la navigationAller à la recherche
Ligne 75 : Ligne 75 :


Copie des fichiers/dossiers dans /tmp du conteneur :
Copie des fichiers/dossiers dans /tmp du conteneur :
  # lxc file push /home/domi/Documents/transfertTables/* tables/tmp/ -pr
lxc file push /home/domi/Documents/transfertTables/* tables/tmp/ -pr


Déplacement des fichiers/dossiers dans .../htdocs/
Déplacement des fichiers/dossiers dans .../htdocs/
  # mv /tmp/* /var/www/localhost/htdocs/
mv /tmp/* /var/www/localhost/htdocs/
  # rc-service apache2 reload
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=
=Test des modules présents sur le serveur qui fonctionne et qui pourraient avoir un rapport=

Version du 15 mai 2025 à 16:14


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 php83-apache2 apache2-ctl

apache2-ctl permet de lister les modules installés avec

apachectl -M


  • Création du fichier /etc/apache2/conf.d/remoteip.conf avec

/etc/apache2/conf.d/remoteip.conf

 RemoteIPHeader X-Real-IP
 RemoteIPTrustedProxy proxy.lxd 


  • Modification de /etc/apache2/httpd.conf - décommenter :
LoadModule remoteip_module modules/mod_remoteip.so
  • Relancer nginx dans le conteneur proxy :
systemctl restart nginx


  • Vérifier le fonctionnement et les modules de php
Supprimer /var/www/localhost/htdocs/index.html et le remplacer par :

/var/www/localhost/htdocs/index.php

<?php
 phpinfo();
 ?>

Afficher la page dans un navigateur à l'adresse du serveur.

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

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)