Wiki > Nextcloud
Nextcloud is a self-hosted platform for sharing files and using other producitvity applications on the web and mobile devices.
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
-
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.
-
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-fpm2/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
-
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
-
Download and extract Nextcloud by running
wget https://download.nextcloud.com/server/releases/latest.zip; unzip latest.zip; rm latest.zip
-
Go to
http://server.whatbox.ca:18524/nextcloud/index.php
(orhttps://server.whatbox.ca:18524/nextcloud/index.php
if you're using SSL) to complete the Nextcloud installation. Replace18524
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-fpm2/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:18524/nextcloud/index.php
to complete the Nextcloud installation. Replace 18524
with the proper port from your nginx configuration.