AMR bei Contenido auf NGINX

Gesperrt
JoHo
Beiträge: 18
Registriert: Di 21. Sep 2010, 15:23
Kontaktdaten:

AMR bei Contenido auf NGINX

Beitrag von JoHo » Fr 22. Mär 2013, 12:44

Hallo,
hat jemand Erfahrung mit Contenido auf einem NGINX Server speziel mit dem AMR-Modul?
Da mir ja die Apache-Platform fehlt, ist es überhaubt machbar AMR zum laufen zu bringen?
Gruß
Jochen

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: AMR bei Contenido auf NGINX

Beitrag von Faar » Sa 23. Mär 2013, 11:29

Nun, das AMR heißt ausgeschrieben "Advanced Murrix Rewriting"... :-)
Nein, Spass beiseite, AMR steht für Advanced Mod Rewrite.
Und das Mod Rewrite ist ein Modul des Apache Servers (mod = module):
http://httpd.apache.org/docs/current/mo ... write.html

Es dürfte also nicht so einfach gehen, denn auch die .htaccess ist eine Apache-Geschichte.
Das AMR Plugin jedoch arbeitet intern in Contenido und mit PHP, vielleicht geht es mit den Möglichkeiten von Nginx.

Denn manchmal gibt es für die anderen Server-Programme eine Art Ersatz für das Apache Modul.
Zumindest wird oft nach Möglichkeiten für Nginx gegoogelt:
https://www.google.de/search?q=nginx+mo ... =firefox-a
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

JoHo
Beiträge: 18
Registriert: Di 21. Sep 2010, 15:23
Kontaktdaten:

Re: AMR bei Contenido auf NGINX

Beitrag von JoHo » Mo 25. Mär 2013, 10:34

Hi Faar,
Danke für die Antwort das ist bisher auch mein wissensstand,
ich dachte vieleicht hat ja schon jemand das Problem gelöst. ;-)

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR bei Contenido auf NGINX

Beitrag von xmurrix » Mo 25. Mär 2013, 12:27

Hallo JoHo,

folgende Konfiguration sollte zumindestdafür sorgen, dass ankommende Requests, die nicht auf vorhandene Dateien oder Verzeichnisse gehen, auf die front_content.php im Mandantenordner umschrieben werden.

Code: Alles auswählen

# location /cms/ entspricht RewriteBase /cms
location /cms/ {
    root /path/to/webroot;
    # ist ähnlich wie das untered Drittel der htaccess_simple.txt aus dem AMR-Paket.
    try_files $uri $uri/ /cms/front_content.php;
}
Restliche Konfigurationen, wie z. B. für das Abfangen von nicht erwünschen Requests (Hack-Versuche), müsstset du dann aus der Dokumentation von nginx entnehmen...

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

JoHo
Beiträge: 18
Registriert: Di 21. Sep 2010, 15:23
Kontaktdaten:

Re: AMR bei Contenido auf NGINX

Beitrag von JoHo » Mo 25. Mär 2013, 12:40

Hi xmurrix,
ich habe die htaccess mit einem tool von NGINX umgeschrieben und mein Ansprechpartner der der Server verwaltet hat die Anweisungen auf dem Webserver hinterlegt:

Code: Alles auswählen

 location /cms/ { if ($query_string ~* "contenido_path=.*$"){ return 403; } if ($query_string ~* "cfg\[path\]=.*$"){ return 403; } if ($query_string ~* "_PHPLIB\[libdir\]=.*$"){ return 403; } if ($query_string ~* "(\<|%3C).*script.*(\>|%3E)"){ return 403; } if ($query_string ~* "ftp://.*$"){ return 403; } if ($query_string ~* "http[s]*://.*$"){ return 403; } rewrite !\.(js|ico|gif|jpg|jpeg|png|css|pdf)$ /cms/front_content.php break; }
Aber das alleine führt nicht zu dem gewünschten Ergebniss, um das AMR Modul zum laufen zu bekommen.

Gruß
Jochen

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR bei Contenido auf NGINX

Beitrag von xmurrix » Mo 25. Mär 2013, 13:00

Hi JoHo,

die Konfiguration sieht gut aus, da fehlen allerdings noch mache Außnamen, also Requests auf mache Verzeichnisse/Dateien, die vom Umschreiben ausgeschlossen werden sollen. Hier die Apache Rewrite-Regeln dazu

Code: Alles auswählen

RewriteRule ^usage/.*$ - [L]
RewriteRule ^contenido/.*$ - [L]
RewriteRule ^setup/.*$ - [L]
RewriteRule ^cms/upload/.*$ - [L]
RewriteRule ^cms/front_content.php.*$ - [L]
RewriteRule ^cms/dbfs.php.*$ - [L]
Welches Verzeichnis ist denn das DocumentRoot ("root" in nginx)?
Wenn es das Mandantenverzeichnis ist, dann sollte die nginx Konfiguration folgendermaßen aussehen:

Code: Alles auswählen

location / {
    ...
    rewrite !\.(js|ico|gif|jpg|jpeg|png|css|pdf)$ /front_content.php break;
}
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

JoHo
Beiträge: 18
Registriert: Di 21. Sep 2010, 15:23
Kontaktdaten:

Re: AMR bei Contenido auf NGINX

Beitrag von JoHo » Mo 25. Mär 2013, 15:10

Die Ausnahmen hab ich nocht nicht konvertiert bekommen.

der root ist /daten/www/html/www.domain.de

also denke ich ist /cms/... schon richtig oder?

Gruß
Jochen

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR bei Contenido auf NGINX

Beitrag von xmurrix » Mo 25. Mär 2013, 16:48

JoHo hat geschrieben:...also denke ich ist /cms/... schon richtig oder?...
Ja, das sollte richtig sein, aber es könnte auch "/cms" sein, also ohne abschließendem "/".

Aktiviere das Loggen, um zu sehen, was da passiert...
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

JoHo
Beiträge: 18
Registriert: Di 21. Sep 2010, 15:23
Kontaktdaten:

Re: AMR bei Contenido auf NGINX

Beitrag von JoHo » Mi 27. Mär 2013, 12:13

Hi xmurrix,

Was geb ich eigendlich beim Plugin für den Pfad zur htaccess ein die es ja nicht gibt?

Gruß
Jochen

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR bei Contenido auf NGINX

Beitrag von xmurrix » Mi 27. Mär 2013, 12:28

JoHo hat geschrieben:...Was geb ich eigendlich beim Plugin für den Pfad zur htaccess ein die es ja nicht gibt?...
Das Plugin braucht diesen Wert nur um "/" oder "/cms/" an die generierten URLs als Pfad voranzustellen oder ankommende URLs entsprechend zu verarbeiten.

Wenn dein DocumentRoot (root) das CONTENIDO Installationsverzeichnis ist, reicht es aus, wenn du "/" als Wert angibst. Ist es der Mandantenordner selber, dann den Mandantenordner angeben, z. B. "/cms/".

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Gesperrt