LAMS installation and configuration
Definition
This page contains installation tips for LAMS. Mostly LAMS 2.1RC1 for Solaris 10.
LAMS is a JAVA/JBOSS-based application and needs some installation skills on Windows and good installation skills for Unix.
READ THIS - Daniel K. Schneider 16:31, 18 September 2008 (UTC)
- I soon will install a new version
- I put the legacy stuff in the discussion page, e.g. LAMS 2.1RC for Solaris
LAMS 2.1.1 on Solaris
Lams 2.0 was released on December 6 2006. Since then, there were very several minor upgrades. On Sept 2008, the current release is 2.1.1.
These installation notes refers mostly to the 2.1.1 install, but it should help with 2.0.4 too. Official LAMS instructions are a bit Linux centric and this is main reason why you might have a look at this. My notes also should work with older Solaris versions (just make sure to upgrade Java if needed and in this case to set the Java path).
First, read the instructions in:
- Unix Installation and Updating Help (if you plan to use the unix installer)
- Building LAMS (if you plan a source install)
- Development Environment
Upgrading from previous versions: You can't upgrade from 2.1RCx. So I started from scratch. Since we only have our students create LAMS scenarios as exercises I had them save the zip file in their work portfolio and they could import it again (I hope). Anyhow: export all scenarios from your LAMS server as LAMS zip files (not LD) before you erase the old data-base and the LAMS software from JBOSS.
Disclaimer: I am not a good sysadmin nor is it my idea of fun. This is not a manual, but just my private installation notes I am willing to share. - Daniel K. Schneider 18:30, 20 March 2008 (MET)
So, open a terminal under root ....
Download and checksum
Check the download page at LAMS. Make sure to get the right version ! Also you may have to get a patch that you will have to apply after the main install.
I took the following ones: There was no LAMS 2.1.1 full distro. Had to install LAMS 2.1 first and then apply the patch
This would be the wrong version if you have Ubuntu. I run Ubuntu as my desktop machine and indeed life is easier on Ubuntu ....
Then you may checksum the downloaded archive. In some very rare cases there exist transmission errors or someone managed to upload a bad archive to the download server. So type:
md5sum lams-unix-installer-2.1.tar.gz
And then compare the number that will show like this with the one on the download page:
2f29d60147bf1328d3a044a66ea8b083 lams-unix-installer-2.1.tar.gz
Prerequisite 0: Infrastructure
- Make sure your organization doesn't stiffle your creativity with Firewalls. If they do, expect a lot of extrawork.
- Also the 8080 port should be free. Some software like Skype just randomly take up ports. If you run an other server, read Changing Server Ports for LAMS
- Hardware and OS: Any Windows, Linux, MacOS X, Solaris etc. machine will do since LAMS is programmed in JAVA. You just need some diskspace, substantial memory and a not too old JAVA. Also, you may have to adapt some scripts to your special unix brand.
Prerequisite 1: Java software
- Java + ant
Solaris 10 ought to have the right Java + Ant installed. Ant is an installation program like make. Note: You need the JDK/JSE or whater Sun decided to rename it (i.e. the compiler, not just the runtime)
Check if Java can be found, i.e. type:
java -version
... you should have java 1.5.x or better. If you don't, check the system for another java or install a new one. If you do so, make sure to specify the right path according to instructions from the LAMS install page.
I have Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05), i.e. the default thing installed in this machine. It's easy to have another Java version, but I suggest from past experience to install it somewhere else, e.g. in /usr/local.
So just for the fun of it you can get another from SUN. No links, since Sun not only changes naming of Java edition but also their web sites at regular intervals. You just have to understand that JDK "6" == JDK "1.6" and that "SDK = JDK". Do not install anything that is called "JRE". Then, you can either take the small SE version or larger EE version. Both work with JBoss. It takes some time to find the right thing. Also you won't find installation instructions on the final download screen (you have to backtrack). Branding managers and website designers at Sun should reassigned to other tasks like designing the cafeteria at the head quarters. Do not go to http://java.com but try http://java.sun.com/
In case you download something like the jdk-6u7-solaris-sparc.sh version you have to know that it will just unpack the whole thing as a subdirectory.
cd /usr/local mv /path_where_you_put_it/jdk-6u7-solaris-sparc.sh . chmod a+x jdk-6u7-solaris-sparc.sh ./jdk-6u7-solaris-sparc.sh ln -s jdk1.6.0_07 jdk6 rm jdk-6u7-solaris-sparc.sh
Now you have a Java6 in the symbolic link /usr/local/jdk6. See if it works:
./jdk6/bin/java -version
Should show:
java version "1.6.0_07" Java(TM) SE Runtime Environment (build 1.6.0_07-b06) Java HotSpot(TM) Server VM (build 10.0-b23, mixed mode)
Let's try install it with this one.
Prerequisite 2: Wildfire
This is a XMPP (Jabber) chat server, that actually is called Openfire now. See:
- Installing Wildfire for LAMS
- Also read Installation guide (at Igniterealtime).
You don't really need open/wildfire (but then either your students can't chat). You also may try to use an existing server that works with LAMS. I guess that there ought to be free servers you can use.
- LAMS folks say to install an old 2.6.2. version. Links are available from the LAMS page, you won't find it at Ignite realtime. Note: I have to see whether this is still true, but for the moment I just complied.
- Since this server is written in Java you can take the Mac OSX and others version (i.e. a tar ball).
Installation steps:
1) Uncompress in /usr/local/wildfire or some other place
2) Start the server with ./bin/wildfire start
- This is a typical startup script. You later can copy this script to /etc/init.d/ etc.
3) Configure this server through the web interface. If you are lucky you will have a web browser on your server and an X11 connection.
http://localhost:9090/
Else use an URL like: http://yourhost.org:9090/ ... it should work I think. But do it as fast as possible since you have to set passwords and stuff.
- Use "embedded database" if you want to make the install shorter, else you can set it up with mysql
The configuration process will ask you to fill in a few forms. Just make sure that you use the right server names. You then can log as administrator and you will have access to an administration console.
- Tick "Don't Show History" (Group Chat -> History Settings), but you can do this later
4) Test it. You may want to install a jabber client, e.g. gajim (Ubuntu users can read an article on Jabber
5) Security: You may restrict login to given set of IP addresses or even disable account creation. Chat servers may be taken over by not so friendly people.
- Edit Server Settings->Registration and Login
Installing wildfire should be easy, it was for me. It's a fairly popular product...
(the rest: soon ...) '
Prerequisite 3: Configure MySQL for LAMS
Here are the steps:
1) Make sure to have a MySQL 5.x server. Else install it (and come back)
2) Configure it according to the LAMS instructions, i.e. make changes to file my.cnf:
- This cnf file may not exist (it wasn't in our binary distribution). Also, it can be in different locations
- Type mysql --help to get a list of the places the MySQL server will look for this config file
- So, create my.cnf if you don't have one. Start by copying a *.cfn model from /usr/local/mysql/share/mysql or some other place. I took my-medium.cnf.
Changes to make: file my.cnf should include these lines (no idea what it means and why):
[mysqld] .... transaction-isolation=READ-COMMITTED sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Then restart mysql !
3) Create a LAMS database.
If you upgrade, you may want to make a dump for safeguarding or alternatively kill all tables if you want a fresh start. I personally enjoy destroying whole databases.
Then create:
- a database named "lams"
- a user "lams"
- Make to sure to have it run in UTF-8 mode !
Best way to do this is to use a terminal client and type something this:
mysql -u root -p
Then enter the following lines (alternatively read them from a file like this: mysql -u root -p < input.sql
or paste them into a tool like phpmyadmin.
SET FOREIGN_KEY_CHECKS=0; DROP DATABASE IF EXISTS lams; CREATE DATABASE lams DEFAULT CHARACTER SET utf8; SET FOREIGN_KEY_CHECKS=1; GRANT ALL PRIVILEGES ON lams.* TO lams@localhost IDENTIFIED BY 'your_secret_passwd'; REVOKE PROCESS,SUPER ON *.* from lams@localhost;
In case you use the command line tool, continue with quit
quit
Make sure to reload, e.g. on the commande line, type:
mysqladmin -p reload
Now your database should be ready for LAMS.
Prerequisite 4: JBOSS
JBOSS is a Java application server. LAMS is programmed with this application framework.
- I simply got the 4.0.2 binary from Jboss.org
- Unpack into /usr/local (or wherever else you like it)
gtar xzf jboss-4.0.2.tar.gz -C /usr/local
- Copy some jar files
cp /usr/local/jboss-4.0.2/server/all/lib/jboss-cache.jar /usr/local/jboss-4.0.2/server/default/lib/ cp /usr/local/jboss-4.0.2/server/all/lib/jgroups.jar /usr/local/jboss-4.0.2/server/default/lib/
Pre-install configuration
0) Unpack the archives some place, e.g. in /src/. Use gtar to unpack !
gtar zxf lams-unix-installer-2.1.tar.gz gtar zxf lams-unix-patch-2.1.1.tar.gz
So you should have something like:
drwxr-xr-x 4 root root 1024 Sep 19 12:20 ./ drwxrwxr-x 42 root root 1024 Sep 19 11:00 ../ drwxr-xr-x 13 1000 1000 512 Jun 20 03:26 lams-unix-installer-2.1/ -rw-r--r-- 1 schneide tecfa 60219686 Sep 19 10:19 lams-unix-installer-2.1.tar.gz drwxr-xr-x 9 1000 1000 512 Sep 5 08:43 lams-unix-patch-2.1.1/ -rw-r--r-- 1 schneide tecfa 3902055 Sep 19 10:13 lams-unix-patch-2.1.1.tar.gz
This article or section is currently under construction
In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")
1) Read the "readme" file you will find and/or again Unix Installation and Updating Help. It's authorized gospel, this wiki article is not...
2) Decide where the files should go. Either use a typical unix installation with files all over the place or put all LAMS related stuff in some directory, e.g. /usr/local/lams. I prefer the second solution, since this way I can get rid of unwanted software easily...
3) Then edit the lams.properties file according to unix installer help. This file sits in the install directory.
Make a backup first
cp lams.properties lams.properties.ORI
Then I did this (as I said I prefer all files in one place for experimental systems). Make sure that you correctly enter db and user names, locations and so forth ! Basically there are three sections:
1) Related to installation
LAMS_DIR=/usr/local/lams/lams DB_NAME=lams DB_USER=lams DB_PASS=secret
2) If you have the Open/wildfire chat server installed, make sure to specify the name of host machine, etc.
3) Installation settings again, I had to change nearly each line ! Make sure to have each line right.
Port number. If you change this, you also have to reconfigure JBOSS (I don't know where but it shouldn't be hard ...)
LAMS_PORT=8080
Server URL (certainly not localhost). E.g. you want something like:
SERVER_URL=http://tecfasun1.unige.ch:8080/lams/
Using the installer
Configuration
Discussion / Problems
Moodle - LAMS integration
The LAMS v2.0 Integration Setup Step-by-Step Guide is fairly well done :)
Short installation summary (see the above guide)
I managed this to work with LAMS 2.1RC1. I did fail with an early LAMS 2.0 version - Daniel K. Schneider 18:30, 20 March 2008 (MET). The current setup is:
- Moodle runs on one machine (tecfax.unige.ch)
- LAMS runs on a different machine
I did not yet use LAMS in production so far. But I inserted the Beyond the VLE module through Moodle. I was able to:
- Use with Moodle student ID's (test and test2)
- not use with Moodle student ID's as monitor (that's correct)
- Use it with Moodle admin ID as student and monitor
- Chat did work.
- On the Moodle side
First of all make sure that you do no skip step 4 below (you need the LAMS v2 module and not LAMS !)
- Get a new file (it seems that fixes are made sometimes)
- Unzip the file
- Move the lamstwo directory to moodle/mod/
- Move the lamstwo.php file to moodle/lang/en_utf8/
- Login as admin and go to http://yourmoodle/admin, LAMS tables will be created automatically.
- Go to modules and click settings for LAMS2 module and put the proper values in, I used:
server_url: http://tecfasun1.unige.ch:8080/lams server_id: moodle server_key: somethingsecret request_source: moodle
- On the LAMS side
- The integrated server setuhttp://wiki.lamsfoundation.org/display/lamsdocs/Homep is:
Id: moodle Key: somethingsecret Description: TECFA Moodle Prefix: mdl Organisation: moodle User Information: URL: http://tecfax.unige.ch/moodle/mod/lamstwo/userinfo.php?ts=%timestamp%&un=%username%&hs=%hash% Timeout URL: http://tecfax.unige.ch/lams/timeout.html
- Notes
Make sure that you do not mix up case: E.g. if your group is called "moodle" in LAMS use "moodle" and not "Moodle" (I got stuck with this)
Your JBOSS server may need yet more memory space allocated (see above)
Be careful about using several browser windows and tabs. The "system Administration" page will use an already openend window/tab. So if the "Sys Admin" link doesn't bring up the tool, look for it...
If you tried a Moodle LAMS integration in the past with an older LAMS server, your MOODLE may have junk left inside. Get rid of it (see next item).
- Problems
An error (for 2.1RC1) I was getting was:
Could not add a new instance of lamstwo
This happened after validating a LAMS activity in Moodle. In older version of the LAMS/Moodle mod something was wrong, I believe a missing table.
To fix this
- Delete the LAMS2 module in MOODLE.
- Remove the files in the mod directory
- Reinstall a new version (downloaded fresh).
LAMS 2.0 RC2 Windows XP PC
Note: This chapter is outdated (written in Dec 2006). I don't see really the point in running a LAMS server on a personal PC and our servers are Unix.
Do not try to install LAMS if you lack basic installation experience and technical reading skills. Here are just a few remarks in addition to the LAMS installation instructions. I also strongly suggest to look at the Problems Installing LAMS Forum.
Other Software
To run it on windows you need to install other software.
- Java JSE 5.0 (update 9), not just the JRE. Get it from Sun.
- MySQL: Get it directly from MySQL and take the Installer version (not the zip installation).
- Install it and remember the password
- I suggest not installing/using a WAMP environment for LAMS 2RC 2. The LAMS installer 2Rc2 could not find MySQL in my WampServer environment even if it was told where to look for in the LAMS installer.
- Hack would be to manually edit the registry with this information from MySQL AB and this posting and picture by Ernie Ghiglione. Basically one needs to reproduce the MySQL entry from the official MySQL AB installer:
HKEY_LOCAL_MACHINE SOFTWARE MySQL AB MySQL Server 5.0 Location c:\wamp\mysql Version 5.0.27
... but this still didn't work for me. Something I did not try was to add mysqladmin.exe to the bin directory which is missing (see: Jun-Dir Liew's question and try it ... I don't have the time to do it right now. E.g. this file may be part of the simple zip / no registry version from the MySQL site).
MySQL
- If you use a WAMP package you must know where MySQL sits. E.g. c:\wamp\mysql if you work with "WampServer" (but see above that I failed, rather work with an "official MySQL installer from MySQL AB). If you use the official MySQL installer, there will be no problem.
LAMS
- Make sure that the LAMS port (8080) is free, e.g. install Active Ports or type something like netstat -a in a DOS terminal.
- LAMS has an installer and if you got the above right it will install without problems. You may have a firewall. In this case make sure to open the necessary ports. Also pay attention to popup blockers in your navigator. LAMS worked fine with both IE 6 and Firefox 1.5x.
Documentation and using LAMS
This page is not a resource for endusers like course designers or learners. See:
- LAMS (this wiki)
- Official LAMS 2 installation documentation
- Installing Windows for LAMS (also includes important MySQL configuration information)
- Unix Installation and Updating Help (if you plan to use the unix installer)
- Lams Moodle integration
- Trouble shooting