I was recently introduced to LifeRay and determined that I would setup a Virtual Machine & configure it to run LifeRay on TomCat 6.0 with a Postgres database.
I have a preference toward Debian and since I had a base install on a Virtual Machine, I began by duplicating it and updating it to Sid. (I later installed on a testing version as well following the same procedures outlined below.)
After some light reading on the Liferay site I realized that they didn't have complete documentation for a PostgreSQL installation for the 5.x versions. It appears that there have been extensive changes since these most recent releases.
_____________________________________
To begin I downloaded the LifeRay Portal bundle with TomCat 6.0 :
cd /usr/local/src/
wget http://sourceforge.net/projects/lportal/files/Liferay%20Portal/liferay-portal-tomcat-6.0-5.2.3.zip
cd /usr/local
unzip liferay-portal-tomcat-6.0-5.2.3.zip
Make the shell scripts executable.
cd /usr/local/liferay-portal-5.2.3/tomcat-6.0.18/bin/
chmod +x *.sh
Obtain the following package:
Note: You must have the option of "non-free" in your apt sources list.
apt-get install sun-java6-jdk
Check the java version
java -version
Update ./home/user/.bashrc and add the following line.
# JAVA6
export JAVA_HOME=/usr/lib/jvm/java-6-sun
Add the following to JAVA_OPTS line
Note: DEBIAN Users must modify the setenv.sh file for TomCat and add the following variable if using a testing version Debian or have upgraded from a testing version of Debian. (Thanks to Mr. LBR for pointing this out) You may reference this issue at the following website http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572048
Add the following to JAVA_OPTS line
-Djava.net.preferIPv4Stack=true
OPTIONAL: If desired, you can simply start TomCat and allow LifeRay to use it's built in database HyperSQL. I initially installed LifeRay with its default configuration so I could verify that I had a working installation prior to moving to PostgreSQL.
/usr/local/liferay-portal-5.2.3/tomcat-6.0.18/bin/start.sh
The default configuration starts TomCat on port 8080.
The log file is located at:
/usr/local/liferay-portal-5.2.3/tomcat-6.0.18/logs/
Tail the log file.
tail -f catalina.out
Once you see a line similar to the following, you may access your portal.
INFO: Server startup in 62000 ms
Continuing on with a PostgreSQL database installation, you will need to stop TomCat by running the "Shutdown.sh" script found in the same location as the "start.sh" script.
Obtain Postgres. I also installed "-doc" package but didn't note it here.
apt-get install postgresql
Start Postgres, setup a user for postgres, create a new database.
/etc/init.d/postgresql start
adduser newuser
Become a superuser
su postgres
Connect to the Database server.
psql template1
template1=# CREATE USER newuser WITH PASSWORD 'newuserpassword';
template1=# CREATE DATABASE liferay;
template1=# GRANT ALL PRIVILEGES ON DATABASE liferay to newuser;
template1=# \q
template1=# \q
Configure Liferay to use the PostgreSQL Database.
I found that the version or package that I downloaded did not actually have the following file. I had to create this file. If your version has this file please modify it with the following.
cd /usr/local/liferay-portal-5.2.3/tomcat-6.0.18/webapps/ROOT/WEB-INF/classes
vi portal-ext.properties
Insert the following lines with modifications to the database name, username & password to match your configuration.
jdbc.default.driverClassName=org.postgresql.Driver
jdbc.default.url=jdbc:postgresql://localhost:5432/liferay
jdbc.default.username=newuser
jdbc.default.password=newuserpassword
Start TomCat and tail the log file.
/usr/local/liferay-portal-5.2.3/tomcat-6.0.18/bin/start.sh
The default configuration starts TomCat on port 8080.
The log file is located at:
/usr/local/liferay-portal-5.2.3/tomcat-6.0.18/logs/
Tail the log file.
tail -f catalina.out
Once you see a line similar to the following, you may access your portal.
INFO: Server startup in 62332 ms
Login at: http://localhost:8080
Admin access can be obtained by logging in with the following credentials (as per LifeRay.com)
Username: bruno@7cogs.com
Password: bruno
Overview: Overall this was not a difficult process. There were a few hurdles along the way getting the postgres database configured as I wanted with a different user than "postgres". These were very minor and were primarily resolved once I found the proper location for the portal-ext.properties file.
PostgreSQL - Postgresql - website & database commands.
YouTube - Howto change the default Logo on Liferay. Saved me hunting around in the "control panel".
UPDATE 8/3/2010 - Tested ver. 6.0.4 GA2
UPDATE 8/3/2010 - Tested ver. 6.0.4 GA2
- Found documentation still applicable.
- Removed "SevenCogs" data in WEBAPPS folder prior to start up so no "example" data was deployed. This required using the default username of test@liferay.com and password of "test" to access the admin console.
- Debian (testing) users will need to download and install (apt-get) default-java instead of sun-java6-jdk.
- All other steps worked as documented