Browse Source

Add IIS configuration example, as contributed by @ullfindsmit, to installation guide - closes #2489

Yannick Warnier 6 years ago
parent
commit
353fbb08a9

+ 96 - 0
documentation/installation_guide.html

@@ -827,6 +827,102 @@ If you have issues with files taking a long time to download, make sure you reco
         You cannot, however, only allow .htaccess files in the main httpd.conf file, as OS X will override it with the
         domain-specific configuration file.
     </div>
+    <h3>IIS</h3>
+    <div>
+        User @ullfindsmit on Github was kind enough to provide this IIS configuration after testing it based on our
+        configurations above. This has not been tested by the Chamilo team, but the rules look legit:<br /><br />
+        <pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+    &lt;configuration&gt;
+    &lt;system.webServer&gt;
+        &lt;rewrite&gt;
+            &lt;rules&gt;
+                &lt;rule name="rule 1v" stopProcessing="true"&gt;
+                    &lt;match url="^certificates/$"  /&gt;
+                    &lt;action type="Rewrite" url="/certificates/index.php?id=%1"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 2v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/?$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/course_home/course_home.php?cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 3v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/index.php$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/course_home/course_home.php?cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 4v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/scorm/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/document/download_scorm.php?doc_url=/{R:2}&amp;cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 5v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/document/certificates/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/app/courses/{R:1}/document/certificates/{R:2}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 6v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/document/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/document/download.php?doc_url=/{R:2}&amp;cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 7v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/upload/([^/]+)/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/document/download_uploaded_files.php?code={R:1}&amp;type={R:2}&amp;file={R:3}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 8v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/work/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/work/download.php?file=work/{R:2}&amp;cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 9v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/course-pic85x85.png$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/inc/ajax/course.ajax.php?a=get_course_image&amp;code={R:1}&amp;image=course_image_source"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 10v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/course-pic.png$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/inc/ajax/course.ajax.php?a=get_course_image&amp;code={R:1}&amp;image=course_image_large_source"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 11v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/app/courses/{R:1}/{R:2}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 12v" stopProcessing="true"&gt;
+                    &lt;match url="^session/(\d{1,})/about/?$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/session/about.php?session_id={R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 13v" stopProcessing="true"&gt;
+                    &lt;match url="^badge/(\d{1,})"  /&gt;
+                    &lt;action type="Rewrite" url="/main/badge/issued.php?issue={R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 14v" stopProcessing="true"&gt;
+                    &lt;match url="^skill/(\d{1,})/user/(\d{1,})"  /&gt;
+                    &lt;action type="Rewrite" url="/main/badge/issued_all.php?skill={R:1}&amp;user={R:2}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 15v" stopProcessing="true"&gt;
+                    &lt;match url="^badge/(\d{1,})/user/(\d{1,})"  /&gt;
+                    &lt;action type="Rewrite" url="/main/badge/issued_all.php?skill={R:1}&amp;user={R:2}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 16v" stopProcessing="true"&gt;
+                    &lt;match url="^main/exercice/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/exercise/{R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 17v" stopProcessing="true"&gt;
+                    &lt;match url="^main/newscorm/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/lp/{R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 18v" stopProcessing="true"&gt;
+                    &lt;match url="^service/(\d{1,})$"  /&gt;
+                    &lt;action type="Rewrite" url="/plugin/buycourses/src/service_information.php?service_id={R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 19v" stopProcessing="true"&gt;
+                    &lt;match url="^([^/.]+)/?$"  /&gt;
+                    &lt;action type="Rewrite" url="/user.php?{R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 20v" stopProcessing="true"&gt;
+                    &lt;match url="^(tests|.git)"  ignoreCase="true" /&gt;
+                    &lt;action type="Rewrite" url="/-"  /&gt;
+                &lt;/rule&gt;
+            &lt;/rules&gt;
+        &lt;/rewrite&gt;
+    &lt;/system.webServer&gt;
+&lt;/configuration&gt;
+        </pre>
+    </div>
 
     <h2><a name="17._Git_Upgrade"></a>15. Upgrading from Git</h2>
     If you have sufficient experience with Git and have installed your initial Chamilo portal

+ 98 - 0
documentation/installation_guide_es_ES.html

@@ -975,6 +975,104 @@ location ^~ /tests/ {
   Sin embargo, no puede permitir archivos .htaccess en el archivo httpd.conf principal, ya que OS X
   lo reemplazará con el archivo de configuración específico del dominio.
 </p>
+  <h3>IIS</h3>
+  <div>
+    El usuario @ullfindsmit en Github fue bien amable en compartirnos estas reglas de configuración de IIS
+    luego de probarlas basado en nuestras configuraciones anteriores. No han sido probadas directamente por el
+    equipo de Chamilo, pero las reglas usadas parecen tener lo necesario:<br /><br />
+    <pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+    &lt;configuration&gt;
+    &lt;system.webServer&gt;
+        &lt;rewrite&gt;
+            &lt;rules&gt;
+                &lt;rule name="rule 1v" stopProcessing="true"&gt;
+                    &lt;match url="^certificates/$"  /&gt;
+                    &lt;action type="Rewrite" url="/certificates/index.php?id=%1"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 2v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/?$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/course_home/course_home.php?cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 3v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/index.php$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/course_home/course_home.php?cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 4v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/scorm/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/document/download_scorm.php?doc_url=/{R:2}&amp;cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 5v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/document/certificates/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/app/courses/{R:1}/document/certificates/{R:2}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 6v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/document/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/document/download.php?doc_url=/{R:2}&amp;cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 7v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/upload/([^/]+)/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/document/download_uploaded_files.php?code={R:1}&amp;type={R:2}&amp;file={R:3}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 8v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/work/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/work/download.php?file=work/{R:2}&amp;cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 9v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/course-pic85x85.png$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/inc/ajax/course.ajax.php?a=get_course_image&amp;code={R:1}&amp;image=course_image_source"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 10v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/course-pic.png$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/inc/ajax/course.ajax.php?a=get_course_image&amp;code={R:1}&amp;image=course_image_large_source"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 11v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/app/courses/{R:1}/{R:2}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 12v" stopProcessing="true"&gt;
+                    &lt;match url="^session/(\d{1,})/about/?$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/session/about.php?session_id={R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 13v" stopProcessing="true"&gt;
+                    &lt;match url="^badge/(\d{1,})"  /&gt;
+                    &lt;action type="Rewrite" url="/main/badge/issued.php?issue={R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 14v" stopProcessing="true"&gt;
+                    &lt;match url="^skill/(\d{1,})/user/(\d{1,})"  /&gt;
+                    &lt;action type="Rewrite" url="/main/badge/issued_all.php?skill={R:1}&amp;user={R:2}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 15v" stopProcessing="true"&gt;
+                    &lt;match url="^badge/(\d{1,})/user/(\d{1,})"  /&gt;
+                    &lt;action type="Rewrite" url="/main/badge/issued_all.php?skill={R:1}&amp;user={R:2}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 16v" stopProcessing="true"&gt;
+                    &lt;match url="^main/exercice/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/exercise/{R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 17v" stopProcessing="true"&gt;
+                    &lt;match url="^main/newscorm/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/lp/{R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 18v" stopProcessing="true"&gt;
+                    &lt;match url="^service/(\d{1,})$"  /&gt;
+                    &lt;action type="Rewrite" url="/plugin/buycourses/src/service_information.php?service_id={R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 19v" stopProcessing="true"&gt;
+                    &lt;match url="^([^/.]+)/?$"  /&gt;
+                    &lt;action type="Rewrite" url="/user.php?{R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 20v" stopProcessing="true"&gt;
+                    &lt;match url="^(tests|.git)"  ignoreCase="true" /&gt;
+                    &lt;action type="Rewrite" url="/-"  /&gt;
+                &lt;/rule&gt;
+            &lt;/rules&gt;
+        &lt;/rewrite&gt;
+    &lt;/system.webServer&gt;
+&lt;/configuration&gt;
+        </pre>
+  </div>
+
 <hr style="width: 100%; height: 2px;" />
 
 <h2><a id="17._Git_Upgrade"></a>15. Actualización de Git</h2>

+ 100 - 1
documentation/installation_guide_fr_FR.html

@@ -876,7 +876,106 @@ Ce sont uniquement les redirections à placer dans un bloc server{}, comme les a
     deny all;
   }
 </pre>
