Site icon DesignLinux

How to Install OwnCloud to Create Own Cloud Storage in Linux

Cloud storage stands for a virtualized pool of network storage most commonly hosted by third parties. Cloud storage is a network-based service that physically does not exist but remains somewhere in the cloud. To be more clear, cloud storage means sharing data over a network, rather than having local servers or personal devices.

Cloud storage is all around us in our smartphones, on desktops and servers, etc. The Dropbox application which is now available on smartphones is nothing but a cloud storage application. Google Drive is another cloud storage application that lets you store and access your stored data from anywhere and anytime.

[ You might also like: 16 Open Source Cloud Storage Software for Linux ]

This article aims at – Building your personal cloud storage using your ownCloud application. But what is the need of building a personal cloud when there is third-party hosting? Well, all the third-party hosting limits you to work with the given configuration and storage limit.

The ever-expanding list of photos, videos, mp3’s of storage is not sufficient, moreover, cloud storage is a relatively new concept and there are not many third-party cloud storage hosts and the available one is too much costly.

OwnCloud Community has recently released their special release ownCloud 10. They have come up with incredible changes in terms of quality, performance, and innovations to provide an excellent cloud experience with “ownCloud“. If you are already working with its older version, you’ll definitely experience significant improvements in Document handling.

What is ownCloud

ownCloud is a free, open-source, and powerful web application for data synchronization, file sharing, and remote storage of files. ownCloud is written in PHP/JavaScript languages, which is designed to work with several database management systems, including MySQL, MariaDB, SQLite, Oracle Database, and PostgreSQL.

Moreover, owncloud can be deployed on all known platforms viz., Linux, Macintosh, Windows, and Android. In short, it’s a robust, platform Independent, flexible in terms of configuration and usability, easy-to-use open-source Application.

Features of owncloud

What’s New in ownCloud 10

System Requirements

For higher performance, stability, support, and full functionality we recommend the following things:

  1. Minimum 128MB RAM, recommend 512MB.
  2. RHEL/CentOS 7/8, Fedora 29+, Ubuntu 16.04, 18.04 and Ubuntu 20.04, Debian 8/9 and 10.
  3. MySQL/MariaDB 5.5+.
  4. PHP 5.4 +
  5. Apache 2.4 with mod_php

Step 1: Install ownCloud Storage in Linux

In order to set up your own personal cloud storage (ownCloud), you must have the LAMP (Linux, Apache, MySQL/MariaDB, PHP) stack installed. Other than the LAMP stack you might need Perl and Python-based upon your use.

On Debian/Ubuntu/Linux Mint
---------------------- For MySQL Server ----------------------
$ sudo apt install -y apache2 libapache2-mod-php mysql-server openssl php-imagick php-common php-curl php-gd php-imap php-intl php-json php-mbstring php-mysql php-ssh2 php-xml php-zip php-apcu php-redis redis-server wget

---------------------- For MariaDB Server ----------------------
$ sudo apt install -y apache2 libapache2-mod-php mariadb-server openssl php-imagick php-common php-curl php-gd php-imap php-intl php-json php-mbstring php-mysql php-ssh2 php-xml php-zip php-apcu php-redis redis-server wget
On RedHat/CentOS/Fedora
---------------------- For MySQL Server ----------------------
$ sudo yum install -y httpd mysql-server openssl php-imagick php-common php-curl php-gd php-imap php-intl php-json php-mbstring php-mysql php-ssh2 php-xml php-zip php-apcu php-redis redis-server wget


---------------------- For MariaDB Server ----------------------
$ sudo yum install -y httpd mariadb-server openssl php-imagick php-common php-curl php-gd php-imap php-intl php-json php-mbstring php-mysql php-ssh2 php-xml php-zip php-apcu php-redis redis-server wget

Once you set up the LAMP stack on your personal box, next you need to enable and start the Apache and MariaDB service.

--------- On Debian based Systems ---------
$ sudo systemctl enable apache2 mariadb
$ sudo systemctl start apache2 mariadb

--------- On RedHat based Systems ---------
$ sudo systemctl enable httpd mariadb
$ sudo systemctl start httpd mariadb

The default MariaDB settings are not secure enough, so you need to run the security script to set a strong root password, remove anonymous users, disable remote root login, remove the test database, and finally save the changes made.

$ sudo mysql_secure_installation
Secure MariaDB Installation

Step 2: Create ownCloud Database

Now login to the database server using the password that you recently set.

sudo mysql -u root -p

Now we will be creating a database (say owncloud) with a new user.

MariaDB [(none)]> create database owncloud;
MariaDB [(none)]> grant all on owncloud.* to [email protected] identified by 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> Quit;

Step 3: Download and Install ownCloud Application

