Contao-Camp 2024
Ergebnis 1 bis 37 von 37

Thema: Mangelhafte Dokumentation der unterstützten Webserver

  1. #1
    Contao-Nutzer Avatar von elmo-space
    Registriert seit
    08.03.2018.
    Ort
    Hamburg
    Beiträge
    7

    Daumen runter Mangelhafte Dokumentation der unterstützten Webserver

    Leider ist die Dokumentation von Contao mehr als dürftig im Bezug auf die unterstützten Webserver.

    Es gibt durchaus Leute die Contao nicht auf irgendwelchen Vorgefertigten Webspaces, sondern auf einem eigenen Root Server betreiben wollen.
    Da wirkt ein Hinweis in der Dokumentation unter "Hosting-Konfiguration" auf Einstellungen im "Admin Panel" des Providers maximal unprofessionell.

    Andere CMS wie zum Beispiel Wordpress, Drupal, Joomla etc. liefern in der Dokumentation direkt beispiel Konfigurationen für die beiden Webserver Apache und Nginx mit.
    Wieso fehlt so etwas in der Contao Doku bisher?

    Momentan muss man sich seine Config aus dutzenden Forenbeiträgen selbst zusammen suchen und dort gleicht keine Config der anderen weil es jeder irgendwie anders macht.
    Das führt zu Fehlern, unnötig langer Installationszeit und jeder Menge Frustration.
    Hier wäre eine von den Entwicklern vorgegebene default Config durchaus sehr hilfreich.

  2. #2

  3. #3
    Contao-Nutzer Avatar von elmo-space
    Registriert seit
    08.03.2018.
    Ort
    Hamburg
    Beiträge
    7

    Standard

    Der Link ist jetzt genau wie hilfreich?
    Hast du die Doku selbst überhaupt gelesen?

    Es ist genau die Dokumentation von der ich hier sprach.
    Es gibt dort keinerlei Anleitung, Hinweise oder Beispielkonfigurationen. Weder für Apache noch Nginx.

  4. #4
    Contao-Fan Avatar von bjarke
    Registriert seit
    07.06.2011.
    Beiträge
    351
    Partner-ID
    5067

    Standard

    Weil es bis jetzt noch nicht verlangt wurde und noch wichtiger, weil noch keiner sein Wissen mit einem Pull request geteilt hat.

  5. #5
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    https://docs.contao.org/manual/de/in...raussetzungen/
    Also ich finde da steht schon eine ganze Menge ...

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    https://docs.contao.org/manual/de/in...raussetzungen/
    Also ich finde da steht schon eine ganze Menge ...
    Aber nicht, wie du zB den nginx konfigurieren musst bzw. zumindest ein Link zur Symfony Dokumentation diesbezüglich.

  7. #7
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, für nginx nicht, ...

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Für Apache oder LiteSpeed auch nicht .

  9. #9
    Contao-Nutzer
    Registriert seit
    12.03.2010.
    Beiträge
    238

    Standard

    Ich bin der Meinung: wer einen Root Server betreibt, der sollte ein NGINX oder Apache so konfigurieren können, dass PHP läuft und Contao ausführt.
    Das ist nicht unbedingt so einfach wie das Aufsetzen bei einem Provider und erfordert ein wenig Wissen aber hey das ist ein Rootserver - da sollte man das schon können ansonsten kann so etwas schnell nach hinten los gehen.
    Klar ein NGINX Rezept für eine Subdomain wären schon nicht schlecht (und sei es ein GIST) aber trotzdem ist ein Beschweren hier im Forum nicht so optimal.
    Sag einfach wo du Hilfe brauchst, dann wird dir ggf recht schnell geholfen (mit z.B. einer NGINX Subdomainconfig etc).
    Geändert von Honig (02.03.2020 um 11:28 Uhr) Grund: Böser Fehlerteufel

  10. #10
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Normalerweise wird man hier im Forum bei seinem ersten Post willkommen geheißen. Dein Post war leider in einem Open Source Forum - um es mit deinen Worten zu sagen - "maximal unprofessionell". Schade.

  11. #11

  12. #12
    Contao-Nutzer
    Registriert seit
    24.08.2018.
    Ort
    Magdeburg
    Beiträge
    131

    Standard

    Hallo elmo,

    ich fühle mich tatsächlich hingerissen, hierzu etwas zu schreiben, weil dein Einstieg ins Forum doch ziemlich holprig ist.

    Zitat Zitat von elmo-space Beitrag anzeigen
    Leider ist die Dokumentation von Contao mehr als dürftig im Bezug auf die unterstützten Webserver.

    Es gibt durchaus Leute die Contao nicht auf irgendwelchen Vorgefertigten Webspaces, sondern auf einem eigenen Root Server betreiben wollen.
    Da wirkt ein Hinweis in der Dokumentation unter "Hosting-Konfiguration" auf Einstellungen im "Admin Panel" des Providers maximal unprofessionell.
    Einen root-Server betreibt man nicht, wenn man nicht weiß, was man da macht. Wenn du nginx benutzen willst, solltest DU wissen, wie du es konfigurierst. Kannst du es nicht, nimm den Apache. Trotzdem sollte man wissen, was man da macht. Stumpfes Copy&Paste kann manchmal mehr Probleme bereiten als zu lösen.

    Btw. vergiss bitte nicht, dass Contao OpenSource ist - wenn etwas fehlt, kannst du dich selber aktiv damit beschäftigen und etwas beitragen. Ich nehme an, dass nginx nach wie vor eher selten ist. Der Proxy-Modus läuft auch ohne spezielle Konfiguration mit so ziemlich jedem CMS.

    Zitat Zitat von elmo-space Beitrag anzeigen
    Andere CMS wie zum Beispiel Wordpress, Drupal, Joomla etc. liefern in der Dokumentation direkt beispiel Konfigurationen für die beiden Webserver Apache und Nginx mit.
    Wieso fehlt so etwas in der Contao Doku bisher?
    Und auch hier: Wer weiß, was er tut ist in der Regel besser dran. Gerade bei WordPress und Joomla sind Kommentare immer mit Vorsicht zu genießen. Ich habe die Erfahrung, dass viele "Webmaster", die diese Systeme nutzen, sich alle irgendwo zusammenklauben, aber selten wirklich verstehen, was Sie da tun.

    Zitat Zitat von elmo-space Beitrag anzeigen
    Momentan muss man sich seine Config aus dutzenden Forenbeiträgen selbst zusammen suchen und dort gleicht keine Config der anderen weil es jeder irgendwie anders macht.
    Das führt zu Fehlern, unnötig langer Installationszeit und jeder Menge Frustration.
    Hier wäre eine von den Entwicklern vorgegebene default Config durchaus sehr hilfreich.
    Und das finde ich jetzt besonder beschämend. Ich selber trage aktuell zwar eher selten was produktives dazu bei, aber OpenSource lebt nun einmal von der Community. Sofern dir das Problem bekannt ist, kannst du es ja vorerst ein einem eigenen Thread behandeln und vlt. deine Infos mit den anderen teilen. Ggf. schaffen die Infos es dann in die Dokumentation.

    Ich denke dass du mit deiner Suche durchaus Erfolg hattest. Ja die Infos dazu sind stark verstreut, aber das ist bei Problemen bei WordPress nicht anders (ich meine jetzt ernsthafte Probleme).

    Etwas von meiner Seite: Ich betreibe einige Contao-Insanzen auf einen vServer mit Plesk und dem nginx-Proxy. Das läuft wie geschnitten Brot ohne etwas einzustellen. Im WorstCase hilft bei Contao immer die Symfony-Dokumentation weiter.

    Und trotzdem: Willkommen im Forum!

  13. #13
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.328
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von elmo-space Beitrag anzeigen
    Momentan muss man sich seine Config aus dutzenden Forenbeiträgen selbst zusammen suchen und dort gleicht keine Config der anderen weil es jeder irgendwie anders macht.
    Das führt zu Fehlern, unnötig langer Installationszeit und jeder Menge Frustration.
    Hier wäre eine von den Entwicklern vorgegebene default Config durchaus sehr hilfreich.
    Der Punkt ist doch: Es geht um Deine Konfiguration.

  14. #14
    Contao-Nutzer Avatar von elmo-space
    Registriert seit
    08.03.2018.
    Ort
    Hamburg
    Beiträge
    7

    Standard

    Der Hinweis auf die Symfony Konfiguration war das was fehlt. Danke!

    Tut mir leid falls mein Post etwas unfreundlich rüberkam. Ich war wie gesagt etwas frustriert.

    Das Problem ist halt das Contao eben gerade nicht mit einer normalen Nginx PHP config funktioniert sondern einige untypische extras für den fcgi index und die location pfade benötigt.
    Klar kann man sich die irgendwie selbst zusammen basteln und das dann so irgendwann zum laufen zu bekommen.
    Aber gerade dafür ist ja eine Dokumentation ja eigentlich da, damit so ein herumexperimentieren nicht nötig ist.

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Zitat Zitat von elmo-space Beitrag anzeigen
    Das Problem ist halt das Contao eben gerade nicht mit einer normalen Nginx PHP config funktioniert sondern einige untypische extras für den fcgi index und die location pfade benötigt.
    Was ist eine typische nginx PHP config und was ist untypisch bei Contao?

  16. #16
    Contao-Nutzer Avatar von elmo-space
    Registriert seit
    08.03.2018.
    Ort
    Hamburg
    Beiträge
    7

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Was ist eine typische nginx PHP config und was ist untypisch bei Contao?
    eine "normale" schmale config für nginx die ausreichend ist um php über fpm zum laufen zu bekommen kann z.b. so aussehen:
    Code:
      location $ \.php {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
      }
    das ist für Contao aber bei weitem nicht ausreichend, da dieses eben das Prinzip mit einem einzigen Index "handler" nutzt (die app.php).
    Heißt es muss alles auf die app.php umgeschrieben werden.
    Die schmalste nginx config mit der ich Contao bis jetzt vollständig zum laufen bekommen habe sieht so aus
    Code:
      location / {
        index app.php;
        try_files $uri $uri/ /app.php/$uri?$args;
      }
    
      location ~ ^/app\.php(/|$) {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        fastcgi_index app.php;
        fastcgi_param SCRIPT_FILENAME $document_root/app.php;
        fastcgi_param SCRIPT_NAME /app.php;
      }

  17. #17
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Zitat Zitat von elmo-space Beitrag anzeigen
    das ist für Contao aber bei weitem nicht ausreichend, da dieses eben das Prinzip mit einem einzigen Index "handler" nutzt (die app.php).
    Das gilt aber für jede PHP Web Applikation, wo du den Einstiegspunkt nicht in der URL haben willst oder gar haben darfst, nicht nur für Contao.

  18. #18
    Contao-Nutzer Avatar von elmo-space
    Registriert seit
    08.03.2018.
    Ort
    Hamburg
    Beiträge
    7

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das gilt aber für jede PHP Web Applikation, wo du den Einstiegspunkt nicht in der URL haben willst oder gar haben darfst, nicht nur für Contao.
    Und deshalb haben die meisten Web Applikationen eben beispiel configs in ihren Dokus

    Würde wie bei Contao 3 wenigstens eine beispiel config für z.b. Apache mitgeliefert, könnte man sich daraus noch recht einfach die passende nginx config ableiten.

  19. #19
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Zitat Zitat von elmo-space Beitrag anzeigen
    Würde wie bei Contao 3 wenigstens eine beispiel config für z.b. Apache mitgeliefert, könnte man sich daraus noch recht einfach die passende nginx config ableiten.
    Das ist ja bereits der Fall.

  20. #20
    Contao-Nutzer Avatar von elmo-space
    Registriert seit
    08.03.2018.
    Ort
    Hamburg
    Beiträge
    7

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das ist ja bereits der Fall.
    wo?

  21. #21
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Bei der Installation von Contao wird im web/ Ordner eine passende .htaccess angelegt.

  22. #22
    Contao-Nutzer Avatar von elmo-space
    Registriert seit
    08.03.2018.
    Ort
    Hamburg
    Beiträge
    7

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Bei der Installation von Contao wird im web/ Ordner eine passende .htaccess angelegt.
    ok das contao nach wie vor htaccess dateien nutzt war mir tatsächlich nicht bewusst. ich dachte da wäre man mittlerweile mal von weg...

  23. #23
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Naja, wenn du RewriteRules und ähnliches brauchst und keinen Zugriff auf die Konfigurationsdatei des Apachen hast, dann wird es halt ohne .htaccess Datei schwierig. Wenn du den Zugriff allerdings hast, was tatsächlich sogar bei manchen Webhostern (z.B. Webgo) zumindest teilweise der Fall ist, dann kannst du natürlich auch komplett ohne .htaccess Dateien auskommen. Dann kannst du auch AllowOverride None setzen, was den Apachen dann auch ziemlich beschleunigt, weil er nicht bei jedem Request erst mal sämtliche Verzeichnisse im Pfad auf .htaccess Dateien kontrollieren und diese ggf noch parsen muss. Für den Verzeichnisschutz wird jedenfalls so oder so keine .htaccess (mehr) gebraucht.

  24. #24
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Habe gerade mal probiert das Contao wie in dem Issue von Leo geschrieben die Standard Config von Symfony genommen.

    https://github.com/contao/docs/issues/281

    Leider kommt bei mir immer ein 404 obwohl Rechte usw passen.

    Wie sehen eure nginx.conf's aus die auch mit den Manager gehen?

  25. #25
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Poste deine nginx config.
    » sponsor me via GitHub or PayPal or Revolut

  26. #26
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    JA stimmt das wäre das schnellere gewesen

    Code:
    events {
      worker_connections 768;
    }
    
    http {
        upstream backend {
            server fpm:9000;
        }
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
        gzip on;
        gzip_disable "msie6";
    
        server {
            listen      80 default;
            server_name dev;
    
            root /var/www/html/WSC-Contao-Projekt/web;
    
            index index.php index.html;
    
            charset utf-8;
            sendfile off;
            client_max_body_size 1G;
    
            location / {
                try_files $uri $uri/ /index.php?$query_string;
            }
    
            location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass backend;
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_intercept_errors off;
                fastcgi_buffer_size 16k;
                fastcgi_buffers 4 16k;
                fastcgi_param HTTPS 1;
            }
        }
    }

  27. #27
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Und wenn du http://dev/ aufrufst bekommst du eine 404 Antwort von deinem Nginx Server?

    Versuche es mal mit
    Code:
    location / {
        try_files $uri /index.php$is_args$args;
    }
    » sponsor me via GitHub or PayPal or Revolut

  28. #28
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    der Nginx sitzt hinter Traefik.

    Traefik steuert meine Domains auf den passenden Container.

    Wie gesagt alles klappt und die Domain macht er mir auf und auch das Backend. Einzig der Manager zeigt mir einen 404

  29. #29
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Versuche es mal mit
    Code:
    location / {
        try_files $uri /index.php$is_args$args;
    }
    [/QUOTE]

    Nee klappt nicht

  30. #30
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Also mit dieser NGINX.conf funktioniert bei mir alles bis auf das PREVIEW.

    Code:
    events {
        worker_connections 768;
    }
    
    http {
        upstream backend {
            server fpm:9000;
        }
    
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
        gzip on;
        gzip_disable "msie6";
    
        server {
            listen 80;
            server_name _;
    
            index index.php;
            root /var/www/html/Tattoo-Contao-Projekt/web;
    
            rewrite ^/app\.php/?(.*)$ /$1 permanent;
    
            location / {
                index app.php;
                try_files $uri @rewriteapp;
            }
    
            location @rewriteapp {
                rewrite ^(.*)$ /app.php/$1 last;
            }
    
            location ~ ^/(app|app_dev|config|index|install|contao-manager\.phar)\.php(/|$) {
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param open_basedir "/var/www/vhosts/example.at/htdocs/:/var/www/vhosts/example.at/tmp/:/var/www/vhosts/example.at/files/:/tmp:/usr/share/pear:/var/lib/php/sessions/:/var/www/vhosts/example.at/sessions/:/var/www/vhosts/example.at/htdocs/:/var/www/vhosts/example.at/phpcache";
                fastcgi_pass backend;
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;
                try_files $fastcgi_script_name =404;
                set $path_info $fastcgi_path_info;
                fastcgi_param PATH_INFO $path_info;
                fastcgi_index index.php;
                fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
                fastcgi_param  QUERY_STRING       $query_string;
                fastcgi_param  REQUEST_METHOD     $request_method;
                fastcgi_param  CONTENT_TYPE       $content_type;
                fastcgi_param  CONTENT_LENGTH     $content_length;
                fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
                fastcgi_param  REQUEST_URI        $request_uri;
                fastcgi_param  DOCUMENT_URI       $document_uri;
                fastcgi_param  DOCUMENT_ROOT      $document_root;
                fastcgi_param  SERVER_PROTOCOL    $server_protocol;
                fastcgi_param  REQUEST_SCHEME     $scheme;
                fastcgi_param  HTTPS              $https if_not_empty;
                fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
                fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
                fastcgi_param  REMOTE_ADDR        $remote_addr;
                fastcgi_param  REMOTE_PORT        $remote_port;
                fastcgi_param  SERVER_ADDR        $server_addr;
                fastcgi_param  SERVER_PORT        $server_port;
                fastcgi_param  SERVER_NAME        $server_name;
                fastcgi_param  REDIRECT_STATUS    200;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }
    
            location = /favicon.ico {
                log_not_found off;
                access_log off;
            }
    
            location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
            }
    
            location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
                access_log        off;
                log_not_found     off;
                expires           30d;
            }
    
            open_file_cache          max=2000 inactive=20s;
            open_file_cache_valid    60s;
            open_file_cache_min_uses 5;
            open_file_cache_errors   off;
    
            client_max_body_size 100M;
    
            add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always;
            add_header X-Frame-Options "SAMEORIGIN";
            add_header X-Content-Type-Options nosniff;
            add_header X-XSS-Protection "1; mode=block";
        }
    }
    Ich will dazu nur sagen.

    Ich nutze Contao im Docker mit NGINX und PHP-FPM.

  31. #31
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    open_basedir solltest du keine setzen lassen. Und in deiner Liste fehlt die preview.php.
    » sponsor me via GitHub or PayPal or Revolut

  32. #32
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    open_basedir solltest du keine setzen lassen. Und in deiner Liste fehlt die preview.php.
    Danke @Spooky

    stimmt das wollte ich noch rausnehmen mit openbasedir aber nachdem es erstmal lief war die euphorie zu groß.

    Habe Openbasedir rausgenommen und preview mit hinzugefügt.

    Nun läuft es noch immer

  33. #33
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Küps
    Beiträge
    344

    Standard

    Anbei für alle die eine nginx.conf suchen:

    Hier meine gerade noch eine Verbesserung für die Bilder im Backend:

    Code:
    events {
        worker_connections 768;
    }
    
    http {
        upstream backend {
            server fpm:9000;
        }
    
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
        gzip on;
        gzip_disable "msie6";
    
        server {
            listen 80;
            server_name _;
    
            index index.php;
            root /var/www/html/WS-Contao-Projekt/web;
    
            rewrite ^/app\.php/?(.*)$ /$1 permanent;
    
            location / {
                index app.php;
                try_files $uri @rewriteapp;
            }
    
            location @rewriteapp {
                rewrite ^(.*)$ /app.php/$1 last;
            }
    
            location ~ ^/(app|app_dev|config|index|preview|install|contao-manager\.phar)\.php(/|$) {
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_pass backend;
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;
                try_files $fastcgi_script_name =404;
                set $path_info $fastcgi_path_info;
                fastcgi_param PATH_INFO $path_info;
                fastcgi_index index.php;
                fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
                fastcgi_param  QUERY_STRING       $query_string;
                fastcgi_param  REQUEST_METHOD     $request_method;
                fastcgi_param  CONTENT_TYPE       $content_type;
                fastcgi_param  CONTENT_LENGTH     $content_length;
                fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
                fastcgi_param  REQUEST_URI        $request_uri;
                fastcgi_param  DOCUMENT_URI       $document_uri;
                fastcgi_param  DOCUMENT_ROOT      $document_root;
                fastcgi_param  SERVER_PROTOCOL    $server_protocol;
                fastcgi_param  REQUEST_SCHEME     $scheme;
                fastcgi_param  HTTPS              $https if_not_empty;
                fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
                fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
                fastcgi_param  REMOTE_ADDR        $remote_addr;
                fastcgi_param  REMOTE_PORT        $remote_port;
                fastcgi_param  SERVER_ADDR        $server_addr;
                fastcgi_param  SERVER_PORT        $server_port;
                fastcgi_param  SERVER_NAME        $server_name;
                fastcgi_param  REDIRECT_STATUS    200;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }
    
            location = /favicon.ico {
                log_not_found off;
                access_log off;
            }
    
            location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
            }
    
            location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
                try_files $uri @rewriteapp;
                access_log        off;
                log_not_found     off;
                expires           30d;
            }
    
            open_file_cache          max=2000 inactive=20s;
            open_file_cache_valid    60s;
            open_file_cache_min_uses 5;
            open_file_cache_errors   off;
    
            client_max_body_size 100M;
    
            add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always;
            add_header X-Frame-Options "SAMEORIGIN";
            add_header X-Content-Type-Options nosniff;
            add_header X-XSS-Protection "1; mode=block";
        }
    }

  34. #34
    Contao-Nutzer
    Registriert seit
    14.09.2018.
    Beiträge
    25

    Standard

    Habe auch eine Nginx Config welche mit Contao 4.9.16 problemlos funktioniert (PHP7.4 und PHP8.0: fastcgi_pass unix: )

    nginx.conf
    Code:
    gzip on;
    gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json applidf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;
    vhost.conf
    Code:
    server {
      listen 80;
      server_name www.meineseite.at meineseite.at;
      index index.php app.php index.html index.htm;
    
      return 301 https://www.meineseite.at$request_uri;
    }
    
    server {
      listen 443 ssl http2;
      index index.php app.php index.html index.htm;
      server_name meineseite.at;
    
      ssl_certificate /etc/letsencrypt/live/meineseite.at/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/meineseite.at/privkey.pem;
    
      include snippets/ssl.conf;
    
      return 301 https://www.meineseite.at\$request_uri;
    }
    
    server {
      listen 443 ssl http2;
      server_name www.meineseite.at;
      index index.php app.php index.html index.htm;
      root /var/www/vhosts/meineseite/htdocs/web;
    
        location / {
          index index.php;
          try_files $uri @rewriteapp;
        }
    
        location @rewriteapp {
          rewrite ^(.*)$ /index.php/$1 last;
    
        }
    
      location ~ ^/(preview|index|info|app|app_dev|config|install|contao-manager\.phar)\.php(/|$) { #Secure Contao
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param open_basedir "/var/www/vhosts/meineseite/htdocs/:/var/www/vhosts/meineseite/tmp/:/var/www/vhosts/meineseite/files/:/tmp:/usr/share/pear:/var/lib/php/sessions/:/var/www/vhosts/meineseite/sessions/:/var/www/vhosts/100002/phpcache";
        fastcgi_pass unix:/var/run/php/php7.4-meineseite.sock;
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;
        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;
        fastcgi_param  REQUEST_SCHEME     $scheme;
        fastcgi_param  HTTPS              $https if_not_empty;
        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME        $server_name;
        fastcgi_param  REDIRECT_STATUS    200;
        try_files $fastcgi_script_name =404;
        set $path_info $fastcgi_path_info;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_index index.php;
        fastcgi_buffers 16 32k;
        fastcgi_buffer_size 64k;
        fastcgi_busy_buffers_size 64k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      }
    
      location = /favicon.ico {
        log_not_found off;
        access_log off;
      }
    
      location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
      }
    
      open_file_cache          max=2000 inactive=20s;
      open_file_cache_valid    60s;
      open_file_cache_min_uses 5;
      open_file_cache_errors   off;
    
      location ~ \.(jpg|jpeg|png|gif|ico|webp|css|js|svg|woff2?|ttf|otf|eot)$ {
         expires 1M;
         try_files $uri $uri/ /index.php$is_args$args;
      }
    
      ssl_certificate /etc/letsencrypt/live/meineseite.at/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/meineseite.at/privkey.pem;
      ssl_protocols TLSv1.3 TLSv1.2;
      ssl_prefer_server_ciphers on;
      ssl_dhparam /etc/nginx/dhparam.pem; 
      ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
      ssl_ecdh_curve secp384r1;
      ssl_session_timeout  10m;
      ssl_session_cache shared:SSL:10m;
      ssl_session_tickets off;
      ssl_stapling on;
      ssl_stapling_verify on;
      resolver 1.1.1.1 8.8.8.8 valid=300s;
      resolver_timeout 5s;
      add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always;
      add_header X-Frame-Options "SAMEORIGIN";
      add_header X-Content-Type-Options nosniff;
      add_header X-XSS-Protection "1; mode=block";
    
      access_log /var/www/vhosts/meineseite/logs/access.log;
      error_log /var/www/vhosts/meineseite/logs/error.log error;
    }
    Geändert von Midas1989 (27.07.2021 um 11:48 Uhr)

  35. #35
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    @Midas1989 in deiner Config (wie auch in der von chrischnian, siehe hier) würden die /favicon.ico und /robots.txt Routes von Contao vermutlich nicht funktionieren.
    » sponsor me via GitHub or PayPal or Revolut

  36. #36
    Contao-Nutzer Avatar von syntaxys
    Registriert seit
    05.05.2011.
    Ort
    Rheinzabern
    Beiträge
    82

    Standard Routing robots.txt

    Zitat Zitat von Spooky Beitrag anzeigen
    @Midas1989 in deiner Config (wie auch in der von chrischnian, siehe hier) würden die /favicon.ico und /robots.txt Routes von Contao vermutlich nicht funktionieren.
    Damit das interne Routing von Contao funktioniert, sollte der Zugriff auf die robots.txt so freigegeben werden:

    Code:
    location = /robots.txt {
      allow all;
      log_not_found off;
      access_log off;
      try_files $uri /index.php$is_args$args;
      }
    Noch ein Sicherheits-Tipp:
    Ich verwende für die Verwaltung der Sites möglichst eine eigene Subdomain, die zusätzlich per http-auth gesichert ist. In der Konfiguration der Live-Domain blockiere ich dann den Zugriff auf contao, contao/install und contao-manager.phar.php:

    Code:
    location ~ ^/contao(.*) {
      deny all;
      }

  37. #37
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •