INSTALL

Wed, 07 Aug 2024 18:02:38 +0200

author
Mike Becker <universe@uap-core.de>
date
Wed, 07 Aug 2024 18:02:38 +0200
changeset 317
c2d7a9079853
parent 262
c357c4e69b9e
permissions
-rw-r--r--

fix order of commit references - fixes #375

Installing LightPIT
-------------------

1. Install a supported database server

Currently this is only Postgresql. See the Postgresql manual for installing a
database instance. On most systems it is sufficient to install the server via
the system package manager.

2. Execute the SQL scripts for creating the database

In the setup directory you find three SQL scripts to install the database.

* Modify psql_create_database.sql and choose appropriate usernames and
  passwords. Then execute the script as database administrator.
* Log into the new database with the lightpit_dbo user and execute
  psql_create_tables.sql and psql_default_data.sql.

3. Configure a data source in your application servlet or servlet container

You may use absolutely anything: Tomcat, TomEE, Glassfish, Payara, you name it.
If it supports Servlet 6.0, JSP 3.1, and EL 5.0, you are good to go.
Just make sure to configure a data source with the name jdbc/lightpit/app.
If you want another name, you can configure the JNDI resource in the
WEB-INF/web.xml and META-INF/context.xml files. It is highly recommended to use
the lightpit_app user which has less privileges to create the data source and
leave the lightpit_dbo user for the database operator.

4. Build and Deploy the WAR file of lightpit

Build the WAR file with gradle. If your application server already provides
the necessary runtime libraries for JSTL and PostgreSQL, leave the variable
libsAreProvided = true during the build. Otherwise, set this variable to false
and the libraries will be included in the WAR file. But keep in mind that some
servlet containers, like Tomcat, are not so happy about this when hot redeploy-
ments are performed. If you experience ClassDefNotFound errors after a hot
redeployment, you should either provide the libs in your container or always
restart the entire container after a redeployment.

5. Configuring a web server and authentication

LightPIT can optionally detect the authenticated user. You may freely decide
whether to enable authentication in your application server or put a web server
in front. The latter is recommended, but keep in might that forwarding the
authentication information may only work with AJP for certain servlet
containers. Consult the respective manuals of the software you are using.

When the remote user is picked up successfully by LightPIT, comments under
issues e.g. are personalized. For this to work the authenticated username must
match one of the configured usernames in LightPIT.

Have fun!

mercurial