Now it’s time to Download the latest ownCloud (i.e version 10.7.0) application using the wget command to download the source tarball package.

$ cd /var/www/html
$ sudo wget http://download.owncloud.org/community/owncloud-latest.tar.bz2
$ sudo tar -xjf owncloud-latest.tar.bz2
$ sudo chown -R www-data. owncloud

Step 4: Configuring Apache for ownCloud

For security purposes, ownCloud uses Apache‘s .htaccess files, in order to use them. We need to enable two Apache modules mod_rewrite and mod_headers for our ownCloud to function properly. Type the following command to enable these modules under Debian-based systems only, for RedHat systems they are enabled by default.

$ sudo a2enmod rewrite
$ sudo a2enmod headers

Additionally, we need to enable mod_rewrite rules to work properly under Apache‘s main configuration file. Open the Apache global configuration file.

# vi /etc/httpd/conf/httpd.conf			[For RedHat based Systems]

There, find “AllowOverride None” and change this to “AllowOverride All” as shown.

AllowOverride None

Change this to:

AllowOverride All

Now we need to restart Apache to reload new changes.

# service apache2 restart			[For Debian based Systems]
# service httpd restart				[For RedHat based Systems]

Step 5: Access ownCloud Application

Now you can access your very personal cloud storage at:

http://localhost/owncloud
OR
http://your-ip-address/owncloud

Once you get the Owncloud page, you need to create an admin account and a Data folder location, where all files/folders will be stored (or leave default location i.e. /var/www/owncloud/data or /var/www/html/owncloud/data). Next, you need to enter mysql database username, password, and database name, refer to the screenshot below.

OwnCloud Installation Wizard

Once all the correct values are entered, click Finish and your private cloud storage is ready, you are greeted with the working interface:

OwnCloud Admin Dashboard

Notice the Favorites, edit, share, download, upload, and new file options available for a file.

Upload Files to OwnCloud Storage

Activities log of oneself and others.

Owncloud Activity Log

Pictures library.

My Owncloud Picture Library

Apps enable and disable interface as well as a recommendation with a brief introduction.

Enabled Application

Inbuilt PDF reader.

PDF Reader

From this admin panel, you can view security and setup warnings, Federated cloud sharing, Mail Templates,
Updater, Cron, sharing, Security, Email Server, Log, etc.

Security Setup Warning

User and Group information with quota.

User Group Quota

Note: You can add users or imports user account, change password, assign user role and allocate space by clicking the Gear icon on the left bottom of the page.

You may now add folders, sync media files are its pictures, images, and videos from the mobile application. Owncloud lets you add new users, and sync calendars, contacts, Media files, etc.

It also has a built-in MP3 Player, PDF Viewer, Document Viewer, and a lot many which is worth a try and explore. So what are you waiting for? Become a proud owner of private cloud storage, give it a try!

Upgrading to Owncloud 10 from Older Versions

To update the earlier version of your own cloud to 10, you need to first update the old own cloud to the latest point release of the same version.

For example, if you’re using owncloud 8.0.xy (where ‘xy‘ is the version number), you need to first update to 9.0.x of the same series, and then you are able to upgrade to owncloud 10 using the following instructions.

Updating to Owncloud 10 form Older Versions

  1. Making a proper backup of everything is always suggested.
  2. Enable the updater plugin (if it is disabled).
  3. Go to Admin Panel and fire update.
  4. Refresh page using ‘Ctrl+F5‘, you’re done.

If the above procedure doesn’t work, you can do a full upgrade to update to the newest point release (see ‘Upgrade‘ instructions below).

Else, if you’re already using Owncloud 7, 8, or 9 and want to update to Owncloud 10, you can follow the below same ‘Upgrade‘ instructions to get the latest version of Owncloud.

Upgrading Old OwnCloud to OwnCloud 10 Latest Release

  1. Update your owncloud version to the latest point release of your version.
  2. Not to Mention, Make a full backup before upgrading.
  3. Download the latest tarball using the wget command.
# wget http://download.owncloud.org/community/owncloud-latest.tar.bz2
  1. Deactivate all native and third-party applications and plugins.
  2. Delete Everything from the owncloud Directory except DATA and CONFIG directory.
  3. Untar the tarball and copy everything to the root of your owncloud directory within your working directory.
  4. Grant required permissions and run Upgrade from the Next page and it’s done!.
  5. Don’t forget to install and enable Third-party Applications and plug-ins only after checking the compatibility with the current version.

So what are you waiting for? Install the latest owncloud project or upgrade your last version to the latest and start using it.

That’s all for now. Don’t forget to provide us with your valuable feedback in the comments. I’ll soon be here with another interesting article, you people will love to read. Till then Stay tuned, connected to tecmint, and healthy. Like and share us, help us get spread.

Exit mobile version