Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: Zweite Contao-Installation in einem läuft nicht korrekt (nginx)

  1. #1
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    458
    Partner-ID
    7000

    Standard Zweite Contao-Installation in einem läuft nicht korrekt (nginx)

    Hallo,

    folgende Konstellation:
    Eine Contao Installation wird ganz normal über domain.tld aufgerufen. In einem Verzeichnis wurde eine weitere Contao Installation abgelegt.

    Wenn die Website im Verzeichnis aufgerufen wird, dann werden zwar Inhalte der Seite dargestellt, allerdings ohne Styles. Der Aufruf des Contao Managers mit domain.tld/verzeichnis/contao-manager.phar.php leitet den Aufruf zu domain.tld/contao-manager.phar.php/#/discover

    Das ganze läuft bei timmehosting, der Support hat eine modifizierte nginx-konfiguration angelegt:

    Code:
    location = /{FOLDER}robots.txt {    allow all;
        log_not_found off;
        access_log off;
        if (!-e $request_filename){
            rewrite ^/{FOLDER}robots.txt$ /{FOLDER}index.php last;
        }
    }
    
    
    location = /{FOLDER}favicon.ico {
        allow all;
        log_not_found off;
        access_log off;
        if (!-e $request_filename){
            rewrite ^/{FOLDER}favicon.ico$ /{FOLDER}index.php last;
        }
    }
    
    
    location /{FOLDER} {
        client_max_body_size 100M;
        root {DOCROOT}/{FOLDER}web/;
    
    
        index index.php;
        try_files $uri $uri/ /{FOLDER}index.php$is_args$args;
        
        location ~ ^/{FOLDER}(index|preview|contao-manager\.phar)\.php(/|$) {
            include /etc/nginx/fastcgi_params;
            {FASTCGIPASS}
            fastcgi_split_path_info ^.*/betriebsmedizin/(.+\.php)(.*)$;
            fastcgi_param  SCRIPT_FILENAME $document_root/$fastcgi_script_name;
            fastcgi_intercept_errors on;
            
            fastcgi_temp_file_write_size 10m;
            fastcgi_busy_buffers_size    512k;
            fastcgi_buffer_size          512k;
            fastcgi_buffers           16 512k;
            fastcgi_read_timeout 1200;
            fastcgi_param HTTP_AUTHORIZATION $http_authorization;
            <tmpl_if name='php' op='==' value='hhvm'>error_page 500 501 502 503 = @phpfallback{FOLDERMD5};</tmpl_if>
            
        }
    
    
        location ~ \.(jpe?g|png|gif|ico|webp|css|js|svg|woff2?|ttf|otf|eot)$ {
            expires 1M;
            try_files $uri $uri/ /{FOLDER}index.php$is_args$args;
        }
    }
    
    
    <tmpl_if name='php' op='==' value='hhvm'>
    location @phpfallback{FOLDERMD5} {
        client_max_body_size 100M;
        root {DOCROOT}/{FOLDER}web;
        include /etc/nginx/fastcgi_params;
        {PHPFALLBACKFASTCGIPASS}
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
            
        fastcgi_temp_file_write_size 10m;
        fastcgi_busy_buffers_size    512k;
        fastcgi_buffer_size          512k;
        fastcgi_buffers           16 512k;
        fastcgi_read_timeout 1200;
        fastcgi_param HTTP_AUTHORIZATION $http_authorization;
        
    }
    </tmpl_if>
    Ich habe das Gefühl das die nginx Konfiguration nicht ganz stimmt. Hat jemand eine Idee wie man das Problem in den Griff bekommen kann?

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

    Standard

    Ich bin kein Profi was nginx angeht, aber hier ist ein Auszug meiner nginx Config:
    Code:
    # nginx.conf
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        server_names_hash_bucket_size  64;
        client_max_body_size 1G;
        sendfile        on;
        keepalive_timeout  65;
    
        server {
            listen       80;
            listen       443 ssl;
            server_name  localhost;
            root         /www;
            index        index.html index.htm index.php;
    
            ssl_certificate /nginx/conf/nginx.crt;
            ssl_certificate_key /nginx/conf/nginx.key;
    
            # redirect server error pages to the static page /50x.html
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_read_timeout 120;
                fastcgi_index  index.php;
                include        fastcgi.conf;
            }
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            location ~ /\.ht {
                deny  all;
            }
        }
    
        # contao.local
        server {
            listen 80;
            listen 443 ssl;
            server_name contao.local;
            root /www/contao/web;
            include contao4.conf;
        }
    }
    Code:
    # contao4.conf
    location / {
        try_files $uri /app.php$is_args$args;
    }
    
    location ~ ^/(index|app)\.php(/|$) {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_read_timeout 120;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi.conf;
        internal;
    }
    
    location ~ ^/(app_dev|preview|contao-manager\.phar)\.php(/|$) {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_read_timeout 120;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi.conf;
    }
    
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_read_timeout 120;
        include        fastcgi.conf;
        try_files $uri /app.php$is_args$args;
    }
    
    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        log_not_found off;
        try_files $uri /app.php$is_args$args;
    }
    
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
        try_files $uri /app.php$is_args$args;
    }
    
    location ~ /\.ht {
        deny  all;
    }

  3. #3
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.742
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Fulano Beitrag anzeigen
    folgende Konstellation:
    Eine Contao Installation wird ganz normal über domain.tld aufgerufen. In einem Verzeichnis wurde eine weitere Contao Installation abgelegt.

    Wenn die Website im Verzeichnis aufgerufen wird, dann werden zwar Inhalte der Seite dargestellt, allerdings ohne Styles. Der Aufruf des Contao Managers mit domain.tld/verzeichnis/contao-manager.phar.php leitet den Aufruf zu domain.tld/contao-manager.phar.php/#/discover
    Ich verstehe Deinen Aufbau noch nicht ganz. Du hast eine Contao-Installation im Ordner A. Der Document-Root ist A/web. Im Ordner A liegt ein Ordner B mit einer weiteren Contao-Installation?
    Solch eine Verschachtelung von Contao-Installationen wäre m.E. keine gute Idee.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  4. #4
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    458
    Partner-ID
    7000

    Standard

    Der Kunde wollte die Installation in einem Ordner. Die Idee fand ich nie gut. Es sind zwei Seiten, ich hätte daher zwei Domains genommen.

    Bei einem anderen Kunden fahren wir eine Contao Installation direkt unter der Domain und eine Shopware Installation in einem Ordner, problemlos.

    Wir auch immer, es müsste wohl irgendwie mit einem Unterordner möglich sein. Wenn es jedoch zu viele Probleme zu stemmen gilt, werde ich das ganze mittels Subdomain lösen.

  5. #5
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du musst 2 Sachen unterscheiden:
    1)
    Die Systeme scheinen von einander unabhängig gut zu laufen.
    Das kann man ja gut testen.

    2)
    Die Installationen hebeln u.U. die Sicherheitskonzepte anderer Installationen aus.
    Es kann ungünstiger Weise passieren, dass Du über eine Installation bei einer anderen Installationen Verzeichnisse oder Datein auslesbar machst, die für das Web vom Konzept her gesperrt wären. Das ist in meinen Augen sehr gefährlich.

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

    Standard

    Zitat Zitat von Fulano Beitrag anzeigen
    Der Kunde wollte die Installation in einem Ordner. Die Idee fand ich nie gut. Es sind zwei Seiten, ich hätte daher zwei Domains genommen.

    Bei einem anderen Kunden fahren wir eine Contao Installation direkt unter der Domain und eine Shopware Installation in einem Ordner, problemlos.

    Wir auch immer, es müsste wohl irgendwie mit einem Unterordner möglich sein. Wenn es jedoch zu viele Probleme zu stemmen gilt, werde ich das ganze mittels Subdomain lösen.
    Ihr solltet die Applikationen auf jeden Fall trennen.

  7. #7
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.742
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Und wenn der Kunde das in einem Ordner haben will, dann machst Du es so:

    Ordner A
    Unterordner 1
    web
    Unterordner 2
    web

    Damit habe ich vor kurzem auch einen Kunden davon überzeugt, dass damit beide Installationen in einem Ordner sind.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




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
  •