« Tables » : différence entre les versions

De Documentation
Aller à la navigationAller à la recherche
Aucun résumé des modifications
 
(19 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
----
----
==Test d'un serveur apache sur alpine léger en frontal==
=Installation du serveur web=
(arrêt des autres conteneurs)
----
  # apk update && apk upgrade
  # apk add apache2


Modification de la page d'affichage par défaut :
:*Création du conteneur alpine léger
  # vi /var/www/localhost/htdocs/index.html
apk update /upgrade
apk add apache2 php83-apache2 apache2-ctl php83-gd et php83-zlib
'''apache2-ctl''' permet de lister les modules installés avec
apachectl -M
'''php83-gd''' et '''php83-zlib''' sont nécessaires pour faire fonctionner '''tables'''


Rendre le conteneur accessible sur le port 80 (à faire sur l'hôte):
<br>
  # lxc config device add apache myport80 proxy listen=tcp:0.0.0.0:80 connect=tcp:127.0.0.1:80
:*Création du fichier /etc/apache2/conf.d/remoteip.conf avec
 
<div class="toccolours mw-collapsible mw-collapsed">
(pour vérifier à partir de lhôte -> curl 10.178.91.17)
/etc/apache2/conf.d/'''remoteip.conf'''
 
<div class="mw-collapsible-content">
  # 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
   RemoteIPHeader X-Real-IP
   RemoteIPTrustedProxy 10.178.91.228 d42:b9ca:1a60:95fc:216:3eff:fe2f:924c
   RemoteIPTrustedProxy proxy.lxd
 
</div></div>
modification de /etc/apache2/httpd.conf
<br>
décommenter :
:*Modification de /etc/apache2/httpd.conf - décommenter :
  LoadModule remoteip_module modules/mod_remoteip.so
LoadModule remoteip_module modules/mod_remoteip.so
 
:*Relancer nginx dans le conteneur '''proxy''' :  
  # rc-service apache2 start -> mouline
systemctl restart nginx
relancer nginx dans proxy :  
:*Vérifier le fonctionnement et les modules de php
  # systemctl restart nginx
::Supprimer /var/www/localhost/htdocs/'''index.html''' et le remplacer par :
-> accès ok !
<div class="toccolours mw-collapsible mw-collapsed">
 
/var/www/localhost/htdocs/'''index.php'''
faire fonctionner php
<div class="mw-collapsible-content">
modif de /var/www/localhost/htdocs/index.html en
<?php
  <?php
   phpinfo();
   phpinfo();
   ?>
   ?>
(ne fonctionne pas, normal ! php n'est pas installé...)
</div></div>
 
Afficher la page dans un navigateur à l'adresse du serveur.
  # apk add php (ajoute php)
<br>
  # 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'=
=Installation de 'Tables'=


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/
  # 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
:*Déplacement des fichiers/dossiers dans .../htdocs/
mv /tmp/* /var/www/localhost/htdocs/
rc-service apache2 reload


Corriger phpToPDF.php : AddPage($orientation = '', $size = '', $rotation = 0) (il manque deux arguments)
:*Corriger '''phpToPDF.php''' :  
Corriger pdf1.php en supprimant les lignes vides (au moins au début du document)
AddPage($orientation = '', $size = '', $rotation = 0) (il manque deux arguments)
Je suppose qu'il y a une option pour ignorer ce genre d'erreurs sur le serveur virtuel...
:* Corriger '''pdf1.php''' :
supprimer les lignes vides (au moins au début du document)<br>
''(Je suppose qu'il y a une option pour ignorer ce genre d'erreurs sur le serveur virtuel...)''


Fonctionne en frontal
=Goaccess (analyse des logs d'accès)=
Fonctionne derrière le proxy


* Pour automatiser le démarrage d'un service
:*Installation de goaccess :
sur débian :
apk add goaccess
  # systemctl enable *service* (p. ex. nginx)
sur alpine :
  # rc-update add *service* (p.ex. apache2)

Dernière version du 29 juin 2025 à 10:25


Installation du serveur web

  • Création du conteneur alpine léger
apk update /upgrade
apk add apache2 php83-apache2 apache2-ctl php83-gd et php83-zlib

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

apachectl -M

php83-gd et php83-zlib sont nécessaires pour faire fonctionner tables


  • 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
  • Corriger phpToPDF.php :

AddPage($orientation = , $size = , $rotation = 0) (il manque deux arguments)

  • Corriger pdf1.php :

supprimer 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...)

Goaccess (analyse des logs d'accès)

  • Installation de goaccess :
apk add goaccess