Seite 1 von 1

AMR bei Contenido auf NGINX

Verfasst: Fr 22. Mär 2013, 12:44
von JoHo
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

Re: AMR bei Contenido auf NGINX

Verfasst: Sa 23. Mär 2013, 11:29
von Faar
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

Re: AMR bei Contenido auf NGINX

Verfasst: Mo 25. Mär 2013, 10:34
von JoHo
Hi Faar,
Danke für die Antwort das ist bisher auch mein wissensstand,
ich dachte vieleicht hat ja schon jemand das Problem gelöst. ;-)

Re: AMR bei Contenido auf NGINX

Verfasst: Mo 25. Mär 2013, 12:27
von xmurrix
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

Re: AMR bei Contenido auf NGINX

Verfasst: Mo 25. Mär 2013, 12:40
von JoHo
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

Re: AMR bei Contenido auf NGINX

Verfasst: Mo 25. Mär 2013, 13:00
von xmurrix
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;
}

Re: AMR bei Contenido auf NGINX

Verfasst: Mo 25. Mär 2013, 15:10
von JoHo
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

Re: AMR bei Contenido auf NGINX

Verfasst: Mo 25. Mär 2013, 16:48
von xmurrix
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...

Re: AMR bei Contenido auf NGINX

Verfasst: Mi 27. Mär 2013, 12:13
von JoHo
Hi xmurrix,

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

Gruß
Jochen

Re: AMR bei Contenido auf NGINX

Verfasst: Mi 27. Mär 2013, 12:28
von xmurrix
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