Cloud is what everyone is talking about. We have a number of major players in the market that are offering cloud storage as well as other cloud based services. But we can also create a personal cloud for ourselves.
In this tutorial we are going to discuss how to create a personal cloud using OwnCloud. OwnCloud is a web application, that we can install on our Linux machines, to store & serve data. It can be used for sharing calender, Contacts and Bookmark sharing and Personal Audio/Video Streaming etc.
For this tutorial, we will be using CentOS 7 machine but this tutorial can also be used to install ownCloud on other Linux distributions as well. Let’s start with pre-requisites for installing ownCloud,
(Recommended Read: How to use Apache as Reverse Proxy on CentOS & RHEL)
(Also Read: Real Time Linux server monitoring with GLANCES monitoring tool)
Pre-requisites
- We need to have LAMP stack configured on our machines. Please go through our articles ‘Easiest guide for setting up LAMP server for CentOS/RHEL & Create LAMP stack on Ubuntu .
- We will also need the following php packages installed on our machines,’ php-mysql php-json php-xml php-mbstring php-zip php-gd curl php-curl php-pdo’. Install them using the package manager.
$ sudo yum install php-mysql php-json php-xml php-mbstring php-zip php-gd curl php-curl php-pdo
Installation
To install owncloud, we will now download the ownCloud package on our server. Use the following command to download the latest package (10.0.4-1) from ownCloud official website,
$ wget https://download.owncloud.org/community/owncloud-10.0.4.tar.bz2
Extract it using the following command,
$ tar –xvf owncloud-10.0.4.tar.bz2
Now move all the contents of extracted folder to ‘/var/www/html’
$ mv owncloud/* /var/www/html
Next thing we need to do is to make a change in apache configuration file ‘httpd.conf’,
$ sudo vim /etc/httpd/conf/httpd.com
& change the following option,
AllowOverride All
Now save the file & change the permissions for owncloud folder,
$ sudo chown -R apache:apache /var/www/html/
$ sudo chmod 777 /var/www/html/config/
Now restart the apache service to implement the changes made,
$ sudo systemctl restart httpd
Now we need to create a database on mariadb to store all the data from owncloud. Create a database & a db user with the following commands,
$ mysql –u root –p
MariaDB [(none)]> create database owncloud;
MariaDB [(none)]> GRANT ALL ON owncloud.* TO ocuser@localhost IDENTIFIED BY 'owncloud';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
Configuration part on server is completed, we can now access the owncloud from a web browser. Open a browser of your choosing & enter the IP address of the server, which in our case is 10.20.30.100,
As soon as the URL loads, we will be presented with the above mentioned page. Here we will create our admin user & will also provide our database information. Once all the information has been provided, click on ‘Finish setup’.
We will than be redirected to login page, where we need to enter the credentials we created in previous step,
Upon successful authentication, we will enter into the ownCloud dashboard,
We can than use mobile apps or can also upload our data using the web interface. We now have our own personal cloud ready. We now end this tutorial on how to install ownCloud to create your own cloud. Please do leave your questions or suggestions in the comment box below.
If you think we have helped you or just want to support us, please consider these :-
Connect to us: Facebook | Twitter | Google Plus
Donate us some of you hard earned money: [paypal-donation]
Linux TechLab is thankful for your continued support.
Why not to use forked Nextcloud, which seems to progress more rapidly?
What we mentioned here is one of many tools we can use for creating cloud. Nextcloud is also a good option & we will be sharing a tutorial for that as well soon.
ownCloud / Nextcloud are interesting, but without a client for pc or integration with samba share it is hard to use
Hi Will it be possible to do a tuto on Nextcloud, but using ssl https and not regular http. ?
thanks
Thanks for the suggestion, we will surely look into this.