Nextcloud is a free/libre self-hosted cloud software that runs on a LEMP Stack. A lot like how Matrix is a self-hosted, much more private version of Discord, Nextcloud is a self-hosted alternative to services such as Google Drive and MEGA.
Initial Server Setup
This section covers the basic installation and setup of a Nextcloud server; It is highly recommended to also follow the further configuration section to get a feature-full Nextcloud experience.
Debian 10 or newer
LEMP Stack Setup
Ports 80 and 443 port-forwarded on your router/modem if you wish to use Nextcloud outside of your local network
Your own domain with an A DNS entry set to the public IPv4 address of your server
Basic UNIX knowledge
sudo apt install unzip php-fpm php-bz2 php-cgi php-cli php-common php-curl php-fpm php-gd php-curl php-gd php-json php-xml php-mbstring php-zip php-xml php-gd php-imagick php-intl php-bcmath php-gmp php-apcu libmagickcore-6.q16-6-extra
Download the latest Nextcloud
It is recommended to download the file to
/var/www so it can be unzipped to the default location,
Unzip the file:
Before configuring Nextcloud, it is important to ensure the nextcloud directory is fully read-writable by the user executing
php-fpm. In this case, this would be
sudo chown -Rv www-data:www-data /var/www/nextcloud
Skipping this step is normally what causes people to get errors on initial setup.