Liferay Installation unter Ubuntu Linux
Liferay Portal ist eine Enterprise-Web-Plattform für den Aufbau von Businesslösungen, die sofortige Ergebnisse und langfristige Werte liefert. (Zitat: http://www.liferay.com/de/products/liferay-portal/overview)
Vorbereitung
Für Liferay wird ein Oracle Java JDK und ein MySQL Server benötigt, wie man diese installiert findet ihr hier:
Datenbank anlegen:
mysql -u root -p
CREATE USER 'liferay'@'localhost' IDENTIFIED BY 'YOURPASSWORD';
GRANT USAGE ON * . * TO 'liferay'@'localhost' IDENTIFIED BY 'YOURPASSWORD' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `lportal` ;
GRANT ALL PRIVILEGES ON `lportal` . * TO 'liferay'@'localhost';
Installation
Die Liferay Installation ist ziemlich einfach, einfach Ordner entpacken und starten! Ich mache hier allerdings noch aus Sicherheitsgründen Liferay unter einem eigenen User verfügbar und lasse es nicht als root laufen. Als erstes holen wir uns das aktuelle Paket des Liferay-Portal Community Edition von der Liferay Webseite und legen es unter /srv
ab.
ls -l /srv
-rw-r--r-- 1 liferay liferay 293229820 Dec 16 08:55 liferay-portal-tomcat-6.2.0-ce-ga1-20131101192857659.zip
Nun entpacken wir das Ganze:
cd /srv
unzip liferay-portal-tomcat-6.2.0-ce-ga1-20131101192857659.zip
Nun werden noch 2 Symlinks zur besseren Handhabung und Updatefähigkeit erstellt:
ln -s liferay-portal-6.2.0-ce-ga1 liferay-portal
cd liferay-portal
ln -s tomcat-7.0.42 tomcat
Nun legen wir einen User an und geben ihm die Rechte auf das Liferay Verzeichnis:
useradd -d /srv/liferay-portal -s /bin/bash liferay
chown liferay.liferay -R liferay-portal*
Nun kann der erste Starttest laufen:
su - liferay
cd /srv/liferay-portal/tomcat/bin/
./startup.sh
Nach ca. 30-60s sollte der Aufruf folgender URL den Setup Assistenten von Liferay bringen:
- http://YOUSERVERIP:8080/
Hier können diverse Dinge angepasst werden. Das wichtigste ist die Datenbankverbindung. Hier muss der User, das Passwort und ganz wichtig der Datenbankname angepasst werden. Der Standard DB Name ist lportal
.
Nach der Erfolgreichen Konfiguration kommt es zum Akzepttieren der Nutzungsbedingungen und der Vergabe des Passwortes für den Admin User. FERTIG.
Zum Schluss den Liferay Server wieder herunterfahren, da man das Ganze ja über ein INIT Script handhaben möchte.
./shutdown.sh
Init Script zum Starten
/etc/init.d/liferay
#!/bin/bash
#
# tomcat This shell script takes care of starting and stopping Tomcat
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Short-Description: start and stop tomcat
### END INIT INFO
TOMCAT_USER=liferay
TOMCAT_HOME="/srv/liferay-portal/tomcat/"
SHUTDOWN_WAIT=45
tomcat_pid() {
echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`
}
start() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Tomcat is already running (pid: $pid)"
else
# Start tomcat
echo "Starting tomcat"
/bin/su - -c "cd $TOMCAT_HOME/bin && $TOMCAT_HOME/bin/startup.sh" $TOMCAT_USER
fi
return 0
}
stop() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Stoping Tomcat"
/bin/su - -c "cd $TOMCAT_HOME/bin && $TOMCAT_HOME/bin/shutdown.sh" $TOMCAT_USER
let kwait=$SHUTDOWN_WAIT
count=0
count_by=5
until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
do
echo "Waiting for processes to exit. Timeout before we kill the pid: ${count}/${kwait}"
sleep $count_by
let count=$count+$count_by;
done
if [ $count -gt $kwait ]; then
echo "Killing processes which didn't stop after $SHUTDOWN_WAIT seconds"
kill -9 $pid
fi
else
echo "Tomcat is not running"
fi
return 0
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Tomcat is running with pid: $pid"
else
echo "Tomcat is not running"
fi
;;
*)
echo "Usage: /etc/init.d/liferay {start|stop|restart|status}"
exit 1
;;
esac
exit 0
Nun noch das execute Recht vergeben:
chmod 755 /etc/init.d/liferay
in den Autostart:
update-rc.d liferay defaults 99
Und testen:
/etc/init.d/liferay status
/etc/init.d/liferay start
/etc/init.d/liferay stop
Liferay Portal hinter Apache HTTPd
Will man Liferay hinter einen Apache Server stellen, was sich meist immer beim Einsatz eines Tomcats emphiehlt, kann man den folgenden Vhost nutzen:
# AJP Proxy <Proxy balancer://LIFERAY> BalancerMember ajp://127.0.0.1:8009 </Proxy> <VirtualHost *:80> ServerName www.domain.tld ServerAlias domain.tld ErrorLog /var/log/apache2/www.domain.tld-error.log CustomLog /var/log/apache2/www.domain.tld-access.log combined RewriteCond %{HTTP_HOST} !^www\.domain\.tld [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) http://www.domain.tld/$1 [L,R] # Disable TRACE method RewriteCond %{REQUEST_METHOD} ^TRACE RewriteRule .* - [F] ProxyPass / balancer://LIFERAY/ </VirtualHost>
Es wird natürlich noch das AJP Proxy Modul benötigt:
a2enmod proxy_ajp
a2enmod proxy_balancer
Nun den vhost aktivieren:
a2ensite www.domain.tld
service apache2 restart
Nun sollte Liferay unter:
- http://www.domain.tld
erreichbar sein. Falls ihr noch keinen Apache installiert habt, eine Anleitung findet ihr hier: