Software development, photography, jokes, ....

Sites by me

tas-logoTransportation Administration System
snoezelkussen-logo-kleinstSnoezelkussens voor verstandelijk gehandicapten
ikzoekeenbegeleider-logoBegeleiders voor gehandicapten
Laat uw hond het jaarlijkse vuurwerk overwinnen
Betuweroute en Kunst
logo 50x50Hey Vos! Je eigen emailadres?
Kunst in huis? Nicole Karrèr maakt echt bijzonder mooie dingen
nettylogo2Kunst in huis? Netty Franssen maakt ook bijzonder mooie dingen
Professionele opvang bij Gastouderbureau
Salarisadministratie en belastingadvies bij
De Zaak Loont
Zutphense Bomenstichting

Hosting Favorites

ANU Internet Services
XelMedia .internet Services


Quality that computes
The Economy of Motion
Wheel 2.0

Website Hosting bij Xel Media

Marc's Place


 Install Lasso 9 (bèta; svn)

  On Mac OS X client

Go to for the latest stable release,
with a genuine installer:

Dec 2011: v9.1.4
Feb 2013: v9.2.4

Parts of this page can be used as additional reference
material after the installation of the latest version.

The article below is based on Richard Taubo's article: Setting up Lasso 9 with SVN
and Marc Pinnell's article: Lasso 8 and 9 Side by Side on Same Server
and Bil Corry's instructions to install lp-lib
from which I copied a lot, if not all, and added my own findings.

1.  First, remove old directories:

