Lasso 8 and 9 can run simultaneously on a single machine, provided your web server is properly configured.
They key is to locate Lasso 8 and Lasso 9 sites in separate virtual hosts, and then ensure that Lasso 8 is loaded only for specific sites, rather than the entire server. For this article, the paths and filenames will refer to Mac OS X client running the preinstalled Apache 2.2, but the concepts apply to any server or platform.
When performing the default installation of Lasso 8, two modifications are made to the Apache configuration:
lasso8.conf
is placed in /etc/apache2/users
/etc/apache2/httpd.conf
which loads lasso8.conf
Undo both of these changes by:
lasso8.conf
up one directory to /etc/apache2/lasso8.conf
(to prevent other modules from auto-loading it)sudo mv /etc/apache2/users/lasso8.conf /etc/apache2
Include
directive in httpd.conf
appended by Lasso 8's installer (to avoid a "no such file" error when restarting Apache)sudo perl -i -pe 's/^(Include.*lasso8.conf)$/#$1/' /etc/apache2/httpd.conf
The only Apache configuration change made by the Lasso 9 installer is the addition of a mod_lasso9.conf
file (formerly lasso9.apache2.conf
or lasso9.manager.conf
) in a subdirectory of /etc/apache2
. We'll leave it unmodified and in-place to prevent future conflicts (1).
First, ensure that virtual hosts are enabled in httpd.conf
:
sudo perl -i -pe 's/^#(Include.*vhosts.conf)$/$1/' /etc/apache2/httpd.conf
Next, open your virtual hosts configuration file (/etc/apache2/extra/httpd-vhosts.conf
) and replace the sample configurations with something similar to the following, tailored to your situation.
NameVirtualHost *:80
<Directory "/directory/containing/sites/*">
Options All
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerName lasso8site.net
ServerAlias www.lasso8site.net
DocumentRoot "/directory/containing/sites/lasso8site"
DirectoryIndex index.lasso index.html
Include /private/etc/apache2/lasso8.conf
</VirtualHost>
<VirtualHost *:80>
ServerName lasso9site.org
ServerAlias www.lasso9site.org
DocumentRoot "/directory/containing/sites/lasso9site"
DirectoryIndex index.lasso index.html
</VirtualHost>
<VirtualHost *:80>
ServerName localhost
ServerAlias *.*
</VirtualHost>
sudo find /directory/containing/sites -type d -exec chmod 755 {} \;
Author: Eric Knibbe
Created: 11 Aug 2011
Last Modified: 25 Aug 2011
Lasso 8 & 9 in the Same Virtual Host
if you want to run 8.5 & 9 side-by-side on the *same* virtual host and have one folder for Lasso 8 and one for Lasso 9, then see the example configuration below. For this to work, you must first comment out the <Location ~> directives in both mod_lasso9.conf and lasso8.conf that setup handling the "lasso" extension.
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Library/WebServer/Documents"
DirectoryIndex index.lasso index.html
# Process .lasso files in this folder as Lasso 8.5
<Location /l8/>
AddHandler lasso8-handler lasso
</Location>
# Process .lasso files in this folder as Lasso 9
<Location /l9/>
AddHandler lasso9-handler lasso
</Location>
</VirtualHost>
Here's a virtual host example that has Lasso 9 as the default for the virtual host, but uses Lasso 8 for certain directories.
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Library/WebServer/Documents"
DirectoryIndex index.lasso index.html
# Process .lasso files using Lasso 9 by default
AddHandler lasso9-handler lasso
# Process .lasso files in this folder using Lasso 8
<Location /meetings/>
AddHandler lasso8-handler lasso
</Location>
# Process .lasso files in this folder using Lasso 8
<Location /lp8/>
AddHandler lasso8-handler lasso
</Location>
</VirtualHost>
Moving lasso8.conf not required
If you currently have Apache configured to load lasso8.conf on a per VirtualHost directive basis, then the above method will add extra work. When you move lasso8.conf out of /private/etc/apache2/users/ to its parent directory, then you also need to modify any existing directives that look for that file. For this case, the following configuration method minimizes the changes that one must make to their existing Apache configuration.
/private/etc/apache2/httpd.conf
----------------------------------------------
Insert the following line at the end of the list of LoadModule directives in httpd.conf. This in combination with another modification in lasso8.conf[1] will avoid warnings about loading this module repeatedly per virtual host.
LoadModule lasso8_module libexec/apache2/Lasso8ConnectorforApache2.2.so
The Lasso 8 installer puts lasso8.conf in /private/etc/apache2/users/, which in turn is loaded by a chain of other directives. To prevent loading this file, and if you do not need user home directories, disable user home directories by commenting out the following line near the end of httpd.conf.
# Include /private/etc/apache2/extra/httpd-userdir.conf
Comment out the following Include directive to prevent loading the lasso8.conf file server-wide. This will allow you to enable Lasso 8 on a per VirtualHost basis.
#Begin: Added by Lasso 8 Installer
#Include /private/etc/apache2/users/lasso8.conf
#End: Added by Lasso 8 Installer
/private/etc/apache2/users/lasso8.conf
----------------------------------------------
[1] Comment out the following line as noted above.
#LoadModule lasso8_module /usr/libexec/apache2/Lasso8ConnectorforApache2.2.so
/private/etc/apache2/extra/httpd-vhosts.conf
/private/etc/apache2/extra/httpd-ssl.conf
and wherever else you define VirtualHost directives
----------------------------------------------
Within each VirtualHost directive you can enable Lasso 8 by adding the following directive.
Include /private/etc/apache2/users/lasso8.conf
To test your Apache configuration, in Terminal:
sudo apachectl configtest
To restart Apache, in Terminal:
sudo apachectl graceful
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