Tâche #20871
Scénario #20896: Traitement express (26-28)
apache-eole.conf: Des services souhaitent lister les répertoires et fichiers avec la fonctionnalité 'Déclarer des applications web supplémentaires'
100%
Description
le template 'apache2.conf a été mis à jour (patch pour esbl-2.5) a été mis à jour en 2.6.
Pour l'adaptation du template apache-eole.conf on pourrait conserver la variable 'apache_lister_repertoires'
si 'apache_lister_repertoires' à 'oui':
- soit le fichier 'index.php' est présent et alors il est pris en compte
- soit le fichier 'index.php' est absent et les répertoires et fichiers sont listés
Idem #15253, l'évolution pourrait être prise en compte pour le projet eole-web en 2.6 et être patché dans les variantes esbl-2.5
Demandes liées
Historique
#1 Mis à jour par christophe guerinot il y a presque 7 ans
- Statut changé de Nouveau à En cours
#2 Mis à jour par christophe guerinot il y a presque 7 ans
- Lié à Tâche #15253: eole-web: il n'est plus possible de lister fichiers et répertoires sous apache ajouté
#3 Mis à jour par christophe guerinot il y a presque 7 ans
- Lié à Tâche #19395: eole-web: oubli des deux templates 'apache-eole.conf'' et ' apache-eoleapps.conf' lorsde la mise à niveau de la syntaxe apache 2.2 en apache 2.4 ajouté
#4 Mis à jour par christophe guerinot il y a presque 7 ans
L'adaptation est nécessaire dans le cas où le service déploie ces données en dehors de l'arborescence '/var/www/html/'
En profiter pour mettre à jour la syntaxe 2.4 voir #19395
il faut remplacer les deux lignes
Order Allow,Deny Allow from all
par la nouvelle syntaxe
Require all granted
#5 Mis à jour par Emmanuel IHRY il y a presque 7 ans
- Tâche parente changé de #20584 à #20896
#6 Mis à jour par christophe guerinot il y a presque 7 ans
Dans le cas où l'arborescence des données n'est pas sous /var/www (ex données sous /home/data/bureautique/monappli)
paramétrage commun
activer_apache="oui"
apache_plus="oui"
(1) une première piste, sans aucune adaption au niveau du template apache-eole.conf, consiste à créer un lien symbolique sous /var/www/html/ et éventuellement donner des droits pour www-data
# ln -s /home/data/bureautique/monappli /var/www/html/monappli # chown -h www-data:www-data /var/www/html/monappli
pour la configuration sur le zephir
paramétrer
apache_dir /var/www/html/monappli
et comme pour la piste suivante apache_alias /monappli
(2) une deuxième piste consiste à adapter le template apache-eole.conf en s'appuyant sur la variable 'apache_lister_repertoires'
root@sbl-165:~# cat /usr/share/eole/creole/patch/apache-eole.conf.patch --- distrib/apache-eole.conf 2016-09-22 11:06:36.000000000 +0200 +++ modif/apache-eole.conf 2017-06-22 12:16:37.759002453 +0200 @@ -6,9 +6,12 @@ %for %%ap_dir in %%apache_dir Alias %%ap_dir.apache_alias %%ap_dir <Directory "%%ap_dir"> + %if %%getVar('apache_lister_repertoires', 'non') == 'non' DirectoryIndex index.php - Order Allow,Deny - Allow from All + %else + Options Indexes FollowSymLinks + %end if + Require all granted </Directory> %end for
le patch a été déployé sur les variantes esbl-2.5.1 et esbl-2.5.2 sur le zephir maître
root@sbl-165:~# CreoleGet apache_dir /home/data/bureautique/monappli root@sbl-165:~# CreoleGet apache_alias /monappli root@sbl-165:~# ls /home/data/bureautique/monappli fic001.txt fic002.txt root@sbl-165:~# CreoleGet apache_lister_repertoires non root@sbl-165:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/monappli/ Forbidden You don't have permission to access /monappli/ on this server. root@sbl-165:~# CreoleSet apache_lister_repertoires oui root@sbl-165:~# reconfigure root@sbl-165:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/monappli/ Index of /monappli [ICO] Name Last modified Size Description ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [PARENTDIR] Parent Directory - [TXT] fic001.txt 2017-06-22 10:29 0 [TXT] fic002.txt 2017-06-22 10:29 0 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Si l'on souhaite malgrès tout s'appuyer sur un fichier index.php
root@sbl-165:~# cat /home/pnesr/index.php <html> <head> <title>Test PHP</title> </head> <body> <?php echo '<p>Bonjour le monde</p>'; ?> </body> </html> root@sbl-165:~# cp /home/pnesr/index.php /home/data/bureautique/monappli/ root@sbl-165:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/monappli/ Bonjour le monde
le fichier index.php est bien pris en compte
#7 Mis à jour par christophe guerinot il y a presque 7 ans
- Statut changé de En cours à Résolu
#8 Mis à jour par Emmanuel IHRY il y a presque 7 ans
- Statut changé de Résolu à Fermé
- % réalisé changé de 0 à 100
- Temps estimé mis à 0.00 h
- Restant à faire (heures) mis à 0.0
#9 Mis à jour par christophe guerinot il y a plus de 6 ans
- Lié à Tâche #22005: eole-web 2.6.2 : Il reste deux templates avec l'ancienne syntaxe apache 2.2 'apache-eole.conf'' et ' apache-eoleapps.conf' ajouté