$ sudo rm -R /Library/Frameworks/Lasso9.framework
$ sudo rm /usr/local/bin/lasso*
$ sudo rm -R "/Library/Application Support/Lasso 9"
$ sudo rm -R "/Library/Receipts/Lasso 9"*
$ grep -i lasso /etc/apache2/users/* # should list only a possible lasso8.conf file. Leave it.
$ grep -i lasso /etc/apache2/other/* # could list a possible lasso9.conf file. Delete it.
$ grep -i lasso /etc/apache2/extra/* # could list possible entries in a vhosts.conf for lasso9. Edit the file and delete those entries.
$ grep -i lasso /etc/apache2/httpd.conf # should only list a DirectoryIndex entry

2.  Next, checkout the latest beta from the svn (if you get an error '-bash: svn: command not found', you need to install svn first):

$ cd /Applications
$ svn co lasso9_beta

3.  To be able to run lassoserver from everywhere, you need to define the environment variable LASSO9_HOME:

$ cd /etc
$ sudo vi profile

Add the line export LASSO9_HOME="/Applications/lasso9_beta" and save the file.

$ sudo vi csh.cshrc

Add the line setenv LASSO9_HOME "/Applications/lasso9_beta" and save the file.

$ sudo vi launchd.conf

Add the line setenv LASSO9_HOME "/Applications/lasso9_beta" and save the file.

4.  Exit all shells and reopen a new one. Type

$ set | grep -i lasso9

You should see the line LASSO9_HOME=/Applications/lasso9_beta.

5.  Next go into the Finder and open the folder /Applications/lasso9_beta/Installers. Unzip the file and double-click the extracted package. When that is done, go back to Terminal and type the following commands:

$ cd installers
$ ./makelinks

6.  To be able to run Lasso 9 from everywhere, create links to the executables in /usr/local/bin, which should be in your PATH environment variable.

$ echo $PATH

should give something like /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/mysql/bin
To create the links, type the following commands:

$ cd /usr/local/bin
$ sudo ln -s /Applications/lasso9_beta/LassoExecutables/lasso9 .
$ sudo ln -s /Applications/lasso9_beta/LassoExecutables/lassoserver .

7.  The installation of Lasso 9 for use from the command line is now ready. To test it, type:

$ echo 'date' | lasso9 --

This should output a date-time combo like 2010-08-29 14:47:47.

8.  Now configure Apache 2 so it can serve Lasso 9 web pages. As people found out, LassoServer (beta!) cannot run as a www-user which Apache 2 runs as. To configure the correct user where Lasso 9 should run with, type the following command:

$ chmod u+s /Applications/Lasso9_beta/LassoExecutables/lassoserver

9.  LassoSoft provides a configuration file for Apache 2 and I copied that file into an Apache 2 directory from which .conf-files are included. Usually these are users or other, but to check if these are used in httpd.conf, do this:

$ cd /etc/apache2
$ grep -i "*.conf" httpd.conf
Include /private/etc/apache2/other/*.conf

I got only one line output which shows me that only from the directory other all .conf files are included at once. So I copied the lasso9.conf file in there:

$ cd /etc/apache2/other
$ sudo cp /Applications/lasso9_beta/Installers/lasso9.apache2.conf ./lasso9.conf

Note: the newer, normal installers install a mod_lasso9.conf file in /etc/apache2/other/.
But since on newer Mac OS X Server installations, like mine for example (10.7.5), the directory /etc/apache2/other/ is not being loaded anymore because in /etc/apache2/httpd.conf is written:

   Include /etc/apache2/other/*.conf

Note the ! (not-symbol), which means that the file /etc/apache2/other/mod_lasso9.conf’ is never loaded; because this is a MACOSXSERVER. In such a case, move the file from /etc/apache2/other/ to /etc/apache2/sites/, where it will always be loaded.

Since I want to keep Lasso 8 running on this machine, I need Lasso 9 parallel installed. It should not take over Lasso 8 (yet). Therefore I changed the .lasso association in the lasso9.conf file into .ls. Edit the lasso9.conf file:

$ cd /etc/apache2/other
$ sudo vi lasso9.conf

Change the .lasso association into .ls at the AddType statement:

AddType application/

Next, look for the line starting with FastCGIServer and add the environment variable LASSO9_HOME (all in one line):

FastCGIServer /usr/local/bin/lassoserver -initial-env LASSO9_HOME=/Applications/lasso9_beta -initial-env LASSOSERVER_FASTCGIPORT=8999

Note: To change the extension for Lasso9 into .ls, edit the normal installed mod_lasso9.conf file and change the first line of this code:

<Location ~ "^.*\.[Ll][Aa][Ss][Ss][Oo]$">
   SetHandler lasso9-handler

into this:

<Location ~ "^.*\.[Ll][Ss]$">
   SetHandler lasso9-handler

Save the file.

Now add the .ls extension to the DirectoryIndex in httpd.conf:

$ cd /etc/apache2/
$ sudo vi httpd.conf

Search for DirectoryIndex and you should find this piece of code:

<IfModule dir_module>
   DirectoryIndex index.html index.lasso index.php index.htm

Add to the list, anywhere you like, but I advice before index.php, and save the file.

10.  Default, Lasso 9 serves only from the default web root, in this case /Library/Webserver/Documents/. For some reason, Apache cannot serve Lasso 9 pages from user's /Sites folders, without additional configuration. To enable this possibility, I did the following:

$ cd /etc/apache2/extra
$ sudo vi httpd-vhosts.conf

Add the following directives (note: you must add the virtual host localhost, if not there, otherwise things don’t work anymore):

<VirtualHost *:80>
   ServerName "localhost"
   DocumentRoot "/Library/WebServer/Documents"

<VirtualHost *:80>
   ServerName "localuser"
   DocumentRoot "/Users/yourusername/Sites"

<Directory "/Users/yourusername/Sites">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   Allow from all

Save the file.

Next, add the host localuser to /etc/hosts, otherwise your web browser starts to look for localuser on the internet:

$ sudo vi /etc/hosts

Add the following line and save the file:        localuser

11.  Let Apache check its configuration files:

$ sudo apachectl configtest

If all is well, restart Apache 2 (should start lasso9, now):

$ sudo apachectl restart (or 'graceful' if you're on a production server)

Check Apache 2's error log:

$ tail /var/log/apache2/error_log

Should list some text like this:

SQLiteConnector using SQLite: 3.6.16
Creating JVM
Registering Admin
Starting fastcgi server on port 8999
Lasso Server running in DEVELOPER mode

12.  To test if Apache can serve Lasso 9 web pages, create a file in /library/webserver/documents/ and in /Users/yourusername/sites :

$ cd ~www/documents/
$ vi

Paste this code:


 <body bgcolor="white">
 [loop(10); lasso_uniqueid;'<br>'; /loop]

and save the file.
Now call in a browser: http://localhost/ or from your sites folder, like for example: http://localuser/

13.  If you get an error from Lasso that cannot be found, go into Terminal and edit the Apache conf file:

$ cd /etc/apache2
$ sudo vi httpd.conf

Then jump to the end of the file and remove any old Lasso 8 handler directives

Add the following two lines to the end of the file, if they are not already present and active:

NameVirtualHost *:80
Include /private/etc/apache2/extra/httpd-vhosts.conf

and save the file. Restart Apache 2:

$ sudo apachectl restart (or 'graceful' if you're on a production server)

and try to call again: http://localhost/ to check if Lasso 9 now works.

14.  When there are updates for Lasso 9, just do:

$ svn update $LASSO9_HOME

15.  To enhance Lasso 9's functionality, Bil Corry implemented extra member tags, new tags or replaced existing ones with more or corrected functionality (all in one line):

$ svn checkout $LASSO9_HOME/LassoStartup/l9-lib

After a few seconds you see output similar to this:

A LassoStartup/l9-lib/lp-l9-lib-lassoapp.lasso
A LassoStartup/l9-lib/lp-l9-lib-keyword.lasso
A LassoStartup/l9-lib/lp-l9-lib-staticarray.lasso
A LassoStartup/l9-lib/lp-l9-lib-string.lasso
A LassoStartup/l9-lib/lp-l9-lib-bytes.lasso
A LassoStartup/l9-lib/lp-l9-lib-math.lasso
A LassoStartup/l9-lib/lp-l9-lib-integer.lasso
A LassoStartup/l9-lib/lp-l9-lib-map.lasso
A LassoStartup/l9-lib/lp-l9-lib-util.lasso
A LassoStartup/l9-lib/lp-l9-lib-date.lasso
A LassoStartup/l9-lib/lp-l9-lib-client.lasso
A LassoStartup/l9-lib/lp-l9-lib-decimal.lasso
A LassoStartup/l9-lib/lp-l9-lib-array.lasso
A LassoStartup/l9-lib/lp-l9-lib-boolean.lasso
Checked out revision 58.

Instructions and examples on how to use these are inside the .lasso sources themselves. Restart Apache 2:

$ sudo apachectl restart (or 'graceful' if you're on a production server)

and try to call again: http://localhost/ to check if Lasso 9 still works.

15.  When there are updates to l9-lib, just do:

svn update $LASSO9_HOME/LassoStartup/l9-lib

16.  The next step is to configure Lasso 9 Admin. Start a web browser and open the following page:


Enter a username and password:

Write them down, click Create and you land in the Users page:

17.  Next, configure access to the local MySQL database server. Click on the vertical tab on the left and choose Datasources:

Select the MySQLDS datasource and click Add host and fill in the required fields and click the Add host button at the bottom-right:

18.  Note that the username & password here, are those configured in MySQL - not Lasso. You can manage the MySQL server with, for example, Navicat:

19.  Now verify that the database connection works. Click on MySQLDS and then on the configured host:

You should see all databases listed below that configuration:


19.  To add a second host, click on Add host:

20.  Add the second host as in step 17. You get an Internal Server Error alert window. Click ok. The host gets added. In my case, I ended up with two:

one which was incomplete qua tables. I deleted that peculiar one:

21.  When the new datasource (DS) has tables with identical names as in a DS that was already present prior to adding the new DS, Lasso9 creates aliases the same way as it does in Lasso8: it adds an asterisk to the table's name. As with Lasso8, you can change the alias' name:

© 1997- Marc Vos (and others) Contact Me