Hallo zusammen,
anbei eine kurze Zusammenfassung wie man Liferay auf einem bereits installierten Glassifish Application Server (Version 2) zum Laufen bringt. Bei Liferay handelt es sich um eine Open Source Portal / Collaboration software (mit kommerziellen Ablegern und Support), die so ziemlich alles beinhaltet was momentan "State-of-the-art" im Portalsoftwareumfeld ist.
Die Webseite des Projektes erreicht man unter http://www.liferay.com/web/guest/home, die entsprechenden Archive kann man via sourceforge.net.
Folgende Pakete muss man aus dem Unterprojekt Liferay Portal herunterladen
- Liferay Portal 5.2.2 WAR File ( liferay-portal-5.2.2.war )
- Liferay Portal 5.2.2 Dependencies file ( liferay-portal-dependencies-5.2.2.zip)
- Liferay Portal 5.2.2 SQL Scripte (liferay-portal-sql-5.2.2.zip)
- Liferay Portal 5.2.2 Extensions ( liferay-portal-ext-5.2.2.zip)
Konfigurieren der MySQL Datenbank
Im ersten Schritt legen wir einen Datenbank namens lportal an.mysql -uroot -ppassword create database lportal;
Alternativ kann man Datenbank und Tabellen + Inhalte über eines der mitgelieferten Skripte aus dem liferay-portal-sql-5.2.2.zip
mysql -uroot -ppassword < create-minimal-mysql.sql
Anschliessend erzeugt man noch einen User lportal (Defaultmässiges Passwort lportal) und verpasst dem User die nötigen Rechte
mysql> grant all on lportal.* to lportal identified by 'lportal'; mysql> grant all on lportal.* to lportal@localhost identified by 'lportal';
Erzeugen einer neuen Glassfish Domain
Mittels asadmin erzeugen wir eine neue Domain namens lportal/usr/local/glassfish/bin/asadmin create-domain --adminport 14848 --instanceport 18080 lportal Please enter the admin user name> Please enter the admin password> Please enter the admin password again> Please enter the master password [Enter to accept the default]:> Please enter the master password again [Enter to accept the default]:> Using port 14848 for Admin. Using port 18080 for HTTP Instance. Default port 7676 for JMS is in use. Using 50684 Default port 3700 for IIOP is in use. Using 50685 Default port 8181 for HTTP_SSL is in use. Using 50686 Default port 3820 for IIOP_SSL is in use. Using 50687 Default port 3920 for IIOP_MUTUALAUTH is in use. Using 50688 Default port 8686 for JMX_ADMIN is in use. Using 50689 Domain being created with profile:developer, as specified by variable AS_ADMIN_PROFILE in configuration file. Security Store uses: JKS Domain lportal created.
Installation der benötigten Bibliotheken
Nachdem die Domain erfolgreich erzeugt wurde, müssen wir einige Bibliotheken in das lib Verzeichnis der Domain kopieren (in meinem Fall liegt dieses unter /usr/local/glassfish/domains/lportal/lib)Im folgenden Liste ich alle Archive auf, die benötigt werden um das Portal lauffähig zu bekommen, etliche Anleitungen arbeiten nur mit einem Subset meiner Auswahl, jedoch führt dies in der Konstellation Liferay 5.2.2 / Glassfish 2.1 zu etlichen Exceptions.
Folgende Archive müssen aus den jeweiligen Überverzeichnissen kopiert werden
liferay-portal-dependencies-5.2.2
- container.jar
- portal-kernel.jar
- portal-service.jar
- portlet-container.jar
- portlet.jar
- saw-api.jar
- mysql.jar
- serializer.jar
- xalan.jar
- xercesImpl.jar
Anlegen der JDBC Pools / JDBC Resourcen
Die folgende Schritte können alternativ über das Web-Gui des Application-Server durchgeführt werden. Die Url für die Adminoberfläche ist http://localhost:14848.Als erstes erzeugen wir den Conectionpool mit folgender Anweisung
/usr/local/glassfish/bin/asadmin create-jdbc-connection-pool \ --datasourceclassname com.mysql.jdbc.jdbc2.optional.MysqlDataSource \ --host localhost \ --port 14848 \ --user lportal \ --restype javax.sql.DataSource \ --description "MySQL Liferay Portal 5.2.2" \ --property ServerName=localhost:Password=lportal:DatabaseName=lportal:User=lportal:Port=3306:PortNumber=3306:LoginTimeout=0:ProfileSql=false \ MySQL_Liferay Please enter the admin password> Command create-jdbc-connection-pool executed successfully.
aschliessend erstellen wir die entsprechende JDBC Resource
/usr/local/glassfish/bin/asadmin create-jdbc-resource \ --connectionpoolid MySQL_Liferay --host localhost \ --port 14848 \ --user lportal \ --enabled=true \ --description "Liferay Portal 5.2.2 Pool" \ jdbc/LiferayPool Please enter the admin password> Command create-jdbc-resource executed successfully.
Anlegen einer JavaMail Resource
Um einen Mailversand aus dem Portal zu ermöglichen, muss noch eine JavaMail Resource erzeugt werden/usr/local/glassfish/bin/asadmin create-javamail-resource \ --mailhost localhost \ --mailuser root@localhost \ --fromaddress root@localhost \ --host localhost \ --port 14848 \ --user lportal \ --enabled=true \ --description "Liferay Portal Mail" \ mail/MailSession
Deployment der Applikation
Nachdem alle vorbereitenden Schritte abgeschlossen sind, starten wir die Application Server Instanz einmal durch/usr/local/glassfish/bin/asadmin stop-domain lportal /usr/local/glassfish/bin/asadmin start-domain lportal
und deployen die Applikation
/usr/local/glassfish/bin/asadmin deploy \ --host localhost \ --port 14848 \ --user lportal \ --contextroot / \ --precompilejsp=false \ --verify=false \ --name "Liferay-Portal-5.2.2" \ --enabled=true \ liferay-portal-5.2.2.war
Nachdem der Deployvorgang abgeschlossen ist, muss unterhalb der Applikationsverzeichnis noch ein Properties File names
portal-ext.properties mit folgendem Inhalt (einer Referenz auf die entsprechende JDBC Resource)
jdbc.default.jndi.name=jdbc/LiferayPool
in folgendem Verzeichnis
/usr/local/glassfish/domains/lportal/applications/j2ee-modules/Liferay-Portal-5.0.1/WEB-INF/classes/
angelegt werden.
Nach einem weiteren Neustart der Domain, erreicht man die Applikation unter
http://localhost:18080/web/guest und kann sich mit test@liferay.com und dem Passwort liferay anmelden
Viel Spass beim Ausprobieren
Kurt
P.S. Folgende Links waren recht hilfreich
http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Database+Configuration
http://blogs.sun.com/ashamash/entry/deploying_liferay_into_an_existing
http://hobione.wordpress.com/2008/12/08/liferay-portal-on-glassfish-app-server/