You can support us by downloading this article as PDF from the Link below. Download the guide as PDF

Welcome to our guide on how to install Nextcloud 18 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 18 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 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';
FLUSH PRIVILEGES;
QUIT;

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';
CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost'; FLUSH PRIVILEGES;
QUIT;

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
Bye

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 18.

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

Once the file is downloaded, extract it:

unzip latest-18.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
        </IfModule>
    </Directory>
</VirtualHost>

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.

3. Provide database connection settings as created in Step 2

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

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

You can support us by downloading this article as PDF from the Link below. Download the guide as PDF