-<hr style="width: 100%; height: 2px;" />
+            <h3>IIS</h3>
+            <div>
+                L'utilisateur @ullfindsmit sur Github a été bien aimable en nous partageant la configuration suivante
+                pour IIS, qu'il a testé au préalable. Ces règles sont basées sur les configurations ci-dessus et, bien
+                que nous n'ayons pas testé la configuration nous-même, elle est suffisamment proche de la configuration
+                d'Apache et de Nginx pour nous permettre de vous la suggérer ici:<br /><br />
+                <pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+    &lt;configuration&gt;
+    &lt;system.webServer&gt;
+        &lt;rewrite&gt;
+            &lt;rules&gt;
+                &lt;rule name="rule 1v" stopProcessing="true"&gt;
+                    &lt;match url="^certificates/$"  /&gt;
+                    &lt;action type="Rewrite" url="/certificates/index.php?id=%1"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 2v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/?$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/course_home/course_home.php?cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 3v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/index.php$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/course_home/course_home.php?cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 4v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/scorm/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/document/download_scorm.php?doc_url=/{R:2}&amp;cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 5v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/document/certificates/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/app/courses/{R:1}/document/certificates/{R:2}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 6v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/document/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/document/download.php?doc_url=/{R:2}&amp;cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 7v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/upload/([^/]+)/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/document/download_uploaded_files.php?code={R:1}&amp;type={R:2}&amp;file={R:3}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 8v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/work/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/work/download.php?file=work/{R:2}&amp;cDir={R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 9v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/course-pic85x85.png$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/inc/ajax/course.ajax.php?a=get_course_image&amp;code={R:1}&amp;image=course_image_source"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 10v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/course-pic.png$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/inc/ajax/course.ajax.php?a=get_course_image&amp;code={R:1}&amp;image=course_image_large_source"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 11v" stopProcessing="true"&gt;
+                    &lt;match url="^courses/([^/]+)/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/app/courses/{R:1}/{R:2}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 12v" stopProcessing="true"&gt;
+                    &lt;match url="^session/(\d{1,})/about/?$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/session/about.php?session_id={R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 13v" stopProcessing="true"&gt;
+                    &lt;match url="^badge/(\d{1,})"  /&gt;
+                    &lt;action type="Rewrite" url="/main/badge/issued.php?issue={R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 14v" stopProcessing="true"&gt;
+                    &lt;match url="^skill/(\d{1,})/user/(\d{1,})"  /&gt;
+                    &lt;action type="Rewrite" url="/main/badge/issued_all.php?skill={R:1}&amp;user={R:2}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 15v" stopProcessing="true"&gt;
+                    &lt;match url="^badge/(\d{1,})/user/(\d{1,})"  /&gt;
+                    &lt;action type="Rewrite" url="/main/badge/issued_all.php?skill={R:1}&amp;user={R:2}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 16v" stopProcessing="true"&gt;
+                    &lt;match url="^main/exercice/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/exercise/{R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 17v" stopProcessing="true"&gt;
+                    &lt;match url="^main/newscorm/(.*)$"  /&gt;
+                    &lt;action type="Rewrite" url="/main/lp/{R:1}"  appendQueryString="true" /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 18v" stopProcessing="true"&gt;
+                    &lt;match url="^service/(\d{1,})$"  /&gt;
+                    &lt;action type="Rewrite" url="/plugin/buycourses/src/service_information.php?service_id={R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 19v" stopProcessing="true"&gt;
+                    &lt;match url="^([^/.]+)/?$"  /&gt;
+                    &lt;action type="Rewrite" url="/user.php?{R:1}"  /&gt;
+                &lt;/rule&gt;
+                &lt;rule name="rule 20v" stopProcessing="true"&gt;
+                    &lt;match url="^(tests|.git)"  ignoreCase="true" /&gt;
+                    &lt;action type="Rewrite" url="/-"  /&gt;
+                &lt;/rule&gt;
+            &lt;/rules&gt;
+        &lt;/rewrite&gt;
+    &lt;/system.webServer&gt;
+&lt;/configuration&gt;
+        </pre>
+            </div>
+
+            <hr style="width: 100%; height: 2px;" />
 
 <p>
     <br />