A short guide compiled by Richard Taubo
An updated version of this guide is available.
I created this sheet when installing Lasso 9 via the new Subversion method on OS X in place of using a click
I decided to install lasso9_beta in /Applications. The full path after you have installed lasso9_beta through Subversion becomes:
/Applications/lasso9_beta
These instructions are based on this filepath.
For an editor, I use nano in the Terminal, but you can use BBEdit or any other text editor. To save a file in then exit from nano, press "CTRL
When you have downloaded lasso9_beta as described, read the file "README
Lastly: Don't blame me if your system gets hiccups after following these instructions! :-)
Only for those who have installed Lasso 9 previously.
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"*
cd /Applications/
svn co http://download.lassosoft.com/svn/lasso/lasso9_beta/trunk lasso9_beta
cd lasso9_beta
Use Subversion to update Lasso 9
Use Subversion to update your copy of Lasso 9 Beta to the latest version.
cd /Applications/lasso9_beta/
svn update
Add the LASSO9_HOME environment variable to your user profile.
nano -w ~/.bash_profile
and at the end of this file add:
export LASSO9_HOME="/Applications/lasso9_beta"
Save and close your profile.
Rehash the LASSO9_HOME environment variable so it becomes available immediately without restarting the terminal.
source ~/.bash_profile
Check that the LASSO9_HOME environment variable is set.
echo $LASSO9_HOME
-> /Applications/lasso9_beta
Run the Lasso9Dependencies installer, as referred to by the instructions in
/Applications/lasso9_beta/README-IMPORTANT.txt
if you have not done so already, unzip the following.
/Applications/lasso9_beta/Installers/Lasso9Dependencies.osx.pkg.zip
Then double
These dependencies do not change often, so you should only have to run it once, unless you hear otherwise.
See the README
Next, in a terminal, cd into the Installers directory and run the "./makelinks" command. This will create a link to the Lasso9.framework directory into your /Library/Frameworks/ directory.
You will only have to do this once, unless you change the path to the Lasso 9 home folder, in which case just run the makelinks command again:
cd /Applications/lasso9_beta/Installers
./makelinks
Add links to the LassoExecutables/lasso9 and LassoExecutables/lassoserver commands into /usr/local/bin. This will let you execute these commands from any location.
sudo mkdir /usr/local/bin
cd /usr/local/bin
sudo ln -s /Applications/lasso9_beta/LassoExecutables/lasso9 .
sudo ln -s /Applications/lasso9_beta/LassoExecutables/lassoserver .
Test the Installation
from README
In a terminal, cd into the LassoExecutables directory. Test the lasso9 command by having it print out the date
cd /Applications/lasso9_beta/LassoExecutables
echo 'date' | ./lasso9 --
If things are configured properly, you should see the date printed in response.
Configure Apache 2
Open your Apache 2 .conf file.
sudo nano -w /private/etc/apache2/httpd.conf
At the end, if not added already present, add the following.
Include /private/etc/apache2/other/*.conf
Save the file.
Move the Apache .conf file for Lasso 9 from the SVN directory to the apache2 other directory.
sudo mv /Applications/lasso9_beta/Installers/lasso9.apache2.conf /private/etc/apache2/other/
// all one line
Lasso 9 can be started by two methods. Apache can automatically start Lasso 9 in FastCGI mode, or you can start Lasso 9 from the command line.
Starting Lasso 9 Automatically via Apache
lasso9.apache2.conf includes a line that starts lasso9 directly whenever Apache2 is started or restarted. Edit the following file.
sudo nano -w /private/etc/apache2/users/lasso9.apache2.conf
The line is:
FastCGIServer /usr/local/bin/lassoserver -initial-env LASSOSERVER_FASTCGIPORT=8999
// all one line
If you want to restart lasso9 and this line is uncommented, you must stop lasso9 before you can start it again.
Change the lassoserver executable to have setuid
Apache can only start the process as the www user, which is useless, so you'll add the setuid flag to the lassoserver executable. This allows the Lasso process to run under the lassoserver executable's owner rather than the user Apache starts under. In the terminal, issue the following:
chmod u+s /Applications/lasso9_beta/LassoExecutables/lassoserver
Any time you update your installation with svn update, you'll need to re
Check Apache configuration
To test that you've got it right, first check your configuration by typing the following.
sudo apachectl configtest
You will be asked for your password. If the Apache configuration is correct you'll get a message saying so.
Start Apache (and optionally Lasso automatically)
To restart Apache, which in turn should start Lasso automatically.
sudo apachectl graceful
Starting Lasso 9 va the command line
Start the web part of lasso9.
/Applications/lasso9_beta/LassoExecutables/lassoserver
Stop the web part of Lasso 9
Either use the following command
killall lassoserver
or find the process that comes up, and then kill it.
top -l 1 | grep 'lassoserver'
sudo kill "theNumberThatComesUp"
Lasso 9 admin interface
Open the following URL in a web browser.
http://localhost/lasso9/Admin/
Good Luck,
Richard Taubo
(With minor alterations by Jolle Carlestam. See the page history for other contributors.)
Common problems and their solutions.
Can't get Apache to Start lassoserver
There are various reasons this might be. The first thing to do is check that you can start lassoserver manually from the terminal. Issue the following command to start lassoserver with troubleshooting information (replacing "/path/to/" with the correct path to the lassoserver executable):
env LASSO9_PRINT_FAILURES=1 /path/to/lassoserver
If you can start lassoserver from a terminal, but Apache still has problems, check your Apache error_log to see what sort of diagnostic information it may display. Below are log entries and possible solutions.
[Thu Nov 12 23:05:08 2009] [warn] FastCGI: server "/Applications/Lasso9Beta/LassoExecutables/lassoserver"
has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds
This is usually a permissions error, the server is running under _www instead of root. To fix this run the following command (replacing "/Lasso9/Home/" with the path to your Lasso9 directory):
sudo chmod u+s /Lasso9/Home/LassoExecutables/lassoserver
[Thu Nov 12 13:02:02 2009] [crit] (22)Invalid argument: FastCGI: can't create server
"/usr/local/bin/lassoserver": bind() failed [/opt/local/apache2/logs/fastcgi/f8999e7a3bfe6c6e069fc7877f43b4f6]
This is a permissions issue for where Apache is trying to create the fastcgi socket ("/opt/local/apache2/logs/fastcgi/" in the above log). Verify that all the permissions are set correctly so that the apache user (www on Mac OS X 10.5, _www on Mac OS X 10.6) has access to that folder and write access for that folder. If the Unix permissions are all correct and you are still having problems, it is most likely an issue with Access Control Lists (ACLs). To check for ACLs, using the example above, I would do ls
drwx------+ 4 _www _www 136 Oct 30 16:38 fastcgi
If you notice the plus sign at the end of the permissions list, that means there are ACLs imposed. To get rid of the ACLs on that folder issue the following command:
sudo echo | sudo chmod -R -E /opt/local/apache2/logs/fastcgi
Note, if you notice ACLs all the way up the chain and want to get rid of them you can issue the following command:
sudo echo | sudo chmod -R -E /opt
Lasso can't read the LASSO9_HOME environment variable
If you've added the LASSO9_HOME variable to your environment (e.g. running `echo $LASSO9_HOME` returns a value) but Lasso fails to start with this error
[Wed Nov 10 14:31:46 2010] [warn] FastCGI: server "/Applications/lasso9_beta/LassoExecutables/lassoserver"
restarted (pid 3585) Error, unable to find suitable Lasso 9 home directory. Set the LASSO9_HOME env variable to
the desired location.
you can route around the problem by passing the variable as an argument on startup. This happens when Apache is configured to start lassoserver, in which case any variables you've set for your own environment won't be read.
Edit the following file.
sudo nano -w /private/etc/apache2/users/lasso9.apache2.conf
Change the line starting with "FastCGIServer" to this:
FastCGIServer /usr/local/bin/lassoserver -initial-env
LASSOSERVER_FASTCGIPORT=8999 -initial-env
LASSO9_HOME=/Applications/lasso9_beta
Alternatively, you could soft-link to your installation directory from /Library/Lasso, which is where Lasso 9 by default looks for an installation.
Lasso doesn't start, or the admin interface doesn't show
If you observe any of the following behaviours in your server logs:
you likely have multiple parent httpd processes running. This can happen on the Mac if "Web Sharing" in System Preferences > Sharing is checked and you use the apachectl command to manage Apache. To kill all httpd processes and start fresh,
Author: Richard Taubo
Created: 12 Feb 2010
Last Modified: 9 Aug 2011
Please note that periodically LassoSoft will go through the notes and may incorporate information from them into the documentation. Any submission here gives LassoSoft a non-exclusive license and will be made available in various formats to the Lasso community.
©LassoSoft Inc 2015 | Web Development by Treefrog Inc | Privacy | Legal terms and Shipping | Contact LassoSoft