Image: Jack Wallen

The latest version of the on-premises Nextcloud cloud server has arrived, and it offers plenty of new features to entice you to upgrade. One of the biggest new features is machine learning. That’s right, the developers of Nextcloud have packed the new release with AI that can warn you of suspicious logins and empowers the Share recommendations to recommend people and groups a user frequently shares with.

Outside of machine learning, Nextcloud 16 also ads Access control lists, Projects, Talk 6.0, and a new Privacy Center.

How do you install this latest release? I’m going to walk you through the process on the Ubuntu Server 18.04 platform.

Let’s get to it.

SEE: Serverless computing: A guide for IT leaders (TechRepublic Premium)

Dependency installation

First, install the necessary dependencies. We’ll be using Nextcloud with Apache and MySQL. To install the dependencies, open a terminal window (or log into your Ubuntu server) and issue the following commands:

sudo apt-get install apache2 php7.2 bzip2 -y
sudo apt-get install libapache2-mod-php php-gd php-json php-mysql php-curl php-mbstring -y
sudo apt-get install php-intl php-imagick php-xml php-zip -y
sudo apt-get install mysql-server php-mysql -y

Database creation

Next, we’re going to create the database. Before we do that, we need to lock down the MySQL installation with the command:

sudo mysql_secure_installation

You’ll be asked to create a root password. Once you do that, answer “y” (for yes) to the remaining questions.
Now that MySQL is secured, let’s create a database. To do this, issue the following commands:

sudo mysql -u root -p
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'PASSWORD'; (Where PASSWORD is a strong, unique password)
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';

Download and unpack Nextcloud

We’re now ready for the installation. The first thing to do is download the official Nextcloud file. Back at your terminal, issue the following commands to download and unpack the file:

cd /var/www/html
sudo wget -O nextcloud-16-latest.tar.bz2
tar -xvjf nextcloud-16-latest.tar.bz2

Next give the file the proper permissions with the command:

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

Configure Apache

It’s time to configure the web server. We have to create a new Apache .conf file with the command:

sudo nano /etc/apache2/sites-available/nextcloud.conf

In that new file, paste the following:

Alias /nextcloud "/var/www/html/nextcloud/"

Options +FollowSymlinks
AllowOverride All

Dav off

SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud

Save and close that file. Enable the site and the necessary Apache modules with the following commands:

sudo a2ensite nextcloud
sudo a2enmod rewrite headers env dir mime

Configure the PHP memory limit with the command:

sudo sed -i '/^memory_limit =/s/=.*/= 512M/' /etc/php/7.2/apache2/php.ini

Restart Apache with the command:

sudo systemctl restart apache2

Finish installation

You can now point your browser to http://SERVER_IP/nextcloud (where SERVER_IP is the IP address of your hosting server) and finish the installation. You’ll need to create an admin user/password as well as fill out the necessary database information (database user/password, database name, and database host – Figure A).

Once you enter the details, click Finish, and the installation will complete. You will automatically be logged in with your newly created admin user.

Congratulations, you now have the latest release of Nextcloud to serve as your on-premises cloud server.