Fri, 24 Nov 2023 00:07:26 +0100
fix broken link in "create issue" button
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!