From ff500268d2edd568daa2264c8dff947b9beb15c8 Mon Sep 17 00:00:00 2001 From: Yannick Warnier Date: Tue, 7 Jun 2022 11:58:06 +0200 Subject: [PATCH] Documentation: Add note about .htaccess rules to allow media to be accessed by all in shared questions - refs BT#19840 --- documentation/installation_guide.html | 18 ++++++++++++++++++ documentation/installation_guide_es_ES.html | 18 ++++++++++++++++++ documentation/installation_guide_fr_FR.html | 21 +++++++++++++++++++++ 3 files changed, 57 insertions(+) diff --git a/documentation/installation_guide.html b/documentation/installation_guide.html index 1503c9e399..ab5cf91d91 100755 --- a/documentation/installation_guide.html +++ b/documentation/installation_guide.html @@ -760,6 +760,23 @@ If you have issues with files taking a long time to download, make sure you reco ExpiresByType application/font-woff "access plus 1 month" </IfModule> + +

Special note on sharing questions between courses

+ In Chamilo 1.11.16, we added the possibility (see configuration.php) to share questions between + several courses. This feature, although working great for pure-text questions, does however generate + an issue when sharing media files between courses, as one media file in one course will not be + visible by a user that sees the question in another course and doesn't have access to the question's + original course.
+ To avoid this issue, you can adapt your .htaccess (or the VirtualHost in case you put it there) to allow + for media files to be accessed directly (without logging in to the portal). This will also speed up + loading these media files, but it introduces a reduction in the level of security, as those specific media + files are accessible by anyone having access to the portal itself and knowing the path of the files.

+ To apply the patch, locate this line in your .htaccess:

+
    RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA,L]
+ and remove it or comment it out, then put those two lines instead:

+
    RewriteCond %{REQUEST_URI} !\.(gif|jpg|jpeg|png|webp|ico|icon|swf|avi|mp3|ogg|wav|ttf|otf|eot|woff|webm|mp4)
+    RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA|L]
+

Nginx

Nginx doesn't support .htaccess rules, so you have no other option than to apply the following rules (note that your PHP backend configuration may vary). These are only the redirection rules to be placed inside a server{} block, as other settings might differ from one installation to another. @@ -838,6 +855,7 @@ If you have issues with files taking a long time to download, make sure you reco deny all; } +

Apple on OS X servers

Scott Steven reports that Apache on OS X requires specific actions
diff --git a/documentation/installation_guide_es_ES.html b/documentation/installation_guide_es_ES.html index 42ce2c1f46..fce66a12d2 100755 --- a/documentation/installation_guide_es_ES.html +++ b/documentation/installation_guide_es_ES.html @@ -892,6 +892,24 @@ AddType application/font-woff .woff .woff2 ExpiresByType application/font-woff "access plus 1 month" </IfModule> + +

Nota especial para compartir preguntas entre cursos

+ En Chamilo 1.11.16, hemos añadido la posibilidad (ver configuration.php) de compartir preguntas entre + distintos cursos. Esta funcionalidad, aunque funcione bien para preguntas de tipo texto únicamente, + genera noobstante un problema cuando se comparten elementos de tipo multimedia entre cursos, ya que un + recurso multimedia en un curso no será visible por un usuario que ve esta pregunta desde otro curso y + no tiene acceso al curso de origen.
+ Para evitar este problema, puede adaptar su .htacess (o el VirtualHost si lo ha puesto ahí) para + permitir el acceso directo a los archivos de tipo multimedia (sin logearse en el portal). Esto también + acelerará la carga de estos archivos multimedia, pero introduce una reducción de nivel de seguridad, + porque estos archivos ya se ponen disponibles para cualquier persona que tenga acceso a la página + principal del portal y conozca la ruta exacta de estos archivos.

+ Para aplicar el parche, ubique esta línea en su .htaccess:

+
    RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA,L]
+ Quítela o coméntela, y ponga estas dos líneas en su lugar:

+
    RewriteCond %{REQUEST_URI} !\.(gif|jpg|jpeg|png|webp|ico|icon|swf|avi|mp3|ogg|wav|ttf|otf|eot|woff|webm|mp4)
+    RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA|L]
+

Nginx

Nginx no es compatible con las reglas de .htaccess, por lo que no tiene otra opción que aplicar las siguientes reglas (tenga en cuenta que la configuración de back-end de PHP puede variar). Estas son solo las reglas de redireccionamiento diff --git a/documentation/installation_guide_fr_FR.html b/documentation/installation_guide_fr_FR.html index 19202dd422..1f08d219a7 100644 --- a/documentation/installation_guide_fr_FR.html +++ b/documentation/installation_guide_fr_FR.html @@ -804,6 +804,27 @@ ou, si vous travaillez avec Apache 2.4, la syntaxe est légèrement différente RewriteRule ^(tests|.git) - [F,L,NC] </Directory> + +

Note spéciale concernant le partage de questions entre cours

+ Dans Chamilo 1.11.16, nous avons introduit la possibilité (voir configuration.php) de partager + des questions entre différents cours. Cette fonctionnalité, si elle fonctionne très bien pour des + questions de type texte, génère un nouveau problème lorsqu'une ressource média (image, vidéo, etc) + fait partie de la question. L'utilisateur qui voit la question dans un cours vers lequel elle a + été partagée mais n'a pas accès au cours original, ne pourra pas voir la ressource média parce + que celle-ci se trouve uniquement dans le cours original.
+ Pour éviter ce problème, vous pouvez adapter votre .htaccess (ou votre VirtualHost si c'est là + que vous avez placé la configuration) pour permettre aux fichiers de type média d'être lus + directement (sans même se connecter au portail). Cela améliorera parallèlement la vitesse + de chargement à ces médias, mais introduira une baisse du niveau de sécurité, puisque ces ressources + seront directement accessibles par quiconque a accès à la page d'accueil du portail et connaît + les adresses exactes de ces médias. À prendre en considération, donc.

+ Pour appliquer le patch, localisez la ligne suivante dans votre .htaccess .htaccess:

+
    RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA,L]
+ et supprimez-la ou commentez-la, puis remplacez-la par ces deux lignes :

+
    RewriteCond %{REQUEST_URI} !\.(gif|jpg|jpeg|png|webp|ico|icon|swf|avi|mp3|ogg|wav|ttf|otf|eot|woff|webm|mp4)
+    RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA|L]
+ +

Nginx

Nginx ne supporte pas les règles .htaccess, donc vous n'avez pas d'autre option que d'appliquer les règles suivantes (notez que la configuration PHP peut changer). Ce sont uniquement les redirections à placer dans un bloc server{}, comme les autres valeurs peuvent changer d'une installation à l'autre.