OwnCloud is a leading open-source file sharing and cloud collaboration platform whose services and functionalities are similar to those offered by DropBox and Google Drive. However, unlike Dropbox, OwnCloud does not have the datacenter capacity to store hosted files. Nevertheless, you can still share files such as documents, images, and videos to mention a few, and access them across multiple devices such as smartphones, tablets, and PCs.
In this article, you will learn how to install OwnCloud on Ubuntu 18.04 and newer versions.
Step 1: Update Ubuntu System Packages
Before getting started, update the system packages and repositories using the following apt command.
$ sudo apt update -y && sudo apt upgrade -y
Step 2: Install Apache and PHP 7.2 in Ubuntu
OwnCloud is built on PHP and is typically accessed via a web interface. For this reason, we are going to install the Apache webserver to serve Owncloud files as well as PHP 7.2 and additional PHP modules necessary for OwnCloud to function smoothly.
$ sudo apt install apache2 libapache2-mod-php7.2 openssl php-imagick php7.2-common php7.2-curl php7.2-gd php7.2-imap php7.2-intl php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-pgsql php-smbclient php-ssh2 php7.2-sqlite3 php7.2-xml php7.2-zip
Once the installation is complete you can verify if Apache is installed by running the dpkg command.
$ sudo dpkg -l apache2
From the output, we can see that we have installed Apache version 2.4.29.
To start and enable Apache to run on boot, run the commands.
$ sudo systemctl start apache2 $ sudo systemctl enable apache2
Now head over to your browser and type in your server’s IP address in the URL bar as shown:
http://server-IP
You should get a webpage below showing that Apache is installed and running.
To check if PHP is installed.
$ php -v
Step 3: Install MariaDB in Ubuntu
MariaDB is a popular open-source database server that is widely used by developers, database enthusiasts, and also in production environments. It’s a fork of MySQL and has been preferred to MySQL since the takeover of MySQL by Oracle.
To install the MariaDB run.
$ sudo apt install mariadb-server
By default, MariaDB is not secured and is prone to security breaches. We, therefore, need to perform additional steps to harden the MariaDB server.
To get started with securing your MySQL server, run the command:
$ sudo mysql_secure_installation
Hit ENTER when prompted for the root password and press ‘Y’
to set the root password.
For the remaining prompts, simply type ‘Y’
and hit ENTER.
Your MariaDB server is now secured to a decent level.
Step 4: Create an OwnCloud Database
We need to create a database for Owncloud to store files during and after installation. So log in to MariaDB.
$ sudo mysql -u root -p
Run the commands below:
MariaDB [(none)]> CREATE DATABASE owncloud_db; MariaDB [(none)]> GRANT ALL ON owncloud_db.* TO 'owncloud_user'@'localhost' IDENTIFIED BY 'StrongP@ssword'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Step 5: Download OwnCloud in Ubuntu
After creating the database, now download the OwnCloud zipped file using the following wget command.
$ sudo wget https://download.owncloud.org/community/owncloud-10.4.0.zip
Once downloaded, unzip the zipped package to the /var/www/
directory.
$ sudo unzip owncloud-10.4.0.zip -d /var/www/
Then, set permissions.
$ sudo chown -R www-data:www-data /var/www/owncloud/ $ sudo chmod -R 755 /var/www/owncloud/
Step 6: Configure Apache for OwnCloud
In this step, we are going to configure Apache to serve OwnCloud’s files. To do that, we are going to create a configuration file for Owncloud as shown.
$ sudo vim /etc/apache2/conf-available/owncloud.conf
Add the configuration below.
Alias /owncloud "/var/www/owncloud/" <Directory /var/www/owncloud/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/owncloud SetEnv HTTP_HOME /var/www/owncloud </Directory>
Save and close the file.
Next, you need to enable all the required Apache modules and the newly added configuration by running the commands below:
$ sudo a2enconf owncloud $ sudo a2enmod rewrite $ sudo a2enmod headers $ sudo a2enmod env $ sudo a2enmod dir $ sudo a2enmod mime
For the changes to come into effect restart the Apache webserver.
$ sudo systemctl restart apache2
Step 7: Finalizing the OwnCloud Installation in Ubuntu
With all the necessary configurations finalized, the only part remaining is to install OwnCloud on a browser. So head out to your browser and type in your server’s address followed by the /owncloud
suffix.
http://server-IP/owncloud
You will be presented with a web page similar to the one below.
Just below, click on ‘Storage and database’. Select ‘MySQL / MariaDB’ under the ‘configure the database’ section and fill in the database credentials that you defined whilst creating the database for OwnCloud i.e database user, password of the database user, & database name.
Finally, click ‘Finish setup’ to wind up setting up Owncloud.
This takes you to the login screen as shown. Input the username and password defined earlier and hit ENTER.
A notification will be presented indicating other avenues that you can access OwnCloud from i.e iOS, Android & desktop App.
Close the pop-up to access the dashboard as shown:
And that’s it, guys! We have successfully installed the OwnCloud file sharing platform on Ubuntu 18.04.
I Upgraded to 10.8 now everytime it login it will show this Directory
"/"
not found, any idea?Thanks, a friend for the help.
Much Welcome Luis Antonio.
You have an error in link.
should be
@Pablo,
Thanks, corrected the link in the article…
I missed to take mysql/mariadb database and clicked on finish setup. Now how can change and from where I can change the database .
Hi I receive an error: ERROR 1064 (42000): You have an error in your SQL syntax; after the GRANT ALL ON owncloud_db.* TO ‘owncloud_user’@’localhost’ IDENTIFIED BY ‘StrongP@ssword’; command & I don’t know what is wrong, yes I Change the ‘StrongP@ssword’ by my password.
Any tips for me
@Guillaume,
I have corrected SQL syntax in the article, try again it should work now…
After step 2 use “sudo dpkg -l apache2” to check if apache installed or not.
Thank you.
Can’t create or write into the data directory /var/www/owncloud/data.
Can’t create or write into the apps-external directory /var/www/owncloud/apps-external.
Hey Daaf, kindly ensure that you are using sudo in your commands. Also, ensure that you have the right permissions on the /var/www/owncloud directory.
Please add one more step for giving permission.
Thank you.