Deploying Smalltalk Web Applications on a Headless Linux Server

We wrote a small prototype web application using Pharo and Seaside, and now we want to demonstrate the costumes that the application can be deployed in our standard Linux build. We use a combination of CentOS, Ubuntu Server, and Gentoo, which run silently, since most of our applications are based on JAVA / Apache. Only port 80 and 443 are open to the outside world.

What are your impressions when hosting applications on the server side of Seaside / Smalltalk?

+6
smalltalk seaside pharo
source share
4 answers

I just use the ssh tunnel to display X on my local machine. I am using slicehost (US) from the Netherlands, so I have a ping time of 135 ms. This is not so good, but good.

The next step is to remove the Lukas Renggli buffer package to use the vnc viewer.

Let's see what Miguel Koba had to say about this on the Gemstone mailing list:

If you have already installed RFB on your computer, use it. If you have RFB installed on your image and the client machine is available, use it

But both of them are unencrypted. If you want to encrypt, you must configure the tunnel (possibly using ssh or maybe TLS).

I think this is redundant because you have to use a tunnel and then RBF. So, what I am doing is, on linux I need to install the minimal X libraries and then move the X session to the local computer.

On the server (Debian / Ubuntu instructions):

aptitude update

aptitude install xbase-clients

aptitude install xtightvncviewer

Test it from the client machine:

ssh -X remote_server squeakvm gemtools.image &

This will start the squeakvm process on the server, but all graphs will be displayed on the local machine (Xserver for this specific scenario).

In addition, if you install RFB on some of your images and run them headless, you can use xtightvncviewer to connect inside the image via the RFB server.

ssh -X remote_server xtightvncviewer localhost: 0 &

this will start xtightvncviewer on the remote server, but, again, will show on your local computer. Suppose you have an image in a remote server running RFB on the first display.

What is the advantage: - You do not need to open ports for RFB on the remote server - you transfer everything encrypted via ssh - you only execute commands on demand on the remote server. You do not have to constantly run VNC. - You can configure your RFB in the image to accept only localhost and not everywhere.

Martin McClure advised me to take a look at NoMachines NX (the less talkative X), but it's still on my to-do list.

For another set of deployment instructions, check out the Miguels Blog

+2
source share

it works great, by the way, you can get free hosting for your seaside application at:

http://www.seasidehosting.st/

for more power you will need your own server, of course ...

several stages:

http://gemstonesoup.wordpress.com/2007/10/19/scaling-seaside-with-gemstones/

+2
source share

Seaside Book contains the deployment chapter. It describes how I usually deploy a Seaside application.

+2
source share

The blogosphere recently talked about this problem.

Doug Putnam wrote his experience installing Seaside (on Pharo) on his Slicehost slice, after working out James Robertson's writeup (which uses VisualWorks, I suppose?).

0
source share

All Articles