Install Nextcloud 23 on Ubuntu 22.04|20.04|18.04

Posted on 12 views

Welcome to our guide on how to install Nextcloud 23 on Ubuntu 22.04|20.04|18.04 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 on Ubuntu

Install Nextcloud 23 on Ubuntu 22.04|20.04|18.04

Nextcloud dependencies are:

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

Here are the steps for installing Nextcloud on Ubuntu 22.04|20.04|18.04

Step 1: Install PHP and Apache Web Server

PHP is a basic requirement for Nextcloud code. Install it on Ubuntu 22.04|20.04|18.04 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 apache2 libapache2-mod-php

The version of PHP installed on Ubuntu 22.04 is 8.0, 20.04 is 7.4, 18.04 is 7.2:

Set PHP variables to suit your use.

$ sudo vim /etc/php/*/apache2/php.ini
date.timezone = Africa/Nairobi
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 300

Restart apache2 service:

sudo systemctl restart apache2

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

Download Nextcloud zip package:

sudo apt install -y wget unzip

Once the file is downloaded, extract it:


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: Configure Apache Web Server

Create a VirtualHost file for Nextcloud:

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

Paste the following content into the file:

     ServerAdmin [email protected]
     DocumentRoot /srv/nextcloud/
     ErrorLog /var/log/apache2/nextcloud-error.log
     CustomLog /var/log/apache2/nextcloud-access.log combined
	Options +FollowSymlinks
	AllowOverride All
        Require all granted
 	SetEnv HOME /srv/nextcloud
 	SetEnv HTTP_HOME /srv/nextcloud
  	  Dav off

Enable required Apache modules and restart the service:

sudo a2enmod rewrite dir mime env headers
sudo systemctl restart apache2

Visit the page 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


Thanks for using our tutorial to Install Nextcloud on Ubuntu 22.04|20.04|18.04. I hope this was helpful.


Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.