Free for a year. 8 gig drop box competitor owncloud in a t1.micro instance in EC2. Step by Step

It feels better to have your own cloud instance on your iphone and upload data to EC2.

owncloud

I have to admit that for many things I’m not a big fan of the Amazon cloud. This is mostly due to performance issues using high performance systems inside of EC 2.

That said there are things that run really well in Amazon. I’m sure I can make that list pretty long. Web services being one of them. So I though I should give myself an 8 gig owncloud box instead of dropbox:)

So here’s the step-by-step on how to install owncloud in a t1.micro instance for free in Amazon (again up to a year).

1. Launch an instance (I’ll use ubuntu for this one since it is so popular:))

The star means that it’s free with the micro instance.

There are several good tutorials on how to get your Amazon instance up and running (and it is really easy). Amazon had their own tutorial which was easy to convert to a micro set up. But I guess this link is also okay to follow http://doganberktas.com/2010/11/23/signing-up-to-aws-and-creating-your-first-instance-a-step-by-step-guide/

When you are done: go and associate Elastic IP to your instance. The elastic IP address is free as long as you have it connected to your instance. Make sure that you delete the IP from EBS when you terminate your instance, otherwise it will start to cost money.

Also remember to log in as user ubuntu with your new ssh key.

So I am going to assume that you are now connected with ssh to your newly launched instance:

2. Install a bunch of php and sql for owncloud. My pick (so don’t hold it against me:))

sudo apt-get update

sudo apt-get install libapache2-mod-php5 php-pear php-xml-parser php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-mysql php5-sqlite libaprutil1-dbd-sqlite3 libdbd-mysql-perl libmysqlclient18 libsqlite3-0 mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server mysql-server-5.5 mysql-server-core-5.5 php5-mysql php5-sqlite

3. Now you should have what you need to get owncloud installed.

easiest is just to wget http://mirrors.owncloud.org/releases/owncloud-4.5.1.tar.bz2

and then just expand the tar-ball in your favorite location. Let’s go with /usr/local/owncloud for now.

run

chown -R www-data:www-data /usr/local/owncloud/ *

4. configure your apache2 webserver

run:

a2enmod rewrite

a2enmod headers

edit /etc/apache2/sites-enabled/000-default

#DocumentRoot /var/www
DocumentRoot /usr/local/owncloud
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

you need to change AllowOverride to have apache read those .htaccess files that are used for security in owncloud.

service apache2 restart

5. Last but not least, you need to modify the security-groups and give the instance a public IP.

For this tutorial were just using standard port 80, so just add that to the security policy you used when you created the instance.

6. Connect to owncloud with the IP you got from the Elastic IP association.

I use the MySQL server, but the sqlite works fine as well. So when you access your instance for the 1st time, go under advanced and put in the password, database name for MySQL (you gave the password when you installed MySQL). And of course create your admin password for owncloud.

 

 

 

 

2 Responses to Free for a year. 8 gig drop box competitor owncloud in a t1.micro instance in EC2. Step by Step

  • jorge says:

    There’s no need to manually install owncloud on EC2, Ubuntu has a juju charm to deploy it on the spot!

    http://jujucharms.com/charms/precise/owncloud

  • manikandan says:

    the below link gives you to complete details about installation of owncloud on Amazon EC2
    http://codenread.com/set-owncloud-storage-server-amazon-ec2/

  • Leave a Reply

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

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>