-2

I'm using nginx and I need help with the configuration. If I change the location from

root /var/www/html

to

root /spectrum/public

Where the index.html file is located I get the 500 error.

Take a look on the nginx default file

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    # SSL configuration
    #
    # listen 443 ssl default_server;
    # listen [::]:443 ssl default_server;
    #
    # Note: You should disable gzip for SSL traffic.
    # See: https://bugs.debian.org/773332
    #
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See: https://bugs.debian.org/765782
    #
    # Self signed certs generated by the ssl-cert package
    # Don't use them in a production server!
    #
    # include snippets/snakeoil.conf;

    root spectrum/public;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name pretected.com;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/index.html;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #   include snippets/fastcgi-php.conf;
    #
    #   # With php7.0-cgi alone:
    #   fastcgi_pass 127.0.0.1:9000;
    #   # With php7.0-fpm:
    #   fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #   deny all;
    #}
}

With the default location /var/www/html I get the Welcome page from nginx, but when I change the location all I get is the 500 error.

I tried with the / and without the / at the line root /spectrum/public

Please help me to fix it. Thanks in advance.

Shawn C.
  • 6,446
  • 3
  • 34
  • 38
  • Your code says `root spectrum/public` not `root /spectrum/public` so which is right? – Shawn C. Aug 26 '19 at 20:58
  • I said there that I tryed both ways, with and without the slash /. –  Aug 27 '19 at 04:01
  • Yes you did but which is correct as they mean completely different things and can't help with an incomplete or inaccurate picture – Shawn C. Aug 27 '19 at 11:30
  • @ShawnC. I have my content that should run on my website under the spectrum/public folder. How I give this location to nginx? –  Aug 27 '19 at 18:49

1 Answers1

1

Perform this:

chown -R www-data /spectrum

Then change the document root back,

restart nGinx, see if you get a better result.

The files are not world writable. They are restricted to the owner of the files for writing.

The web server has to be run under a specific user. That user must exist.

If you decide to run it under a different user ID, then that user would need to be the effective owner of the files for proper privileges.

Creating a specific user would make it easier to recognize the files and consistent to recognize which ID to chown to new files and folders added to the site.

By default the configuration of the owner is www-data

  • It doesn't work, unfortunately. That line return: chown: cannot access '/spectrum': No such file or directory so I run the same line without "/"(slash) at "spectrum" and apparently it works, but not helps with the nginx –  Aug 27 '19 at 10:21