Your own website for next to nothing

I’m just starting to build my own website, so for those interested you can follow along in this series of tutorials. Not sure when this will be finished, but hopefully not in the too distant future.

The point of this tutorial is to show how a website can be built and hosted for free, with the only costs being Domain name registration costs, about $7.00 per annum with say godaddy.com . So it is virtually open to anyone with a computer.

The hosting will be supplied on the cloud by one of the best companies in the world able to do this, Google. Google has a web framework called Google App Engine, which is based on Django, a python web framework. Google supplies this service free, as long as the bandwidth and cpu time are within certain limits http://code.google.com/appengine/docs/quotas.html#Free_Changes. For a simple site most of us are unlikely to exceed these limits. At the moment daily allowed bandwidth is up to 1 gig with 6.5 hours of CPU time.

Software

IDE should definitely be pydev and eclipse, as pydev has a wizard especially for google apps engine. http://pydev.blogspot.com/2009/05/testing-on-pydev-146-google-app-engine.html. See also my thread here about eclipse and pydev http://blenderartists.org/forum/showpost.php?p=1462591&postcount=19 and an older thread about eclipse pydev and google apps engine http://code.google.com/appengine/articles/eclipse.html. This last may no longer be that relevant, with the newer pydev wizard.

Google apps engine SDK can be downloaded from here http://code.google.com/appengine/

For developing css I may use the python based cssutils http://code.google.com/p/cssutils/ or perhaps something like clevercss may be useful http://sandbox.pocoo.org/clevercss/

Not sure if I will do any javascripting for my site but if I do I will definitely be trying out pyjamas, since I’m not that familiar with javascript. Pyjamas is python-to-javascript compiler with a web widget set pyjamashttp://code.google.com/p/pyjamas/ .

Purchasing Your Domain Name

Searching for domain names that are not taken can be somewhat risky. I would not use a website that supplies a whois service. They are liable to scrape your entries. It is reported that some ISP’s will scrape whois enquiries, so using whois is not always advisable. I would try gandi.net for searching, which as far as I know has a good reputation. Registering with gandi.net is more expensive then godaddy.com, but gandi is supposed to have some advantages, for instance if you accidentally let your domain name expire, gandi will keep it for you for some time afterwards.

If you like you can still search on gandi but register with godaddy. I’ve previously purchased my domain name, lets call it YOURDOMAIN.com from godaddy.com .

You can also search and buy a domain name from google when you sign up for google apps, see below.

Googles Apps

Next get a google apps account:


Sign up for this and enter your domain name “YOURDOMAIN.com” or subdomain such as “apps.YOURDOMAIN.com” if you want to use the full domain for something else. At this point you can also choose google to search for a domain name, and purchase it from google for $10.00/annum.

Follow the rest of the instruction until at some point google requires that you verify that you own the domain, so if it is a new domain choose the cname record change rather than the html option for verification. This video explains how to do this with godaddy http://www.youtube.com/watch?v=i_8QUrhI5fQ&feature=related. Briefly for godaddy.com near the top find the tab Domains/My Domain and log in, then select your domain and look for Total DNS and click on the Total DNS Control link. Then select “add new cname” record and follow the instructions given by google. Once finished log out of godaddy.com

There is also a video about how to set up other cname records: http://www.youtube.com/watch?v=6gmWYyrXC0U. Other related videos from these guys about google apps may be worth perusing.

To have your own email address such as [email protected] hosted by google in their nice gmail format you need to alter the mx records at godaddy as well http://www.google.com/support/a/bin/answer.py?hl=en&answer=33352http://www.google.com/support/a/bin/answer.py?hl=en&answer=48090#J

If you have purchased your domain from google then all the cname changes are done for you.

You can now sign in to appengine by following this url https://appengine.google.com/a/<YOURDOMAIN.COM>/ and verify using your mobile phone number. Then create an application and give it a name.

Until we load an application we cannot actually use the google apps domain to deploy the application so I guess next up should be a simple hello world application.

There’s definitely a lot to like about appengine. It might be worth mentioning though that it won’t run standard blog, forum, or wiki software, since Google has their own special database API, and they allow only Python or Java (and not e.g. php). But if you can work within those constraints it is a pleasure to use. Sornen, are you using appengine for a blender-related site?

Yes it will be a blender related site, but in what way I haven’t decide yet.
If you want to get a feel for how appengine works then read this Django tutorial:
http://docs.djangoproject.com/en/dev/intro/tutorial01/
But as Paulfitz noted there are some difference. The main one is that appengine does not use an SQL database, but a special Google database, the one they use for their search engines. Because it is built for speed over multiple servers it has various limitation compared to SQL. Also, because of security concerns not everything in the standard library has been ported to work with appengine. However, neither of these results in much limitation for building a website.

Double post