I fell in love with how valuable a file hosting service can be around 2010 by getting introduced to Dropbox.

Being able to access your files on the go and synchronize them between multiple computers was a game changer at a time where Cloud computing wasn’t yet a buzzword.

1) Why should you use an alternative to Dropbox?

Dropbox sadly was also one of the first Cloud providers to violate our trust. And not by a little, with more than 13 massive data privacy issue. (See detail here: https://en.wikipedia.org/wiki/Criticism_of_Dropbox)

In a world where our private data are worth millions, we should always strive to keep them private.

2) How is Owncloud private cloud storage a good alternative?

So that’s where Owncloud(https://owncloud.org/) come into play.
Owncloud is the most notable open source file Sharing software with more than 25 000 customers.

It’s hosted by you and can be encrypted from the client side so even if someone gets physical access to your host they won’t get access to your data.

3) Is it ok to host your private data on AWS EC2?

I first started by hosting my private cloud on an old laptop at home but quickly decided to host it on an AWS EC2 for three reasons:
– I didn’t want to have a computer running 24h/24h at home with a firewall port open. But if you can do that I’ll strongly recommend it!
– AWS EBS Cold HDD hard drives are cheap and encryptable. (You can run it for free if you are free-tier Eligible https://aws.amazon.com/free/ up to 30Gb)
– Owncloud can be set to be end-to-end encrypted so even if someone would access the EC2 host they would not have access to your files. (https://owncloud.org/gdpr/)

4) How to install your encrypted private file storage on AWS EC2 with Owncloud?

  • Create a free account and connect to your AWS console: https://console.aws.amazon.com/
  • Navigate to EC2 and launch Instance
    • Step 1: Choose AMI: Choose the last Amazon Linux AMI available
    • Step 2: Choose Instance Type: Select the t2.micro size then click next
    • Step 3: Configure Instance Details: Keep default.
    • Step 4: Add Storage:
      • Set the root hard drive as 8Gb Magnetic
      • Add New Volume: EBS /dev/sdb/ Choose the size of the hard drive you’ll need in Ebs Cold HDD (SC1) (Lowest cost HDD volume designed for less frequently accessed workloads) – You can set it as encrypted
    • Step 5: Add Tags(Optional) : Add a Name Key and a Value: MyOwnCloud
    • Step 6: Configure Security Group:
      • Create a new security group name: OwnCloudSecurityGroup
      • Add a rule to have SSH, HTTP, HTTPS from everywhere
    • Review and launch
    • Create a new key pair to be able to access your instance with SSH (and download it)
  • Set an Elastic IP to your instance
    • On the EC2 console navigate to Elastic IP
    • Allocate new address
    • Name it (example OwnCloudElasticIP)
    • Select it and then Action > Association Address > Select your instance > Associate
  • Install Owncloud on your instance through ssh

If you are setting it with a custom domain name, you own and want to setup SSL. Set it up as follow:

  • Configure your owncloud
    • go to your_ip/owncloud
    • Set an admin user password
    • Select storage database
    • Set the storage as /owncloudDisk/
    • Set your clouddbuser as MariaDB DB information

That’s it your Owncloud is ready to use.

Don’t forget to activate encryption in your settings and feel free to comment if something went wrong!