Question

Trying to install IP Board on my droplet but am having php issues.

So I am attempting to install IP Board on my droplet, running into issues that I fear are incredibly simple. Nginx is returning a 500 error when I try to access a php index file. I’m almost 100% sure I have no configured nginx right, I’m just not sure what to fix.

This is my sites-enabled 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 /var/www/html;

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

    localhost;

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
     rewrite ^/(.*)/$ /?page=$1 last;
rewrite ^(.*[^/])$ $1/ permanent;

}

    # 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;
    #}

}

Virtual Host configuration for example.com

You can move that to a different file under sites-available/ and symlink that

to sites-enabled/ to enable it.

#server {

listen 80;

listen [::]:80;

server_name example.com;


Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

@jameskueller1

As long as PHP-FPM is installed, the following should be all that you need to get things working.

server
{
    listen                          80 default_server;
    listen                          [::]:80;
    server_name                     yourdomain.com www.yourdomain.com;

    root                            /path/to/home/directory;

    location /
    {
        try_files $uri $uri/ =404;
    }

    location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;

        include fastcgi_params.conf;
    }
}

You’d need to modify the above to suit your domain, and your home directory (i.e root), then reload NGINX

The only issue you may run in to is with the default location block. That may need to be changed to something like the below as the default for the one above is to throw a 404 if a file or directory is not found.

try_files $uri $uri/ /index.php?$args;

You may also need to change:

fastcgi_pass   127.0.0.1:9000;

to:

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

If you’ve not set PHP-FPM up to use TCP (it defaults to sockets, which is what you have set).

my current config file: server { listen 80 default_server; listen [::]:80 default_server; server_name crew289.com www.crew289.com;

    root /var/www/html;


     location /
{
    try_files $uri $uri/ /index.php?$args;
}

location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index  index.php;

    include fastcgi_params.conf;
    }

}

This comment has been deleted