Wakanda Server on Gandi VPS

Alastair Aitken 9 November 2011 1




Wakanda logoWakanda is a full Javascript stack which we looked at previously and is currently in developer preview (DP2). Whilst not in full release yet, it’s a good time to start learning about production deployment.

Wakanda includes an HTTP server so deploying onto a shared host will probably be unsuccessful or problematic at best. Full control over the environment is desirable when deploying Wakanda; a virtual private server (VPS) will probably be the most economic choice.

Gandi logoThere are plenty of options in the VPS market but for this exercise we’ll go with Gandi VPS. Primarily known as a domain registrar, why pick Gandi rather than, say, EC2?  There’s more to it than the concept of choosing a France-based company to host a France-based companies’ framework! Because Gandi is European-based rather than US-based it isn’t subject to the US PATRIOT Act which permits secretive sequestration of individuals’ data by the US government and we don’t want to be in violation of the European Data Protection Directive at some point in the future.

To deploy Wakanda only the server element is needed. Gandi VPS is Linux-based so the Wakanda Server 64-bit Linux download URL is required from the Wakanda downloads page.

Creating a VPS on Gandi is relatively straightforward: the only real provisos are they a minimum of 1Gb of memory is required and the OS must be 64-bit. Once the VPS has been created, access is via SSH. The IP address of the server can be found at https://www.gandi.net/admin/hosting/iface/management#main or in the email confirmation that arrives from Gandi. SSH access is via a username and password combination, which is not the most secure option but will suffice for an experiment:

aaitken@MacBook:~$ ssh admin@92.243.25.236
The authenticity of host '92.243.25.236 (92.243.25.236)' can't be established.
RSA key fingerprint is 91:51:15:d9:29:5c:e6:73:32:3b:d2:9d:8b:a7:f0:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '92.243.25.236' (RSA) to the list of known hosts.
admin@92.243.25.236's password:
Welcome to Ubuntu 11.04 (GNU/Linux 2.6.36-xenU-4814-x86_64 x86_64)
* Documentation:  https://help.ubuntu.com/
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
admin@wakanda-server:

First retrieve the compressed Wakanda Server file from Wakanda’s web site:

admin@wakanda-server:~$ wget http://download.wakanda.org/Releases/Latest/Linux/Wakanda-Server-x64.tar.gz
--2011-11-08 17:23:38--  http://download.wakanda.org/Releases/Latest/Linux/Wakanda-Server-x64.tar.gz
Resolving download.wakanda.org... 94.23.246.14
Connecting to download.wakanda.org|94.23.246.14|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 21549505 (21M) [application/x-gzip]
Saving to: `Wakanda-Server-x64.tar.gz'
100%[========================================================>] 21,549,505  4.31M/s   in 4.3s
2011-11-08 17:23:42 (4.78 MB/s) - `Wakanda-Server-x64.tar.gz' saved [21549505/21549505]

Then extract the contents of the file:

admin@wakanda-server:~$ tar xvf Wakanda-Server-x64.tar.gz
Wakanda_Server/
Wakanda_Server/Libs/
Wakanda_Server/Libs/Curl.so
Wakanda_Server/Libs/Icu.so
Wakanda_Server/Libs/JavaScript.so

Wakanda_Server/walib/WAF/widget/yahooWeather/png/cog.png
Wakanda_Server/walib/WAF/widget/yahooWeather/png/preview.png
Wakanda_Server/walib/WAF/widget/yahooWeather/widget-yahooWeather-conf.js
Wakanda_Server/walib/WAF/widget/yahooWeather/widget-yahooWeather.js
admin@wakanda-server:~$

Having extracted the contents we can then test that the server runs successfully:

admin@wakanda-server:~$ ./Wakanda_Server/Wakanda &
Welcome to Wakanda Server!
Publishing solution "DefaultSolution"
Project "ServerAdmin" published at 92.243.25.236 on port 8080

In a web browser navigate to: http://92.243.25.236:8080/ to view the Wakanda Server admin panel.

Back on the VPS, press Ctrl-C to stop the server.

Running a solution on the server

Ideally a robust deployment method would be in place but for the moment scp will suffice. First the solution needs to exist on the server. First create a solutions directory on the server, e.g.:

admin@wakanda-server:~$ mkdir Wakanda_Solutions

then on the local machine cd to the solution directory and use scp with the recursion flag to copy the whole solution directory:

develop@MacBook:Contacts$ scp -r . admin@92.243.25.236:~/Wakanda_Solutions/Contacts/
admin@92.243.25.236's password:
Contacts.waBackup                                                                                                                                100%  352     0.3KB/s   00:00
Contacts.waModel                                                                                                                                 100% 1964     1.9KB/s   00:00
Contacts.waModel.js                                                                                                                              100%   48     0.1KB/s   00:00
Contacts.waPerm                                                                                                                                  100%   56     0.1KB/s   00:00
Contacts.waProject                                                                                                                               100%  305     0.3KB/s   00:00

Contacts.waSolution                                                                                                                              100%  261     0.3KB/s   00:00
Contacts_log_1.txt                                                                                                                               100% 2324     2.3KB/s   00:00
studio_log_1.txt                                                                                                                                 100% 8803     8.6KB/s   00:00
develop@MacBook:Contacts$

The solution can then be loaded into the server directly from the command line:

admin@wakanda-server:~$ /home/admin/Wakanda_Server/Wakanda /home/admin/Wakanda_Solutions/Contacts/Contacts.waSolution
Welcome to Wakanda Server!
Publishing solution "Contacts"
Project "Contacts" published at 92.243.25.236 on port 8081

The solution is then viewed at: http://92.243.25.236:8081/index.html

Thanks to Gandi for providing a 7 day trial of its Gandi Cloud VPS.

This article was originally posted on the Morgan Hill Consultants Ltd website.

 

Sponsor Article

 

 

 

 




Alastair Aitken (124 Posts)

As a contract developer and manager I’ve worked in a wide range of enterprises in a variety of countries where I’ve encountered everything from great work, awful work, bizarre work, all the way down to quasi-legal work. If you think that you recognise your own organisation within my articles then you’re undoubtedly wrong, where you work isn’t that unique.

One Comment »