Title: Liferay, Jira & Crowd Integration
1Liferay, Jira Crowd Integration
Prepared By Attune Infocom Pvt
Ltd www.attuneinfocom.in contact_at_attuneinfocom.in
2Liferay Installation
2
- Installation requirement for liferay 1GB RAM
- Download liferay distribution with various
application server for now we will use liferay
tomcat6 - Intsall java jdk and environment variable
JAVA_HOME set to OS - You can Download the desired bundle from
http//www.liferay.com/web/guest/downloads/portal
and unzip to particular folder - Run Liferay by double-click on the startup.bat.
Open a browser and go to http//localhost8080 - Liferay have sample data with it (7cogs) to demo
application to remove this, delete seven-cog
folder from liferay-dir/tomcat/web-apps/ in
liferay-dir/data/ also delete hsql database
folder - Re-start your application using startup.bat
- Liferay can be configured to use many different
databases. i.e. we will change the default
database (Hypersonic) of the Liferay-Tomcat
bundle to point to a MySQL database
3Liferay Installation
3
- We are now using Liferay v5.2 unifies the
configuration of the database in a single file
for all application servers. As most other
configuration options you can set this up in the
portal - ext.properties file as follows (example
for MySQL) - jdbc.default.driverClassNamecom.mysql.jdbc.Driver
jdbc.default.urljdbcmysql//localhost/lportal?u
seUnicodetruecharacterEncodingUTF-8useFastDate
Parsingfalse - jdbc.default.username
- jdbc.default.password
- If you dont have existing portal-ext.pro file
than manually create it and save it to -
liferay-home\tomcat\webapps\ROOT\WEB-INF\class
es - Now you have to make sure that you have already
created database like this - create database
lportal character set utf8 - If you want configure extra setting than read
full administration pdf from liferay.com and
install appropriate libraries -
4Jira Installation
4
- Pre-requisite for Jira Installation
- Browsers if you have disabled Javascript in
your browser or are using a script blocker like
NoScript, you will need to enable Javascript for
JIRA to get the full experience JIRA has to
offer. - Java - JIRA requires a Java Developers Kit
(JDK) to be installed on the server and set java
home variable JAVA_HOME - Application Server tomcat 5 or 6 or any
other server
5Jira installation
5
- Jira available in two distributions
standalone and ear/war - We will install in war distribution and uses
tomcat version 6 - First you download your application
distribution from
http//www.atlassian.com/software/jira/JIRADownloa
dCenter.jspa and unzip JIRA, Ensure that you
download the WAR/EAR version, not the Standalone
version that is recommended on the Downloads page.
6Jira Configuration for war distribution
6
- JIRA needs to be told what type of database
you'll be using. The database is specified in - JIRA_INSTALL/edit-webapp/WEB-INF/classes/entityen
gine.xml - Locate the ltdatasourcegt tag near the bottom, and
change the field-type-name attribute value. See
the relevantsetup guide for your database to find
out what value should be used for
field-type-name - Also in entityengine.xml , ensure the
lttransaction-factorygt...lt/transaction-factorygt
tag contains
7Jira Configuration for war distribution
7
- Specify the location of your JIRA Home
Directory - (note that you need to do this before you
build JIRA) - Edit the jira-application.properties file
- (see the JIRA Installation Directory page to
find where this file is located), add a
'jira.home' property and set it to your desired
location for JIRA home directory. Please use
forward-slashes ("/") - Tomcat does not come with some libraries
required to run JIRA. To fix this, download
jira-jars-tomcat6.zip (1.5Mb), and copy the
contained jars to Tomcat's lib/ directory. - To prevent exceptions related to logging, please
ensure that commons-logging-1.0.4.jar and
log4j-1.2.15.jar are present in Tomcat's /lib/
directory. Also ensure that these files are not
present in Tomcat's webapps/jira/WEB-INF/lib
directory. - Additionally, if you are running Sun's
distribution of Tomcat, download tomcat-dbcp.jar
and copy it to the tomcat6/lib directory.
8Jira Configuration for war distribution
8
- A JIRA 'context' now needs to be set up in
Tomcat. To do this - Make a Catalina/localhost/ directory in Tomcat's
conf/ directory. - Copy dist-tomcat/tomcat-6/jira.xml from the built
JIRA distribution to your Tomcat's
conf/Catalina/localhost/ directory. - Customise the copied jira.xml as follows
9Jira Integration with crowd
9
- Prerequisites
- To install crowd Refer to the Crowd
installation guide for instructions. We will
refer to the Crowd root folder as CROWD. - To install JIRA (version 3.7.4 or later). Refer
JIRA installation guide We will refer to the JIRA
root folder as JIRA. - Purposes of this document is, we will assume
that you have used the 'Standalone' (i.e. the
easier and recommended) installation method of
JIRA. If you need to install JIRA as an EAR/WAR,
simply explode the EAR/WAR and make the necessary
changes as described below, then repackage the
EAR/WAR. - Run the JIRA Setup Wizard, as described in the
JIRA documentation During this setup process, you
will define the JIRA administrator's username and
password. It is easier to do this before you
integrate JIRA with Crowd. - After setting up JIRA, shut down JIRA before you
begin the integration process described below.
10Jira Integration with crowd
10
- The JIRA application will need to locate users
from a directory configured in Crowd. You will
need to set up a directory in Crowd for JIRA.
This directory may be any Crowd-configured
directory, such as an LDAP directory hooked up to
Crowd or a Crowd internal directory. - JIRA also requires particular groups to exist
in the directory in order to authenticate users.
You need to ensure that these three groups exist
in the JIRA Directory in Crowd - jira-users
- jira-developers
- jira-administrators
- You also need to ensure that the JIRA
Directory in Crowd contains at least one user who
is a member of all three groups. - Log in to the Crowd Administration Console and
navigate to Applications gt Add Application. - Complete the 'Add Application' wizard for the
JIRA application. See the instructions. The Name
and Password values you specify in the 'Add
Application' wizard must match the application.
name and application.password that you will set
in the JIRA/atlassian-jira/WEB-INF/classes/crowd.p
roperties file.
11Jira Integration with crowd
11
- Once Crowd is aware of the JIRA application,
Crowd needs to know which users can authenticate
(log in) to JIRA via Crowd. As part of the 'Add
Application' wizard, you will set up your
directories and group authorizations for the
application.
12Jira Integration with crowd
12
- If you are using the Crowd WAR distribution,
then you will need to get the CROWD client
libraries from the standalone distribution,
available on our download site. - Copy the Crowd client libraries and configuration
files to JIRA - Copy From Copy To
- CROWD/client/crowd-integration-client-X.X.X.jar
JIRA/atlassian-jira/WEB-INF/lib
CROWD/client/conf/crowd.properties
JIRA/atlassian-jira/WEB-INF/classes - If you are using JIRA 3.11 or earlier, you
will need to remove the seraph-0.7.12.jar file
from JIRA's WEB-INF/lib/ directory and replace it
with the following filehttp//repository.atlassi
an.com/maven2/com/atlassian/seraph/atlassian-serap
h/0.10/atlassian-seraph-0.10.jar - If you are using JIRA 3.12.2 or earlier, you
will need to update JIRA's xfire libraries
Remove the xfire-all-1.2.1.jar file from JIRA's
WEB-INF/lib/ directory. Copy the following two
files from Crowd's client/lib/ directory to
JIRA's WEB-INF/lib/ directory - xfire-aegis-1.2.6.jar
- xfire-core-1.2.6.jar
13Jira Integration with crowd
13
- Replace JIRA's cache configuration file Copy
From CROWD/client/conf/crowd-ehcache.xml Replace
File JIRA/atlassian-jira/WEB-INF/classes/crowd-eh
cache.xml - Edit JIRA/atlassian-jira/WEB-INF/classes/crowd.
properties. Change the following properties - application.name jira The application name
must match the name that you specified when you
defined the application in Crowd (see Step 1
above). - application.password -- The password must match
the one that you specified when you defined the
application in Crowd (see Step 1 above). - crowd.server.url -- http//localhost8095/crowd/s
ervices/ If your Crowd server's port is
configured differently from the default (i.e.
8095), set it accordingly. - session.validationinterval -- Set to 0, if you
want authentication checks to occur on each
request. Otherwise set to the number of minutes
between request to validate if the user is logged
in or out of the Crowd SSO server. Setting this
value to 1 or higher will increase the
performance of Crowd's integration.
14Jira Integration with crowd - Authenticator
14
- Edit the JIRA config file JIRA/atlassian-jira/W
EB-INF/classes/osuser.xml. Comment out any
existing authentication providers and
uncomment/insert the Crowd providers
15Jira Integration with crowd - Authenticator
15
- View JIRA/atlassian-jira/WEB-INF/classes/proper
tyset.xml. If there is no entry for the
CrowdPropertySet, add the following ltpropertysetgt
item at the end of the file as the last
ltpropertysetgt item - ltpropertyset name"crowd" lass"com.atlassian.crow
d.integration.osuser.CrowdPropertySet"/gt - At this stage, JIRA is set up for centralised
authentication. If you wish, you can now enable
single sign-on (SSO) to JIRA. - Skip this step if you are using the JIRA NTLM
plugin to enable SSO. Instead, follow the
instructions on configuring JIRA for NTLM SSO.
Edit JIRA/atlassian-jira/WEB-INF/classes/seraph-c
onfig.xml. Change the authenticator node to read
ltauthenticator class"com.atlassian.crowd.integrat
ion.seraph.JIRAAuthenticator"/gt - JIRA's authentication and access request calls
will now be performed using Seraph. Now when
authentication or access request calls are
performed versus the OS User framework, the JIRA
stack will call the Crowd providers and property
set implementations.
16Crowd Installation
16
- Download Crowd. Please check your unzip
program before extracting the downloaded archive
see the note on the Crowd installation front
page - Unzip the download archive into a directory of
your choice. Note Do not specify directory names
that contain spaces. We'll refer to this
installation directory as CROWD_INSTALL. - Specify your Crowd Home directory by editing
the configuration file at
CROWD_INSTALL\crowd-webapp\WEB-INF\classes\crowd
-init.properties. - The Crowd Home directory is where Crowd will
store its configuration information. If you are
using the embedded HSQL database, supplied for
evaluation purposes, Crowd will also store its
database in this directory. To specify the
directory - Open the crowd-init.properties file.
- Choose the appropriate line in the file,
depending upon your operating - Remove the at the beginning of the line.
- Enter name of the directory you want Crowd to use
as its Home directory. - On Windows 1.crowd.homec/data/crowd-home
17Crowd Installation
17
- Run the start-up script, found in your
CROWD_INSTALL directory - start_crowd.bat for Windows.
- start_crowd.sh for Mac and Unix-based systems.
- Point a web browser at http//localhost8095/crowd
where you will see the Crowd Setup Wizard.
Follow the instructions in the Wizard. You can
also read more information about the Setup
Wizard. - Go to the following URL in your web browser
http//localhost8095/crowd or http//localhost80
95/crowd/console. - If there are no errors, you should see the
'License' screen described below. - If there is an error in your configuration, you
will see the 'Crowd Checklist' screen. Read more
about troubleshooting your installation.
18Crowd Installation
18
- Licensing
- Installation Type
19Crowd Installation
19
20Crowd Installation
20
- Mail Server
- Notification Email Address The email address
which will receive notifications about server
events. - From Email Address Crowd will add this email
address as the 'sender' on the emails generated
by Crowd and sent to users. - Subject Prefix The prefix which will appear
at the start of the email subject, for all emails
generated by Crowd. This can be useful for email
client programs that offer filtering rules. - Mail Server Type Select the 'SMTP Server'
radio button. - SMTP Host The hostname of the SMTP mail
server, e.g. 'localhost' or 'smtp.acme.com'. - SMTP Port The port on which the SMTP mail
server listens. The default is '25'. - Username The username that your Crowd server
will use when it logs in to your mail server. - Password The password that your Crowd server
will use when it logs in to your mail server.
21Crowd Installation
21
22Thank you!
22
Contact Us For more information Attune
Infocom Pvt Ltd www.attuneinfocom.com contact_at_at
tuneinfocom.com Phone 91-79-40047259 Cell
91-9737339652