Running a Squeak Web Server

There are currently three CGI (Common Gateway Interface) WebServer packages for Squeak, two available at the "CREATE" site under Applications. (CGI uses HTML forms to provide simple interaction on the Web. I use it for collaboration tools and surveys, and it can also be used for database access, guestbooks, shopping baskets, and a bunch of other things.) Tim Jones' (tim@thregecy.com), WebTalk, and Georg Gollmann's WebServer (gollmann@edvz.tuwien.ac.at) (at http://ftp.tuwien.ac.at/~go/Squeak/webServer.html) are both really great. A new one is the Pluggable WebServer.

WebServer

Georg's WebServer is a webserver oriented toward database applications. His Web page is where to go for the best information. I'll point out only a couple of strengths here:

WebTalk

WebTalk is actually three packages:


Extending the Existing WebServer Tools

The CGI WebServer packages provided by Tim Jones (tim@thregecy.com), WebTalk, and by Georg Gollmann (gollmann@edvz.tuwien.ac.at) (at http://ftp.tuwien.ac.at/~go/Squeak/webServer.html) are really great, but they focus on serving CGI scripts from inside of Squeak. I also wanted to serve HTML, GIF, and JPEG files. The downloads below provide subclasses which add file access capabilities to these tools. Thanks to the efforts of John Maloney, Tim, and Georg, these have become quite stable on the various Macs I've tried them on (e.g., longest run without problems has been about four days, before I had to restart the machine for other reasons), using both 1.20 and 1.22 versions of Squeak and respective versions of WebTalk and WebServer.

Caveats!

For Tim's WebTalk -- No longer necessary, but will still work: WTWebServer.st is the WebServer that works with Tim's WebTalk.

  • You will need to modify the WTWebServerclass method startServer to set the ServerDirectory (where HTML etc. files live.)
  • You also set the port for your WebServer to watch in startServer. Port 80 is the standard for Webservers -- that's where Navigator, Explorer, etc. will reference by default. You can set another (e.g., I often test on 8080), and reference it as http://yourserver:8080/yourfile.html
  • Start it with WTWebServer startServer
  • Stop it with WTWebServer stopService

    For Georg's WebServer: FullWebServer.st is the WebServer that works with Georg's WebServer.

  • You will need to modify the instance method getReply in FullWebServer to set the serverDirectory.
  • You set the port at the startup. I like my WebServer to run in the background (e.g., letting me continue to work in Squeak while it's serving), so I use a fork command to get it started. [FullWebServer serveOnPort: 8081 loggingTo: 'log10-1.txt'] fork
  • Stop it with FullWebServer stopServer.


    "More About Squeak..."
    Home Page for How To Squeak

    Last modified at 1/30/98; 10:05:51 AM
    Other Links of Interest
    College of Computing | EduTech Institute | GVU Center
    Mark Guzdial | CS2390, Modeling and Design | STABLE