ownCloud is a free and open-source web application for data synchronisation, file sharing and remote storage of documents (cloud storage).

ownCloud is written in PHP and javascript languages

This is a great alternative to the other storage based cloud solutions as it is a “fully manage yourself” solution. As long as you trust the host you reside the data on.


  • Manage yourself solution
  • Cheaper than other storage based cloud providers


I don’t add it to any of the steps below but you can in fact encrypt your data on the /var volume using the in built encryption methods within Linux. This can prove to be invaluable especially if you don’t know the history of the VPS you are using (if you are using a VPS). Add SSL encryption and you have quite a secure method of not only storing data on the cloud but also encrypting the transmission of the data to your devices.


Lets look at what you need in order to get your ownCloud server up and running. There are a number of things you need, namely the hardware required. Here is a full list:

  • A spare machine to install ownCloud on
  • Enough hard drive space to fit the operating system and cloud data
  • A good quality internet connection with good upload and download speeds to help sync speeds
  • (Optional but helps) A static IP address otherwise you will need to use a dynamic IP service such as DynDNS
  • Access to your router/firewall to NAT ports to the server

This Example

In this example I will be installing ownCloud on the following:

  • VMware ESX 5.1
  • Linux Debian Wheezy (7)

You can step past the steps should you have a operating system (such as a VPS) already available.


  • File storage
  • WebDAV support
  • Cryptography
  • Synchronisation of clients
    • Windows XP
    • Windows Visa
    • Windows 7
    • Windows 8
    • Mac OS X
    • Linux
  • Calendar
  • Task scheduler
  • Address book
  • Music streaming
  • Photo gallery
  • PDF viewer

Creation of Virtual Machine

Start by creating the virtual machine, enter the name below

I am giving the guest server SSD disk to run the operation system only.

Select Virtual Machine Version 8 unless you need backwards compatibility to older VMware ESX host versions

Select “Linux” and select the Linux flavour, in my case I am using Debian 7 x64 but Debian 6 x64 will do.

Select processor usage, I am not expecting high load so one vCPU is sufficent

Allocate RAM allocation, from what I have read 512MB is the minimum. I will be using 1GB.

Select the virtual network you wish to allocate to the virtual machine

Select the SCSI adapter you wish to use

Create a new virtual disk

Allocate the guest OS disk size and provisioning type, I left it at 16GB for the guest OS as it will be headless and selected thin provisioning to save allocated space and allow grow on demand

Select SCSI allocation, I recommend leaving as default unless you need to change for a reason

Review summary, if everything is okay select “Edit the virtual machine settings before completing”

Select floppy drive and select remove (not needed)

Select the CD/DVD Drive and browse to the distribution ISO you wish to install and click on “Connect at power on”

(Optional) Add a second disk, in my case I added 100GB and placed on storage disk and assigned it as Thin provisioning to save space

(Optional) Select the Options tab, click on “Memory/CPU Hotplug” and enable both Memory and CPU hotplug should you need to increase resources without powering off the server

Installing Operating System

Power on the virtual machine and click “Install”

Select language

Select Country

Configure keyboard keymap

If DHCP is not available on the network you will be presented with the following error, select “Continue”

Select “Configure network manually”

Assign unallocated IP address, the following is just an example

Assign subnet, the following is just an example

Assign reachable gateway, the following is just an example

Assign DNS address, the following is just an example

Name the server with a hostname, I recommend keeping it simple and use the name of the function of the server, such as OwnCloud

Specify domain name (not really required), the following is just an example

Input a root password, use something complicated with upper case and lower case, symbols and numbers and make it at least twelve characters long

Re-enter root password

Enter your full name, the following is just an example

Enter your desired username, the following is just an example

Enter the usernames password

Re-enter the usernames password

Select state or province

Change the selection to a manual partitioning method

Select the Operating System disk to partition, in my example it is sda

Select yes to create a new empty partition

Select the partition to configureSelect “Create a new partition”

The first partition to make is Swap, which will be set at three times the size of RAM which in my example is 3GB

Change type to “Logical”

Select “Use As” 

Select “swap area’Select “Done setting up the partition”

Select “pri/log FREE SPACE”

Select “Create a new partition”

Change to “max”

Select “Primary”

Select “Bootable flag”

Select “Done setting up the partition”

Select “sdb”

Select “Yes”

Select “pri/log FREE SPACE” on sdb

Select “Create a new partition”

Change size to “max”

Change to “Logical”

Select “Mount point”

Select “/var”

Select “Done setting up the partition”

Verify partition structure is the same as this example
Select “Finish partitioning and write changes to disk”

Select “Yes” to write changes to disk

Select “No” to not scan CD or DVD

Select “Yes” to use a network mirror

Select country of mirror

Select archive mirror

Select “Continue” unless you require a proxy to connect to the internet

Select “No” to participate in the package survey

Unselect all packages

Select “Yes” to install GRUB

Click “Continue” to finish installation

Installing OwnCloud

There are packages that OwnCloud depends on in order to run, we will install and configure these manually.


Install Sudo

Install OpenSSH

Install Apache

Install MySQL

Install PHP

Browse to http://yourserverip/info.php

Install ownCloud

Create mySQL Database

Select “apache” and click OK

Browse to http://serverip/phpmyadmin

Click on “Databases”

Type a name for the new database and click “Create”

Click on “Check Privileges” next to the database you created

Click “Add User”

Type in the username
Check Host to “Localhost”
Type and retype the password
Click on “Grant all privileges on database <database name>
Click on “Check All”
Click on “Go” at the bottom right on the screen

Install ownCloud

Browse to http://yourserverip/owncloud

  • Drop down the Advanced
  • Change to mySQL database
  • Enter database username
  • Enter database password
  • Enter database name

Should you have any questions, comments or suggestions, please don’t hesitate to comment below. If you like what you have read, please share it on your favourite social media medium.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.