« Tables » : différence entre les versions

De Documentation
Aller à la navigationAller à la recherche
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)