Today I felt a compulsion to install Smalltalk on my little 256MB Slicehost slice. It was an itch I just had to scratch.
My first step was to admit (to myself) that I don’t know the first thing about deploying any kind Smalltalk anywhere. I can deploy PHP and Rails in my sleep, but I’m clueless about Smalltalk. I would have to do some research.
My first resource was James Robertson’s blog. He’s the Smalltalk evangelist for Cincom Smalltalk and has created countless Smalltalk tutorials and screencasts over the years. I’ve been following his experiences installing VisualWorks Smalltalk on his Slicehost server and noted that he mentioned having a problem running his 32-bit VM on a 64-bit server. He solved that problem by installing the ia32-libs. I anticipated that I would run into the same problem since I am running a 64-bit version of Ubuntu.
My second resource was the Linode.com support library. My original plan was to install both VisualWorks and Squeak, but as time slipped away, I realized that I had dreamed too grandly. I don’t know much about Squeak, but I know nothing about VisualWorks. I realized it would be less painful to go with Squeak. I googled “deploy pharo” and found a nice Seaside deployment guide on the Linode site. I took that path of least resistance and decided to install Pharo and Pier (a CMS written in Smalltalk).
I cut and pasted the Linode commands into the terminal and in 5 minutes I was ready to go. But, when I issued the command to start Seaside, I got the message: “Could not find squeak”. I recalled James Robertson’s gotcha and installed the 32-bit Intel libraries. I’m running Ubuntu, so I used this command:
sudo aptitude install ia32-libs
I won’t post the Linode article here; you can check it out for yourself if you’re interested. I just cut and pasted away as directed. Seaside started up on port 8080 perfectly. I poked around a little, took a few screenshots, then shut it down. It’s completely unsecured, and since I don’t know how to make it safe yet, I don’t want to leave it running unprotected. Right now I’m happy with taking baby steps.
By the way, here’s the command I used to run a squeak without a gui (headless). I’m saving it here for future reference; I had to do considerable digging to find it.
/opt/pharo-vm-15-2/squeak -vm-display-null /srv/www/pier-app-1.2/Contents/Resources/pier.image
My next step is to configure Apache to proxy Seaside. Once I get the proxy working, and learn more about securing the site, I’ll leave Seaside running. By the way, I have proof of life. Cool.
Keep hacking…

{ 3 comments… read them below or add one }
I am going to follow your progress with great interest. I would very much like to use seaside, but building a secure website – with apache – is beyond my knowledge.
Hi: This is good to see Smalltalk and seaside are expanding. Just a comment, there is a new book for seaside, in web format (it will be soon if pdf and lulu), here: http://book.seaside.st/book
You can even let comments, bug reports, erratas, etc..
Here you have the table of contents:
http://book.seaside.st/book/table-of-contents
You can see there is a section for deployment:
http://book.seaside.st/book/advanced/deployment
And finally, I wanted to give you a wonderful link from Miguel: http://miguel.leugim.com.mx/index.php/2009/09/18/deploying-seaside-applications/
Cheers
Thanks for the great links. These are going into my stash of good information. I’ll put these links on the front page, too, in my Links List, so that anyone dropping by will be able to find them easily.