ownCloud is a web suite that provides a cloud storage over the network, data can be uploaded via web browser or using software client. Data will be stored on the server and can be downloaded or access any time with browser. The project is based on PHP and a SQLite, MySQL, Oracle or PostgreSQL database, so it can run on all platforms that meet these requirements. It provides almost all possibility of functions that are available on commercial suites; it is released under AGPLv3 license, so you can setup own cloud storage server without any additional cost; commercial version of ownCloud is also available.
The following are the list of features available on ownCloud.
- File storage in conventional directory structures (also via WebDAV)
- Synchronization of personal computers
- Calendar (also as CalDAV)
- Task scheduler
- Address book (also as CardDAV)
- Music streaming (through Ampache)
- User and group administration (via OpenID or LDAP)
- Sharing of content across groups or public URLs
- Online text editor with syntax highlighting and code folding
- URL shortening Suite
- Photo gallery
- PDF viewer (using pdf.js)
- Viewer for ODF Files (.odt, .odp, .ods)
New Features in ownCloud 5:
- New User interface
- Restore Deleted files.
- contact groups
- New powerful search
- File Version
- Mount External Storage (Dropbox, FTP, Google docs etc)
- Migration and backup
- Application store
Here is the small guide to setup ownCloud 5 on CentOS 6.
As mentioned earlier, it is based on PHP and database combination, database can be any of the above four. So install PHP, Apache web server and MySQL server on CentOS 6. For demo purpose i installed both SQLite and MySQL on CentOS, we will talk about reason behind later.
yum install httpd php php-mysql mysql-server mysql sqlite php-dom php-mbstring php-gd php-pdo
vi /etc/selinux/config SELINUX=disabled
Download and Setup:
Download ownCloud from official website or enter the fallowing command on terminal.
Extract the archive.
tar -jxvf owncloud-5.0.5.tar.bz2
Move ownCloud under Apache server document root.
mv owncloud /var/www/cloud
Allow the web server to read and write the files on cloud directory.
chown -R apache.apache /var/www/cloud/
Create Database: (Optional)
MySQL server must be started before creating the database, login to MySQL server.
mysql -u root -p
Create database called “clouddb”
create database clouddb;
Allow “clouddbuser” to access the “clouddb” database on localhost with predefined password.
grant all on clouddb.* to 'clouddbuser'@'localhost' identified by 'password';
Configure Apache server:
While configuring Apache web server, it is recommended that you to enable .htaccess to get a enhanced security features, by default .htaccess is disabled in Apache server. To enable it, open your virtual host file and make AllowOverride is set to All.For example, here i used external config file instead of modifying main file.
Add the following.
Alias /cloud /var/www/cloud/
Options Indexes FollowSymLinks
allow from all
Remember to restart all services related to Apache server.
Open up web browser, point a URL to http://127.0.0.1/cloud ( http://Your-custom-domain). Browser will automatically take you to ownCloud setup page where it must be configured before going to live. Enter admin user name, password, data folder location and database details. You can choose any one of the database from SQLite or MySQL. If you choose SQLite database, you do not require to enter database details.
where as MySQL database requires database user, password and data base name.
Now you can start upload a file via browser, alternately you can download ownCloud client to upload the files.