Login for certain variables to be updated with your own slot's information

Nextcloud

Pre-install notes

If you have previously configured nginx, be sure you have an up to date nginx.conf file that contains the line include /home/user/.config/nginx/includes/*.conf;

Setup

  1. Follow the directions in the Userland Nginx article to enable nginx and PHP on your slot. Make a note of the port number your nginx configuration is using, as it will be needed below.

  2. Create the ~/.config/nginx/includes/nextcloud.conf file by running touch ~/.config/nginx/includes/nextcloud.conf and add the following content to it:

     location ~ ^/nextcloud {
         error_page 403 /core/templates/403.php;
         error_page 404 /core/templates/404.php;
         auth_basic "off";
         client_max_body_size 512M;
         fastcgi_buffers 64 4K;
    
         location ~ ^/nextcloud/(data|config|\.ht|db_structure\.xml|README) {
             deny all;
         }
    
         location ~ ^(.+?\.php)(/.*)?$ {
             try_files $1 =404;
    
             include fastcgi_params;
             fastcgi_param SCRIPT_FILENAME $document_root$1;
             fastcgi_param PATH_INFO $2;
             fastcgi_pass unix:/home/user/.config/php-fpm/socket;
         }
    
         location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
             expires 30d;
             # Optional: Don't log access to assets
             access_log off;
         }
     }
    
  3. Restart nginx by running killall nginx; ~/.config/nginx/start

  4. Enter the root of your nginx server. This is the path under # path you want to share in your ~/.config/nginx/nginx.conf file. By default, this is /home/user/files: cd /home/user/files

  5. Download and extract Nextcloud by running wget https://download.nextcloud.com/server/releases/nextcloud-16.0.4.zip; unzip nextcloud-16.0.4.zip; rm nextcloud-16.0.4.zip

  6. Go to http://server.whatbox.ca:14520/nextcloud/index.php (or https://server.whatbox.ca:14520/nextcloud/index.php if you're using SSL) to complete the Nextcloud installation. Replace 14520 with the proper port from your nginx configuration.

Further support for using Nextcloud can be found in Nextcloud's official documentation

SSL (optional)

If you are using HTTPS in your main nginx configuration, use this for your ~/.config/nginx/includes/nextcloud.conf file:

    location ~ ^/nextcloud {
        error_page 403 /core/templates/403.php;
        error_page 404 /core/templates/404.php;
        auth_basic "off";
        client_max_body_size 512M;
        fastcgi_buffers 64 4K;

        location ~ ^/nextcloud/(data|config|\.ht|db_structure\.xml|README) {
            deny all;
        }

        location ~ ^(.+?\.php)(/.*)?$ {
            try_files $1 =404;

            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$1;
            fastcgi_param PATH_INFO $2;
            fastcgi_param HTTPS on;
            fastcgi_pass unix:/home/user/.config/php-fpm/socket;
        }

        location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
            expires 30d;
            # Optional: Don't log access to assets
            access_log off;
        }
    }

Restart nginx by running killall nginx; ~/.config/nginx/start

You can then access Nextcloud via https://server.whatbox.ca:14520/nextcloud/index.php to complete the Nextcloud installation. Replace 14520 with the proper port from your nginx configuration.