Section - Sakai Websphere Deployment and Configuration (2.6)
Overview
Deploying applications on the IBM Websphere Application Server (WAS), a J2EE 1.4 compliant application server, is performed using the Integrated Solutions Console (formerly known as the Websphere Admin Console). This is a web-based application installed by default during the WAS installation. It will follow the step-by-step wizard provided by the console.
The Sakai CLE, in the form of an Enterprise Archive (EAR) file, will be deployed using this Integrated Solutions Console. Additional steps will be required to configure Websphere to properly host Sakai.
Requirements
This installation requires IBM Websphere Application Server 6.1.0.17 or higher and access to its Integrated Solutions Console. Please refer to the Websphere Application Server Install Guide for WAS installation information. It also requires the two resulting artifacts from the build process:
- a directory of shared libraries and files will be deployed to the directories specified in the settings.xml file
- the deployable EAR file will be in the 'was/ear/target' directory
If the build took place on a separate server than the one that Websphere Application Server is installed on, then copy the directory of shared libraries and files to a location on the filesystem that is WAS has read/write access to.
Deployment
Startup and Verification
First start up and verify that Websphere has been installed properly by following the next two steps.
In your terminal, browse to the new profile you created and navigate to its firststeps directory. Type './firststeps.sh' to start Deployment. The Above screen should appear. Click 'Start the server' and verify that WAS and the profile created can start successfully.
In the First Steps menu, click on Administrative Console.
Setting up the Shared Library
Websphere must be configured to use Sakai's shared library files found in the common/lib
, server/lib
, and shared/lib
directories.
The Integrated Solutions Console should appear. Make a note of the URL. Enter the username and password if required (determined during the WAS installation process) and click the 'Log in' button to enter.
Click on Environment -> Shared Libraries. Set the scope to the option which defines both the Node and Server values. Click New.
Enter the name of the new Shared Library as 'sakaiLib
'. Enter the directory paths for the common, server and shared libraries, as determined in Section 3 or during the build process. For eg.
/opt/WASshared/common/lib/ /opt/WASshared/server/lib/ /opt/WASshared/shared/lib/
Make sure each path has a trailing / and click OK and save the changes made.
Click on Application servers -> server1 -> Java and Process Management -> Class Loader and click the New button.
Select 'Classes loaded with application class loader first' and click OK.
Click on the newly defined Class loader and then click the 'Shared library references' link.
Click the New button and select 'sakaiLib' as the Library name. Click OK and save the changes.
Configure Websphere's Java Runtime Environment
Websphere's JRE must be configured properly for Sakai. This includes telling it where the sakai home and components directories are. For the sakai home directory, choose a directory on the filesystem accessible by Websphere with read/write access.
Click on Application servers -> server1 -> Java and Process Management -> Process Definition -> Java Virtual Machine. In the Generic JVM arguments field, set the sakai.home and sakai.components.root system properties to the paths to the sakai home and components folders respectively, using trailing slashes. In addition set the -Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.TransformerFactoryImpl
. Finally, set the sakai.demo=true
if you want to use the built in sample course management data. For eg:
-Dsakai.home=/opt/WASshared/sakai/ -Dsakai.components.root=/opt/WASshared/components/ -Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.TransformerFactoryImpl -Dsakai.demo=true
In addition, it is highly recommended to set the Initial Heap and Maximum Heap sizes to an appropriate amount for the server. An initial heap size of 1024
is recommended.
Configure Websphere's Session Management
Websphere's session management must be configured to use a different 'cookie' ID than the one Sakai uses. Not following this step can lead to corrupted user sessions which causes the user to automatically logout. Click Servers > Application servers > server_name > Web container settings > Session management > Enable cookies. Change the Cookie Name to something other than "JSESSIONID", for eg. "WASSESSIONID".Â
Install the Sakai EAR File
The Sakai EAR file can now be deployed.
Click Applications -> Install New Application and select the Remote file system. Supply the path to the Sakai CLE EAR file created during the build process and then click Next.
Accept the default options by clicking Next.
View the list of WAR modules to be installed and click Next.
Use the default virtual host for the WAR modules by accepting the default and click Next.
Verify and click Finish.
Installation will start. Once complete, click Save. Once the saving process is complete, shutdown Websphere.
Sakai Configuration
Use an existing sakai.properties file or customize the reference version in the source, found in the reference\docs\sakai.properties
. This must be copied to the previously selected sakai home directory.
Edit the file and uncomment the 'servlet.container
' property, setting it to 'websphere
'.
servlet.container=websphere
Restart
Before restarting, if on Linux, ensure that the ulimit for the server is at 4096 or higher. Please note that if you set the ulimit by running 'ulimit -n <size>
', it only affects the current shell. See the Requirements section of the Websphere Application Server Install Guide for more information.
Restart Websphere to start the Sakai CLE on WAS.