How To Install Nextcloud on Debian 10 Buster Linux

Whether you’re setting up Nextcloud on a home server or making it accessible online through a VPS, Debian makes an excellent platform. You can even host it on a Raspberry Pi. This guide will get you started with a basic setup.

In this tutorial you will learn:

  • How to Install the Required Packages
  • How to Set Up Your Database
  • How to Download Nextcloud
  • How to Install Nextcloud

Nextcloud on Debian 10

Nextcloud on Debian 10.

Software Requirements and Conventions Used

Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Debian 10 Buster
Software Nextcloud
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

Install the Required Packages

Before you can install and set up Nextcloud, you’re going to need to put the framework it runs on in place. Nextcloud is a PHP web application. It requires PHP, a web server, and a database. This guide will be working with Apache and MariaDB, but you can certainly set up Nextcloud a different way. This is just the simplest and most direct.



Install the Nextcloud Dependencies on Debian 10

Install the Nextcloud Dependencies on Debian 10.

Install all the dependencies at once. There are a lot, but don’t let that discourage you. Almost the whole setup is automated. These pieces just need to be there.

$ sudo apt install apache2 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip

After that’s finished, restart Apache to make sure that it’s using the PHP module.

$ sudo systemctl restart apache2

Set Up Your Database

Nextcloud keeps track of everything in a database. Plus, like most web applications, it stores its own information and settings in it too. You already have the database server from MariaDB. You just need some minimal configuration to get it ready for Nextcloud.

Secure MySQL on Debian 10

Secure MySQL on Debian 10.


Before you sign in, run the built-in secure installation script to remove junk and set up your admin account.

$ sudo mysql_secure_installation

Follow the instructions, and set up a new root password when asked. You can accept the defaults for everything.

Next, sign in to MariaDB using the root password that you just established.

$ sudo mysql -u root -p

Create a new database to use with Nextcloud.

CREATE DATABASE nextcloud;

Then, set up a new database user to access your Nextcloud database.

CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword';

Because that user will be interacting with every aspect of the database for the Nextcloud application, you’ll need to grant it full access.

GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost';

Finally, flush the privileges and exit MariaDB.

FLUSH PRIVILEGES;
\q

Download Nextcloud

Download Nextcloud on Debian 10

Download Nextcloud on Debian 10.

Now, you’re ready to download and install Nextcloud. Head over to the Nextcloud download page, and grab the latest release. You can also copy the link location, and use wget to download it directly on a headless server.

$ cd ~/Downloads
$ wget https://download.nextcloud.com/server/releases/nextcloud-16.0.1.zip

Install Nextcloud

Unpack your Nextcloud zip file where it is.



$ unzip nextcloud-*.zip

Then, copy the extracted folder into your web root directory. If you don’t plan to host any other web applications on your server, you can replace your web root with the Nextcloud folder.

$ sudo cp -r /home/user/Downloads/nextcloud /var/www/html/nextcloud

Since your web server, Apache, is going to be accessing your Nextcloud files, it’s best to give ownership of them to www-data, the same user running Apache.

$ sudo chown -R www-data:www-data /var/www/html/nextcloud

Open your browser, and navigate to your Nextcloud server: localhost/nextcloud.

Set Up Nextcloud on Debian 10

Set Up Nextcloud on Debian 10.

You’ll arrive on the Nextcloud setup page. Enter a username and password for your admin user.

Connect to Nextcloud Database on Debian 10

Connect to Nextcloud Database on Debian 10.

Next, scroll down, and enter the information for the database that you set up, including the username and password of the user you created to manage it.

Nextcloud File Browser on Debian 10

Nextcloud File Browser on Debian 10.

When you’re finished, Nextcloud will take a few seconds to set everything up. Then, it’ll drop you into your dashboard. Nextcloud is fully set up and ready to use. You can now optionally install the nextcloud client on your Debian Linux desktop

Conclusion

From there, you can do everything you need within Nextcloud itself. It’s simple to create new users, and manage access. You can also easily download the Nextcloud app on your desktop and mobile devices to connect to your new server.