Notes:
These are notes that I made while setting up a testing instance of Sakai. It is very special-cased because I was attempting to duplicate an existing instance on different hardware with as few variables as possible. The problematic server is a dual-EM64T on SuSE Linux Enterprise 9, and the testing machine is a commodity Intel PC (P4 / 512MB ram) on Ubuntu Breezy Badger.
This is not meant to supplant the existing installation guides, which provide more specific detail of the things that need to be done, but indicate the steps that I took in the order that I took them. It also pulls together setup information about Sakai, OSP, Melete, and JForum in one location. It has been slightly polished, but is still quite rough. It may be particularly helpful for setting up the Melete and JForum-Sakai tools, since the steps are more condensed than in the READMEs.
This information is expected to have a short lifespan, as it uses some already-outdated components.
Official Release/Install Docs
Sakai: http://cvs.sakaiproject.org/release/2.1.2/InstallGuide.html
Melete: http://www.foothillglobalaccess.org/etudes2/release/index.htm (README in archive)
JForum-Sakai: http://www.foothillglobalaccess.org/etudes2/release/discussion/index.htm (README in archive)
Steps:
Java
1) Download Java 2 SDK 1.4.2 release 11
2) Extract j2sdk1.4.2_11.....bin
3) mkdir /opt/java
4) Copy the extracted directory to /opt/java
5) Make a symlink: ln -s /opt/java/j2sdk1.4.2_11 /opt/java/current
6) Configure JAVA_HOME and PATH to point to /opt/java/current and /opt/java/current/bin, respectively
MySQL
1) Download MySQL standard 4.1.15 binary
2) Extract the tgz into /usr/local
3) Create a symlink: ln -s /usr/local/mysql-standard-4.1.15... /usr/local/mysql
4) Follow the rest of the INSTALL-BINARY.TXT instructions
MySQL Connector
1) Download MySQL Connector/J 3.1.12 tar.gz
2) Extract mysql-connector-3.1.12-bin.jar from the tar.gz
Maven
1) Download Maven 1.0.2
2) Extract maven-1.0.2.tar.gz into /opt/java
3) Create a symlink: ln -s /opt/java/maven-1.0.2 /opt/java/maven
4) Update .bash_profile to include /opt/java/maven/bin in PATH
5) Edit or create ~/build.properties
Subversion
1) Activate the breezy backports repository in Synaptic
2) Install the subversion package
Tomcat
1) Download apache-tomcat-5.5.15.tar.gz
2) Download apache-tomcat-5.5.15-compat.tar.gz
3) Extract apache-tomcat-5.5.15.tar.gz
4) Extract apache-tomcat-5.5.15-compat.tar.gz over top of the tomcat directory
5) Place the apache-tomcat-5.5.15 directory in /usr/local/sakai/tomcats
6) Create a symlink: ln -s /usr/local/sakai/tomcats/apache-tomcat-5.5.15 /usr/local/sakai/tomcat
7) groupadd tomcat
8) useradd -g tomcat tomcat
9) chown -R tomcat: /usr/local/sakai
10) Add a JAVA_OPTS entry near the top of tomcat/bin/catalina.sh: JAVA_OPTS="-server -Xmx512m -Xms512m -XX:PermSize=128m -XX:MaxPermSize=128m"
11) Copy the mysql-connector-3.1.12-bin.jar to /usr/local/tomcat/common/lib
Sakai and Related Source
1) Create /usr/local/sakai/downloads
2) Download sakai-src_2-1-2.tar.gz
3) Download melete_os_2.1.2.tar.gz
4) Download sakai_jforum_2_1_1.tar.gz
5) Extract the sakai-src_2-1-2.tar.gz file
6) Extract melete_os_2.1.2.tar.gz in the sakai-src directory
7) Extract sakai_jforum_2_1_1.tar.gz in the sakai-src directory
8) Export the OSP 2.1 release: svn export https://source.sakaiproject.org/svn/trunk/osp/2.1-release/osp-2.1/
9) Export the OSP 2.1 Sakai overlay: svn export https://source.sakaiproject.org/svn/trunk/osp/2.1-release/sakai-overlay/
10) Move the OSP 2.1 source directory into the sakai-src directory
11) Copy the sakai-overlay over top of the sakai-src directory: cp -R sakai-overlay/* sakai-src/
Melete pre-configuration
1) Create the Melete "home", "docs", "uploads", and "packagefiles" directories
2) Edit melete_2-1-2_os_release2.1.2/melete-app/src/webapp/WEB-INF/web.xml
3) Set the homeDir value: /var/melete
4) Set the packagingdir value: /var/melete/packagefiles
5) Set the meleteDocsDir value: /var/melete/meleteDocs
6) Set the uploadDir value: /var/melete/uploads
7) Edit melete_2-1-2_os_release2.1.2/meleteDocs.xml
8) Set the docBase attribute: /var/melete/meleteDocs
9) Copy meleteDocs.xml to /usr/local/sakai/tomcat/conf/Catalina/localhost
10) Edit sakai-src/reference/library/src/webapp/editor/FCKeditor/config.js to include: ['Image'], ['Smiley'],
JForum-Sakai pre-configuration
1) Launch mysql with a privileged account
2) Create the JForum database: CREATE DATABASE jforum DEFAULT CHARACTER SET utf8;
3) Grant access to a JForum/Sakai user: GRANT ALL PRIVILEGES ON jforum.* TO sakai@'localhost' IDENTIFIED BY 'sakai';
4) Flush the grant tables: FLUSH PRIVILEGES;
5) Edit sakai_jforum_Release2.1.1/WEB-INF/config/mysql/mysql.properties to set database host, user, password
6) Create the /var/jforum/upload, /var/jforum/store, and /var/jforum/avatar directories
7) Grant ownership to the tomcat user: chown -R tomcat: /var/jforum
8) Edit sakai_jforum_Release2.1.1/WEB-INF/config/SystemGlobals.properties
9) Set the attachment.upload.dir: /var/jforum/upload
10) Set the attachment.store.dir: /var/jforum/store
11) Set the avatar.path: /var/jforum/avatar
12) Edit sakai-src/reference/library/src/webapp/editor/FCKeditor/config.js to copy the default toolbar to a new "JforumDefault"
13) Set the SMTP settings
14) Change the hash string to some random string of characters
15) Add "-Djava.awt.headless=trueĆ" to your JAVA_OPTS in tomcat/bin/catalina.sh
16) mkdir -p ~/.maven/repository/jcaptcha/jars
17) mkdir -p ~/.maven/repository/htmlparser/jars
18) mkdir -p ~/.maven/repository/oracle/jars
19) mkdir -p ~/.maven/repository/commons-fileupload/jars
20) mkdir -p ~/.maven/repository/commons-io/jars
21) mkdir -p ~/.maven/repository/freemarker/jars
22) mkdir -p ~/.maven/repository/dwr/jars
23) cp WEB-INF/lib/jcaptcha-all-1.0-RC2.0.1.jar ~/.maven/repository/jcaptcha/jars
24) cp WEB-INF/lib/htmlparser-1.5.jar ~/.maven/repository/htmlparser/jars
25) cp WEB-INF/lib/ojdbc14-1.0.jar ~/.maven/repository/oracle/jars
26) cp WEB-INF/lib/commons-fileupload-1.1-dev.jar ~/.maven/repository/commons-fileupload/jars
27) cp WEB-INF/lib/commons-io-1.1-dev.jar ~/.maven/repository/commons-io/jars
28) cp WEB-INF/lib/freemarker-2.3-rc3.jar ~/.maven/repository/freemarker/jars
29) cp WEB-INF/lib/dwr-0.8.1-jforum-1.0.jar ~/.maven/repository/dwr/jars