Welcome to our guide on how to install Nextcloud 19 on Ubuntu 20.04/18.04/16.04 & Debian 10/9 Linux system. Nextcloud is an open-source file-sharing service that is self-hosted. It is a fork of Owncloud and it gives you collaboration features similar to what you get on Dropbox. Some of the collaborative features of Nextcloud are:

  • Has Media Player for playing shared media content
  • Has contact management feature
  • File sync and sharing – With notes to shares, searching in comments, recovery of files
  • Video calls with chat and  MCU, SIP-Bridge, ext. Signaling backend integration
  • Online document editor/reader
  • Calendar Management e.t.c.

You can extend Nextcloud functionalities via add-on applications. For Desktop and Android users, applications are available to install and connect to Nextcloud server.

Install Nextcloud 19 on Ubuntu 20.04/18.04/16.04 & Debian 10/9

Nextcloud dependencies are:

  • PHP
  • Apache / Nginx web server
  • MySQL / MariaDB Database server

Here are the steps for installing Nextcloud on Ubuntu 20.04/18.04/ Ubuntu 16.04/ Debian 10/9.

Step 1: Install PHP

PHP is a basic requirement for Nextcloud code. Install it on Ubuntu 20.04/18.04/16.04/Debian 10/9 by running the following command:

sudo apt update
sudo apt install -y php-cli php-fpm php-json php-intl php-imagick php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

The version of PHP installed on Ubuntu 20.04 is 7.4, 18.04 is 7.2 and version available on Ubuntu 16.04 & Debian 9 is 7.0, Debian 10 is PHP 7.3.

Step 2: Install MySQL / MariaDB Database Server.

NextCloud can use MySQL, MariaDB, PostgreSQL or SQLite database to store its data. In this guide, we will use MariaDB or MySQL database server.

sudo apt -y install mariadb-server

Secure MariaDB database server:

sudo mysql_secure_installation

Change authentication plugin to allow use of root password.

$ sudo mysql -u root
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';

After the installation of the database server, you need to create a database and user for Nextcloud

$ mysql -uroot -p
CREATE USER 'nextcloud'@'localhost' identified by 'StrongPassword';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost'; FLUSH PRIVILEGES;

Don’t forget to replace StrongPassword with your database user password.

Confirm if the user can connect to the database with the provided password:

$ mysql -u nextcloud -p 
Enter password: <ENTER PASSWORD>
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 34
MariaDB [(none)]> SHOW DATABASES;
MariaDB [(none)]> QUIT

Step 3: Download and Install Nextcloud

Nextcloud is distributed as a zip file. Check for the latest release from  Nextcloud download page before pulling the archive.

As of this writing, the latest release is 19.

sudo apt install -y wget unzip
wget https://download.nextcloud.com/server/releases/latest-19.zip

Once the file is downloaded, extract it:

unzip latest-19.zip

Move the resulting folder to /srv

sudo mv nextcloud/ /srv

Change directory permissions to the www-datauser

sudo chown -R www-data:www-data /srv/nextcloud/

Step 4: Install and Configure Apache Web Server

Install Apache HTTP Server:

sudo apt install -y apache2 libapache2-mod-php

Create a VirtualHost file for Nextcloud:

sudo vim /etc/apache2/conf-enabled/nextcloud.conf

Paste the following content into the file:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /srv/nextcloud/
     ServerName example.com
     ServerAlias www.example.com
     ErrorLog /var/log/apache2/nextcloud-error.log
     CustomLog /var/log/apache2/nextcloud-access.log combined
    <Directory /srv/nextcloud/>
	Options +FollowSymlinks
	AllowOverride All
        Require all granted
 	SetEnv HOME /srv/nextcloud
 	SetEnv HTTP_HOME /srv/nextcloud
 	<IfModule mod_dav.c>
  	  Dav off

Enable required Apache modules and restart the service:

sudo a2enmod rewrite dir mime env headers
sudo systemctl restart apache2

Visit the pagehttp://example.com to finish the setup.

1. Create an admin user account

2.Specify data directory – The owner should be userwww-data and group.

install nextcloud 14 ubuntu 18.04 debian 9 01

3. Provide database connection settings as created in Step 2

install nextcloud 14 ubuntu 18.04 debian 9 02

Click “Finish Setup” butto to complete installation of Nextcloud on Ubuntu & Debian.

install nextcloud 14 ubuntu 18.04 debian 9 03

Thanks for using our tutorial to Install Nextcloud on Ubuntu 20.04/18.04/16.04 | Debian 10/9. I hope this was helpful.

Similar Articles:

Install and Configure Pydio File Sharing Server on Ubuntu

How to Install Seafile Server On Ubuntu

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!

As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.


Please enter your comment!
Please enter your name here