2 Sep 2008

Getting domains (both www, and naked domains) setup properly on Google App Engine is not a straightforward affair; it has several gotchas. This quick guide summarizes the process I use with the following four actors: Enom (domain registrar), DynDNS (DNS provider), Google Apps (domain management and other apps for your domain), and Google App Engine (your actual app).

Get the necessary accounts

  1. Make sure you have a Google App Engine app setup and note its app id from the dashboard at appspot.com.
  2. Register your domain name with Enom
  3. Get a CustomDNS service from DynDNS.
  4. Get a Google Apps account.

Domain configuration (Enom)

  1. Configure the DNS servers to point to DynDNS. Under Manage Domain → DNS Server Settings set name servers 1 - 5 to point to ns1.mydyndns.org, ns2.mydyndns.org, etc.

DNS configuration (DynDNS)

  1. Add four Hostnames for the naked domain (i.e., yourdomain.com without the www) and have them point to IP addresses 216.239.32.21, 216.239.34.21, 216.239.36.21, and 216.239.38.21.
  2. Add CNAMES for all services you want to use Google Apps for. If you just want to use your Google App Engine app, create a CNAME ("Add Alias (CNAME)") for www.yourdomain.com and point it to ghs.google.com. I also add CNAMES for all the other Google Apps (docs, mail, start, etc. as docs.yourdomain.com, mail.yourdomain.com, etc.)
  3. Add the following three Mail Exchangers by clicking the Edit MX List button: ASPMX.L.GOOGLE.COM, ASPMX.L.GOOGLE.COM, ALT2.ASPMX.L.GOOGLE.COM.
  4. Under preferences, make sure you force activate your zone.

Google Apps configuration

  1. In Google Apps, make sure that your Control Panel is set to "Current version" under the Domain Settings tab. This is important. Your control panel version must not be set to "Next version".
  2. Go to Dashboard → Add more services (the link next to the Service Settings title) and enter your Google App Engine App ID under Other Services → Google App Engine and click the Add it now button.
  3. On the next screen, add the following URL: temp.yourdomain.com (do not enter yourdomain.com).
  4. Repeat Step 2 and this time click the Add new URL link and add yourdomain.com
  5. Repeat Step 2, click the Add new URL link again, and add www.yourdomain.com
  6. Repeat Step 2, and delete temp.yourdomain.com

(Special thanks to Robert Little and Akash Xavier for the information in this section.)

Google App Engine configuration

  1. Sign in to your application via appspot.com.
  2. Click the Administration → Versions link.
  3. Click the Add Domain... button under the Domain Setup section
  4. Add yourdomain.com in the domain name box and click the Add Domain... button

That's it, having followed those -- oh, nineteen or so simple steps -- you should now have your domain setup properly for Google App Engine. Not only that but your mail and other apps should be working properly through Google Apps.

Add Your Comment

Spam Protection by WP-SpamFree

A quick guide to domain name setup on Google App Engine

  1. Thank you soooooooooo much for this post.

    chrisaiv
  2. Very helpful
    I can not found this info on GAE help sites(docs, groups, blog).
    Thanks a lot.

    Nick
  3. Hi Aral,
    This is really helpful. However, after using your instructions again I think Google may have changed their Apps process and you might need to add a couple of points between 10 & 11.
    10a. Add domain by going to ‘Domain Settings’ tab > ‘Domain names’ > ‘Add a domain alias’. Enter yourdomain.com in the box and proceed to the verification process.
    10b. After your domain name is verified (my CNAME verification took about 10mins on a domain I registered about 1.5Hrs ago!) you can move on to step 11.

    BTW Step 13 doesn’t seem to be possible any more (their interface won’t allow blank, * or anything else I could think of) which is a real shame – we all love naked domains! I guess I’ll have to set up URL forwarding in my DNS which is a bit messy.

    Thanks for the info.
    Cheers,
    James

    Stag do ideas man
  4. Is this a good way to do it, I mean, will this work forever or suddenly break on me when someone changes something, like google changes something?

    Philip Andrew
  5. What about this ?

    http://code.google.com/appengine/articles/domains.html

    It lets you have a appid.domain.com where domain.com is your domain.
    It seems to be the “google” way to do it.

    Philip Andrew
  6. What is section 2? there is no section 2

    N/a
  7. Hi Aral,

    Firstly thanks for the guide – it was a beacon of light in the otherwise murky and undocumented world of appengine and dns.

    We’ve set up our site almost as suggested with the exception of being unable to set up the naked domain (even using the current version hack suggested), it looks like that may no longer work through googles interface.

    As a compromise we set up a webhop in dyndns to point from mydomain.com to http://www.mydomain.com (this gives a 302 redirect). It’s giving inconsistent results sometimes pointing straight to the naked domains we set up a the start so we wanted to remove those. I think this would be ok but I was wandering if there is any other reason we need them (I’m referring to the 216.239.32.21 google nameservers. Any help is greatly appreciated.

    thanks
    richard

    richard