Tuesday, September 15, 2009

Deploying RapidSMS

Oh help me Thomas Jefferson - patron saint of secular humanists...

This morning I am working from under the mosquito net of my lovely bed at the lovely kiboko town hotel. Now that Kiboko gets wifi (at the steep price of $13/5 hrs) - I am a bit happy. It means I dont have to sit at the internet cafe (which is not really a cafe).

For the past 3 days I have been trying to run the new version of rapidsms on the servers here in Lilongwe. This is difficult because I cannot access ssh through the UNICEF firewalls. The firewalls keep everyone from sshing out -but seem unable to prevent viruses from coming in (as seen my the prevalent nakedlady.vbs virus on my unicef computer). I am going to change all my passwords when I return to the US.

So I have to do all this server work at night, or if I am lucky enough to get a ride to UNICEF headquarters - on the mian server there - in the server farm. This the story of my rapidsms server deployment.

1) Monday night 6:30 (started late because of blackout) - log in to malawi rapidsms server attempt to run django - oops no django wget django tarball (this takes 20 min). update git (this takes 20 min) down load rapidsms source from git. oops - git does not seem to work. ok lets try http://git. oops git says I have a commit error - damn! open up rapidsms source code - pull commit (oh nothing to commit - wtf)
ok what else is going on - try ssh into git. ok git recognizes my ssh. Oops its 8:30 - blackout - time for green beer.

2) Tuesday 4:30 finally get a lift to unicef server. This was difficult because all drivers were in the field save 1, so the illustrious Stanley, savior of the RapidSMS Malawi Project, gave me a lift. Ok I copied a tarball of my code onto a usb drive because i dont know wtf is up with git. Ok how do I mount again. oh no need to mount i see my tarball. Wha - I cant unpack it - there is a problem .... ok lets recopy a version on to the usb hard drive. plug in the usb - where is my tarball? crap i need to mount - how do you mount again. Due to nice unix guis - I have not mounted since 2003. ok mount /src /dst -f usbfs . something like that. where are my files! Crap. Oh its 5:30 - have to get home before dark - there is Stanley - ok will try and get git to work from internet cafe. Look Stanley - I need to work from the hotel tomorrow because I cannot use any of my programming tools from unicef and I am going bonkers.

3) At Kiboko - suffering from Shaka's revenge - is it the water or the nali sauce or belharzia - who knows?

ok after dashing off some emails that go ignored in the noosphere (did I mention how my petpeeve is people not responding to email) - ssh -vv, ok. I look at the config file - ok what is going on here - we are sshing on port 443???? lets blow all this away and generate some new ssh keys and link it with my git hub (this took an hr to figure out) after trying various other things. ok now git works - 20 min later i have rapidsms on malawi. I shut down the rubysms site - which does not really matter because the UI has not updated in 4 months. Ok lets run this sucker - where is the webserver? oh - need to download apache - oh no - rapidsms uses cherrypy - phew -ok cant set the ip to malawi.rapidsms.mepemepe.com hmmm.. hacked the cherrypy ok that does not work - lets look at other peoples rapidsms.ini - where do i set the server name. Perhaps adam knows - but i think he has been eaten by hungry gorrillas in Uganda.

after intense googling i email the rapidsms group -but in the back of my mind i think - dns issue - this is some dns issue - so i fire up trusty ifconfig to find my ip. then i see it and i say ./rapidsms runserver static_ip_address:8000. Now I need to map this. But you know what, I forget how to do it - and will leave that to the dev we hired. Perhaps I should have brought my unix sys admi purple book with me... So the site is now up on a super secret ip address. I had to remove the io functionality - because the version of python does not have it and i am not installing a new version of python. Actually Matt Berg caught this bug 2 weeks ago- but i thought my server could handle python io - I was wrong. I replaced it with something else that may totally crap out - we will see. At least the site is up! I am ready for the field

almost 12pm Malawi time - need to pay my hotel bill and go to the UNICEF office - where I can rewrite the training posters.
tomorrow going to the field I think - and friday hiring a local developer to test/bug/fix and set my mind at ease- and then hop a plane to JFK. On the plane i look forward to finishing some as3 projects that I have put off because this rapidsms became a many headed hydra guarded on all sides by sychlla charbidis and other mixed metaphors and mythological creatures.

Returning home to 13Bit, where I can finish our current movie, and continue working on the docs in progress - automate my e-trading option strategy, finish some web2,0 apps, some iphone games, and of course start selling some ace ICT projects with my crack team of project managers and developers

I send love into the world

No comments:

Post a Comment