Ergebnis 1 bis 7 von 7
  1. #1
    Anwender
    Registriert seit
    12.11.2015
    Beiträge
    223

    Standard Nextcloud: Von APache auf NGINX umstellen

    Hallo,

    Ich würde gerne meine Nextcloud (virtual Host) von Apache auf nginx umstellen.
    Ich habe versucht die Config laut Nextcloud Doku und einiger Posts im Internet zu erstellen, leider bekomme ich nur einen Error 404.
    Ich weiß nur nicht obs am vhost liegt oder aber daran, dass die DiskStation wieder einen Umweg braucht um das ganze zu konfigurieren.

    Ich habe folgenden Inhalt in /usr/local/etc/nginx/sites-enabled

    Code:
    upstream php-handler {
        server 127.0.0.1:9000;
        #server unix:/var/run/php5-fpm.sock;
    }
    
    server {
        listen 80;
        server_name mydomain.com;
        # enforce https
        return 301 https://$server_name$request_uri;
    }
    
    server {
        listen 443 ssl;
        server_name mydomain.com;
    
    	ssl_certificate /usr/syno/etc/certificate/system/default/cert.pem;
    	ssl_certificate_key /usr/syno/etc/certificate/system/default/privkey.pem;
    
    	# Add headers to serve security related headers
    	# Before enabling Strict-Transport-Security headers please read into this
    	# topic first.
    	add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
    	add_header X-Content-Type-Options nosniff;
    	add_header X-Frame-Options "SAMEORIGIN";
    	add_header X-XSS-Protection "1; mode=block";
    	add_header X-Robots-Tag none;
    	add_header X-Download-Options noopen;
    	add_header X-Permitted-Cross-Domain-Policies none;
    
    	# Path to the root of your installation
    	root /volume1/web/mimir;
    
    	location = /robots.txt {
    		allow all;
    		log_not_found off;
    		access_log off;
    	}
    	# The following 2 rules are only needed for the user_webfinger app.
    	# Uncomment it if you're planning to use this app.
    	# rewrite ^/.well-known/host-meta /nextcloud/public.php?service=host-meta
    	# last;
    	#rewrite ^/.well-known/host-meta.json
    	# /nextcloud/public.php?service=host-meta-json last;
    
    	location = /.well-known/carddav {
    		return 301 $scheme://$host/nextcloud/remote.php/dav;
    	}
    	location = /.well-known/caldav {
    		return 301 $scheme://$host/nextcloud/remote.php/dav;
    	}
    
    	location /.well-known/acme-challenge { }
    	
    	location ^~ /mimir {
    		# set max upload size
    		client_max_body_size 1G;
    		fastcgi_buffers 64 4K;
            # Disable gzip to avoid the removal of the ETag header
    		gzip off;
    		# Uncomment if your server is build with the ngx_pagespeed module
    		# This module is currently not supported.
    		#pagespeed off;
    
    		location /mimir {
    			rewrite ^ /mimir/index.php$uri;
    		}
    
    		location ~ ^/mimir/(?:build|tests|config|lib|3rdparty|templates|data)/ {
    			deny all;
    		}
    		
    		location ~ ^/mimir/(?:\.|autotest|occ|issue|indie|db_|console) {
    			deny all;
    		}
    
    		location ~ ^/mimir/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
    			fastcgi_split_path_info ^(.+\.php)(/.*)$;
    			include fastcgi_params;
    			fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    			fastcgi_param PATH_INFO $fastcgi_path_info;
    			fastcgi_param HTTPS on;
    			#Avoid sending the security headers twice
    			fastcgi_param modHeadersAvailable true;
    			fastcgi_param front_controller_active true;
    			fastcgi_pass php-handler;
    			fastcgi_intercept_errors on;
    			fastcgi_request_buffering off;
    		}
    
    		location ~ ^/mimir/(?:updater|ocs-provider)(?:$|/) {
    			try_files $uri/ =404;
    			index index.php;
    		}
    
    		# Adding the cache control header for js and css files
    		# Make sure it is BELOW the PHP block
    		location ~* \.(?:css|js|woff|svg|gif)$ {
    			try_files $uri /mimir/index.php$uri$is_args$args;
    			add_header Cache-Control "public, max-age=7200";
    			# Add headers to serve security related headers  (It is intended
    			# to have those duplicated to the ones above)
    			# Before enabling Strict-Transport-Security headers please read
    			# into this topic first.
    			add_header Strict-Transport-Security "max-age=15768000;
    			# includeSubDomains; preload;";
    			add_header X-Content-Type-Options nosniff;
    			add_header X-Frame-Options "SAMEORIGIN";
    			add_header X-XSS-Protection "1; mode=block";
    			add_header X-Robots-Tag none;
    			add_header X-Download-Options noopen;
    			add_header X-Permitted-Cross-Domain-Policies none;
    			# Optional: Don't log access to assets
    			access_log off;
    		}
    
    		location ~* \.(?:png|html|ttf|ico|jpg|jpeg)$ {
    			try_files $uri /mimir/index.php$uri$is_args$args;
    			# Optional: Don't log access to other assets
    			access_log off;
    		}
    	}
    }
    Nach dem verifizieren der config und dem restarten des nginx habe ich in der WebStation den virtual host von Apache auf Nginx umgestellt. Beim aufruf von mydomain.com kommt eben der 404.

    Hat jemand Nextcloud auf nginx laufen und kann mir weiterhelfen?

    EDIT:

    Ich hab die selbe config mit einer anderen domain versucht die nicht als vhost konfiguriert wurde. server_name wurde auf other.com geändert und ich rufe other.com/mimir auf. Hier bekomme ich 502 Bad Gateway.
    Geändert von OdinsAuge (03.10.2018 um 14:54 Uhr)
    DS215+
    2x Seagate NAS HDD 3TB 5900rpm 6GB/s SATA 64mb Cache ST3000NV000

  2. #2
    Anwender
    Registriert seit
    22.08.2013
    Beiträge
    9

    Standard

    Hast du es mal ohne vhost probiert?
    Diese seite kann ich empfehlen:
    http://blog.viking-studios.net/die-e...tion-mit-dsm6/

  3. #3
    Anwender
    Registriert seit
    12.11.2015
    Beiträge
    223

    Standard

    Hab den vhost in der WebStation gelöscht und nur die config eingebaut, ich bekomme aber einen gateway error.
    Ein Tipp aus dem Internet legt nahe, dass es an der PHP einbindung liegt, weiß jemand wie ich das auf der DiskStation mache?

    @KPanda danke für die empfehlung, das ist mein Blog.
    DS215+
    2x Seagate NAS HDD 3TB 5900rpm 6GB/s SATA 64mb Cache ST3000NV000

  4. #4
    Anwender
    Registriert seit
    22.08.2013
    Beiträge
    9

    Standard

    Wie geil ist das denn? Vielen Dank dafür! Das hat mir schon so oft geholfen.
    Vielleicht kannst du mir noch sagen wie ich in der Apache conf die Einträge speichere.
    Diese hier:
    PHP-Code:
    <IfModule mod_headers.c>
      <
    IfModule mod_fcgid.c>
        <
    IfModule mod_setenvif.c>
          
    SetEnvIfNoCase ^Authorization"(.+)" XAUTHORIZATION=$1
          RequestHeader set XAuthorization 
    %{XAUTHORIZATION}e env=XAUTHORIZATIO
          
    [size=150]Header always set Strict-Transport-Security "max-age=15768000"[/size]
        </
    IfModule>
      </
    IfModule>
    </
    IfModule

    Bei mir sind die nach einem Neustart von Apache immer weg.

  5. #5
    Anwender
    Registriert seit
    12.11.2015
    Beiträge
    223

    Standard

    ALso wenn ich mich nicht irre, kannst du das in die .htaccess auch eintragen.
    Welche conf Datei hast du probiert? Mir fällt die ein: /volume1/@appstore/Apache2.2/usr/local/etc/apache24/conf/ bzw . /volume1/@appstore/Apache2.4/usr/local/etc/apache24/conf/
    Bzw. gibts noch /usr/local/etc/apache24/sites-enabled/ wo man eigene conf dateien anlegen kann.

    Es gibt conf dateien die den Nestart der DS zwar überstehen aber ein DSM update nicht, dann gibts wieder welche die auch ein DSM Update überstehen, leider weiß ich nicht mehr welche das sind.


    Um zum Thema zurück zu kommen, bisher kein Erfolg, ich nehm an ich muss irgendwo speziell für die DS eine Änderung in der Config machen, leider kenn ich mich sowohl mit nginx als auch auf der DS zu wenig aus um dem auf die Spur zu kommen.
    DS215+
    2x Seagate NAS HDD 3TB 5900rpm 6GB/s SATA 64mb Cache ST3000NV000

  6. #6
    Anwender
    Registriert seit
    22.08.2013
    Beiträge
    9

    Standard

    Danke für die Antwort. Ich habe es anders gelöst und
    Code:
    'forcessl' => true,
      'forceSSLforSubdomains' => true,
    in die config,php eingetragen

  7. #7

    Standard

    Hallo zusammen, ich versuche mich auch gerade an dem Vorhaben von apache auf ngnix umzuschalten.

    ich komme leider nicht weiter. Ich stehe momentan vor einen Fehler 502.
    • Meine NC.conf befindet sich im Ordner /usr/local/etc/nginx/sites-enabled
    • Ein test mit nginx -t liefert ein erfolgreiches Testergebnis (auch nach einem sudo synoservicectl --restart nginx)
    • Auf der Synology ist php7.2 installiert. Apache 2.4 ist zum testen deaktiviert.
    • Zugriff erfolgt aus dem lokalen Subnetz sowie über eine MyFritz freigabe (DynDNS).
    • Nextcloud ist im Ordner Nextcloud im web Verzeichnis installiert und funktioniert mit Außnahme der imagick-Meldung mit Apache gewünscht.


    Könnt ihr mir einen Tipp geben? Wo kann ich zur Fehlereingrenzung ansetzen?
    (Das ganze Prozedere für die Umstellung auf ngnix sollte man mal zusammentragen. Man sucht sich viel im Netz zusammen, aber auf der Syno ist manches anders.)

    Danke schon mal im vorraus
    Gert

    Code:
    upstream php-handler {
        server 127.0.0.1:9000;
        #server unix:/var/run/php/php7.0-fpm.sock;
    }
    
    server {
        listen 80;
        listen [::]:80;
        server_name xyz.myfritz.net;
        # enforce https
        return 301 https://$server_name$request_uri;
    }
    
    server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name xyz.myfritz.net;
    
        # Use Mozilla's guidelines for SSL/TLS settings
        # https://mozilla.github.io/server-side-tls/ssl-config-generator/
        # NOTE: some settings below might be redundant
    	ssl_certificate /usr/syno/etc/certificate/system/default/cert.pem;
    	ssl_certificate_key /usr/syno/etc/certificate/system/default/privkey.pem;
    
        # Add headers to serve security related headers
        # Before enabling Strict-Transport-Security headers please read into this
        # topic first.
        #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        add_header Referrer-Policy no-referrer;
    
        # Remove X-Powered-By, which is an information leak
        fastcgi_hide_header X-Powered-By;
    
        # Path to the root of your installation
        root /volume1/web/Nextcloud;
    
        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }
    
        # The following 2 rules are only needed for the user_webfinger app.
        # Uncomment it if you're planning to use this app.
        # rewrite ^/.well-known/host-meta /Nextcloud/public.php?service=host-meta
        # last;
        #rewrite ^/.well-known/host-meta.json
        # /Nextcloud/public.php?service=host-meta-json last;
    
        # The following rule is only needed for the Social app.
        # Uncomment it if you're planning to use this app.
        # rewrite ^/.well-known/webfinger /Nextcloud/public.php?service=webfinger last;
    
        location = /.well-known/carddav {
          return 301 $scheme://$host/Nextcloud/remote.php/dav;
        }
        location = /.well-known/caldav {
          return 301 $scheme://$host/Nextcloud/remote.php/dav;
        }
    
        location /.well-known/acme-challenge { }
    
        location ^~ /Nextcloud {
    
            # set max upload size
            client_max_body_size 512M;
            fastcgi_buffers 64 4K;
    
            # Enable gzip but do not remove ETag headers
            gzip on;
            gzip_vary on;
            gzip_comp_level 4;
            gzip_min_length 256;
            gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
            gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
    
            # Uncomment if your server is build with the ngx_pagespeed module
            # This module is currently not supported.
            #pagespeed off;
    
            location /Nextcloud {
                rewrite ^ /Nextcloud/index.php$request_uri;
            }
    
            location ~ ^\/Nextcloud\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
                deny all;
            }
            location ~ ^\/Nextcloud\/(?:\.|autotest|occ|issue|indie|db_|console) {
                deny all;
            }
    
            location ~ ^\/Nextcloud\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+)\.php(?:$|\/) {
                fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param HTTPS on;
                #Avoid sending the security headers twice
                fastcgi_param modHeadersAvailable true;
                fastcgi_param front_controller_active true;
                fastcgi_pass php-handler;
                fastcgi_intercept_errors on;
                fastcgi_request_buffering off;
            }
    
            location ~ ^\/Nextcloud\/(?:updater|ocs-provider)(?:$|\/) {
                try_files $uri/ =404;
                index index.php;
            }
    
            # Adding the cache control header for js and css files
            # Make sure it is BELOW the PHP block
            location ~ ^\/Nextcloud\/.+[^\/]\.(?:css|js|woff2?|svg|gif)$ {
                try_files $uri /Nextcloud/index.php$request_uri;
                add_header Cache-Control "public, max-age=15778463";
                # Add headers to serve security related headers  (It is intended
                # to have those duplicated to the ones above)
                # Before enabling Strict-Transport-Security headers please read
                # into this topic first.
                # add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
                add_header X-Content-Type-Options nosniff;
                add_header X-XSS-Protection "1; mode=block";
                add_header X-Robots-Tag none;
                add_header X-Download-Options noopen;
                add_header X-Permitted-Cross-Domain-Policies none;
                add_header Referrer-Policy no-referrer;
    
                # Optional: Don't log access to assets
                access_log off;
            }
    
            location ~ ^\/Nextcloud\/.+[^\/]\.(?:png|html|ttf|ico|jpg|jpeg)$ {
                try_files $uri /Nextcloud/index.php$request_uri;
                # Optional: Don't log access to other assets
                access_log off;
            }
        }
    }

Ähnliche Themen

  1. nginx konfiguration mit nextcloud
    Von christosv im Forum Webserver
    Antworten: 0
    Letzter Beitrag: 10.01.2018, 12:39
  2. Webserver (Apache / nginx) Logfiles - DSM 6
    Von ben_beton im Forum Webserver
    Antworten: 6
    Letzter Beitrag: 01.08.2017, 08:28
  3. Webserver Apache <--> nginx Problem
    Von OdinsAuge im Forum Webserver
    Antworten: 3
    Letzter Beitrag: 06.07.2016, 15:37
  4. Wieso Apache und nginx
    Von TACiboy im Forum Disk Station Manager
    Antworten: 1
    Letzter Beitrag: 29.03.2016, 11:33
  5. nginx statt Apache
    Von itari im Forum Off-Topic
    Antworten: 1
    Letzter Beitrag: 17.02.2012, 10:38

Berechtigungen

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