Install NextCloud on Ubuntu Server 16.04

From ICO wiki
Revision as of 10:20, 27 February 2017 by Ebarrier (talk | contribs)
Jump to navigationJump to search

Author: Etienne Barrier

Last modified: 07.02.2017

Install guestadditions for ubuntu server: http://askubuntu.com/questions/22743/how-do-i-install-guest-additions-in-a-virtualbox-vm?noredirect=1&lq=1

Preliminary notes

This tutorial shows how to install NextCloud on Ubuntu 16.04 LTS Server, using MariaDB (as for database) and Apache 2 (as for webserver).

This tutorial does NOT show:

  • how to install/configure databases other than MariaDB (although MySQL can be considered the sane)
  • how to install/configure webservers other than Apache2 (for example Nginx)
  • how to use NextCloud

It is assumed that you are already familiar with the basics of Linux command line terminal commands. But this tutorial is made so that you can copy paste the commands to your terminal.

Tools' versions used in this tutorial:

  • Nextcloud (version: 11.0.1)
  • Ubuntu 16.04.1 LTS (Xenial)
  • MariaDB (version: xxxx)
  • Apache 2 (version: 2.4.xxxx)
  • Php (version 7.0)

Depending on the versions you use, the commands and/or the path shown in this tutorial might be different.

All commands in this tutorial are made as root. You must be root or be able to use "sudo" command to install and configure Nextcloud.

The version of Nextcloud used (version 11) is referred as “Nextcloud” across the tutorial.

This tutorial is based on the following tutorials:

For any comments, please write to ebarrier {at] itcollege [dot) ee.

What is the final state this tutorial reaches?

This tutorial's objective is to have Nextcloud installed on a Ubuntu server using the aforementioned tools. The installation of tools will be done from the command line. The installation of Nextcloud will be done from the web interface. Netcloud will be accessible from the main page of the webserver and https protocol will be enabled.

From the tutorial above: - If MariaDB installation does not start after installing the package, run /usr/bin/mysql_secure_installation to start it manually. When the wizard asks whether to set up a root password, do it and remember this password!

- To download the archive use wget: wget https://download.nextcloud.com/server/releases/nextcloud-version.file-extension Check from [1] the exact link's target to use. Example wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.zip

- To download the checksum file the same way: wget https://download.nextcloud.com/server/releases/nextcloud-version.file-extension.sha256

- Check that the archive match the checksum file. sha256sum -c nextcloud-version.file-extension.sha256 < nextcloud-version.file-extension If it matches, the terminal will display "OK".

- Extract the archive depending on its extension: tar -xjf nextcloud-x.y.z.tar.bz2 or unzip nextcloud-x.y.z.zip This will extract one single directory called "nextcloud".

- This extracted directory will be used by the webserver. As for Apache, we can copy it to /var/www (document root of Apache). cp -r nextcloud /var/www

- We create the file /etc/apache2/sites-available/nextcloud.conf with the following content:

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

<Directory /var/www/nextcloud/>
  Options +FollowSymlinks
  AllowOverride All

  <IfModule mod_dav.c>
    Dav off
  </IfModule>

  SetEnv HOME /var/www/nextcloud
  SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

This configuration makes the Nextcloud web application at the address http://yourdomain/nextcloud

Then enable this configuration file: a2ensite nextcloud

- Make sure the following Apache modules are enabled:

a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime

- We can also already enable the SSL module and its default site configuration:

a2enmod ssl
a2ensite default-ssl

- As you can see on the screenshot below, Nextcloud is visible in a browser but Apache needs to access its directory. chown -R www-data:www-data /var/www/nextcloud/

- Finally restart the Apache server to apply all these changes: service apache2 restart

Stop at "Additional Apache Configurations" (a2enmod mime).