you can signup and download Liferay from
https://www.liferay.com/downloads/liferay-portal/available-releases
for my case, i created /opt
and unzip the zip file into it
# unzip liferay-portal-jboss-6.2-ee-sp14-20151105114451508.zip
before we start anything, i had manual downloaded Java JDK 7 release 79 and install it
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
once you extract out liferay, please try to run it to confirm the file you download is working
# cd /opt/<Liferay>/<jboss-version>/bin
# ./standalone.sh
you can test it by access 127.0.0.1:8080 with browser
by default, standalone is listen to 127.0.0.1 only and if your Linux didnt install with gui, you need to mortify it.
CTRL + C to stop the jboss
# cd ..
# cd standalone/configuration/
# vim standalone.xml
---------------- Default -------------------
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
</interface>
</interfaces>
-------------- Change to -----------------
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:<your server ip>}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:<your server ip>}"/>
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:<your server ip>}"/>
</interface>
</interfaces>
----------------------------------------------
restart the jboss liferay and test again using your <server-IP>:8080
# cd ../../bin/
# ./standalone.sh
---------------- Connecting to MySQL Database ---------------------
you need to download the mysql connector from
https://www.mysql.com/products/connector/
choose JDBC Driver for MySQL (Connector/J)
extract the file and copy the mysql-connector-java-5.1.38-bin.jar
to this location
/opt/<Liferay-location/<jboss-version>/modules/com/liferay/portal/main/
edit the module.xml
add this under <resource>
<resource-root path="mysql-connector-java-5.1.38-bin.jar" />
example:
<resources>
<resource-root path="hsql.jar" />
<resource-root path="jtds.jar" />
<resource-root path="mysql-connector-java-5.1.38-bin.jar" />
<resource-root path="portal-service.jar" />
<resource-root path="portlet.jar" />
<resource-root path="postgresql.jar" />
</resources>
------------------ Configure httpd to divert traffic to Liferay jboss ------------------
Download and install httpd-devel
# yum install httpd-devel
download mod_jk from
https://tomcat.apache.org/download-connectors.cgi
extract it the file, configure, make and make install
it will automatic deploy the mod_jk into your apache
If you encounter error saying
no apache given
no netscape given
configure: error: Cannot find the WebServer
then you need to configure --with-apxs
but before that, find out your apxs location
# find / -iname apxs
# ./configure --with-apxs=/usr/bin/apxs
now go to /etc/httpd/conf.d/
create worker.properties file and put this into it
# vim worker.properties
worker.list=worker1,node1,status
worker.jkstatus.type=status
#node1
worker.node1.port=8009
worker.node1.host=172.20.17.64
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.ping_mode=A
# Load-balancing behaviour
worker.worker1.type=lb
worker.worker1.balance_workers=node1
worker.worker1.sticky_session=1
then create mod_jk.conf file and put this into it
# vim mod_jk.conf
LoadModule jk_module modules/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile /etc/httpd/conf.d/worker.properties
JkShmFile /var/log/httpd/mod_jk.shm
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel info,debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkMount /* worker1
</IfModule>
Before we start apache, we need to configure the jboss to listen to port 8009 AJP1.3
by default it was disable at standalone.xml
# cd /opt/liferay-portal-6.2-ee-sp14/jboss-7.1.1/standalone/configuration/
# vim standalone.xml
----- default ------
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<configuration>
<jsp-configuration development="true"/>
</configuration>
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="false">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
------- change to --------
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<configuration>
<jsp-configuration development="true"/>
</configuration>
<connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
<virtual-server name="default-host" enable-welcome-root="false">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
-----------------------------
Start jboss and httpd service and test it by accessing your server ip without port 8080
once success to see the pages, now we need to create a startup script
---------- startup --------------
by default, in jboss/bin/init.d directory, it already have the startup script name jboss-as-standalone.sh
If you are using RHEL 6 or before, you can just make a symlink from /etc/init.d/jboss and point to this file
for RHEL7, it a bit tricky since it use systemd
but before that, edit the jboss-as-standalone.sh and define the
JBOSS_CONF="/opt/<liferay-location>/<jboss-ver>/bin/init.d/jboss-as.conf"
JBOSS_HOME=/opt/<liferay-location>/<jboss-ver>
then go to /usr/lib/systemd/system
create jboss.service file and put this
[Unit]
Description=Jboss Application Server
After=syslog.target
After=network.target
[Service]
Type=forking
PIDFile=/var/run/jboss-as/jboss-as-standalone.pid
ExecStart=/opt/<liferay-location>/<jboss-ver>/bin/init.d/jboss-as-standalone.sh start
ExecStop=/opt/<liferay-location>/<jboss-ver>/bin/init.d/jboss-as-standalone.sh stop
TimeoutStartSec=300
TimeoutStopSec=300
[Install]
WantedBy=multi-user.target
then go to /etc/systemd/system/multi-user.target.wants and create symlink point to the file just now
then enable this for startup list
# systemctl enable jboss.service