Sun, 09 Mar 2025 13:54:46 +0100
allow path mapping overrides for cleaner URLs
| 221 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 1 | Installing LightPIT | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 2 | ------------------- | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 3 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 4 | 1. Install a supported database server | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 5 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 6 | Currently this is only Postgresql. See the Postgresql manual for installing a | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 7 | database instance. On most systems it is sufficient to install the server via | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 8 | the system package manager. | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 9 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 10 | 2. Execute the SQL scripts for creating the database | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 11 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 12 | In the setup directory you find three SQL scripts to install the database. | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 13 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 14 | * Modify psql_create_database.sql and choose appropriate usernames and | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 15 | passwords. Then execute the script as database administrator. | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 16 | * Log into the new database with the lightpit_dbo user and execute | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 17 | psql_create_tables.sql and psql_default_data.sql. | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 18 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 19 | 3. Configure a data source in your application servlet or servlet container | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 20 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 21 | You may use absolutely anything: Tomcat, TomEE, Glassfish, Payara, you name it. | 
| 254 
55ca6cafc3dd
#233 migrate to Jakarta EE and update dependencies
 Mike Becker <universe@uap-core.de> parents: 
221diff
changeset | 22 | If it supports Servlet 6.0, JSP 3.1, and EL 5.0, you are good to go. | 
| 221 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 23 | Just make sure to configure a data source with the name jdbc/lightpit/app. | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 24 | If you want another name, you can configure the JNDI resource in the | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 25 | WEB-INF/web.xml and META-INF/context.xml files. It is highly recommended to use | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 26 | the lightpit_app user which has less privileges to create the data source and | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 27 | leave the lightpit_dbo user for the database operator. | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 28 | |
| 262 
c357c4e69b9e
make JSTL and postgres (optionally) runtime dependencies again
 Mike Becker <universe@uap-core.de> parents: 
254diff
changeset | 29 | 4. Build and Deploy the WAR file of lightpit | 
| 221 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 30 | |
| 262 
c357c4e69b9e
make JSTL and postgres (optionally) runtime dependencies again
 Mike Becker <universe@uap-core.de> parents: 
254diff
changeset | 31 | Build the WAR file with gradle. If your application server already provides | 
| 
c357c4e69b9e
make JSTL and postgres (optionally) runtime dependencies again
 Mike Becker <universe@uap-core.de> parents: 
254diff
changeset | 32 | the necessary runtime libraries for JSTL and PostgreSQL, leave the variable | 
| 
c357c4e69b9e
make JSTL and postgres (optionally) runtime dependencies again
 Mike Becker <universe@uap-core.de> parents: 
254diff
changeset | 33 | libsAreProvided = true during the build. Otherwise, set this variable to false | 
| 
c357c4e69b9e
make JSTL and postgres (optionally) runtime dependencies again
 Mike Becker <universe@uap-core.de> parents: 
254diff
changeset | 34 | and the libraries will be included in the WAR file. But keep in mind that some | 
| 
c357c4e69b9e
make JSTL and postgres (optionally) runtime dependencies again
 Mike Becker <universe@uap-core.de> parents: 
254diff
changeset | 35 | servlet containers, like Tomcat, are not so happy about this when hot redeploy- | 
| 
c357c4e69b9e
make JSTL and postgres (optionally) runtime dependencies again
 Mike Becker <universe@uap-core.de> parents: 
254diff
changeset | 36 | ments are performed. If you experience ClassDefNotFound errors after a hot | 
| 
c357c4e69b9e
make JSTL and postgres (optionally) runtime dependencies again
 Mike Becker <universe@uap-core.de> parents: 
254diff
changeset | 37 | redeployment, you should either provide the libs in your container or always | 
| 
c357c4e69b9e
make JSTL and postgres (optionally) runtime dependencies again
 Mike Becker <universe@uap-core.de> parents: 
254diff
changeset | 38 | restart the entire container after a redeployment. | 
| 221 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 39 | |
| 254 
55ca6cafc3dd
#233 migrate to Jakarta EE and update dependencies
 Mike Becker <universe@uap-core.de> parents: 
221diff
changeset | 40 | 5. Configuring a web server and authentication | 
| 221 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 41 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 42 | LightPIT can optionally detect the authenticated user. You may freely decide | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 43 | whether to enable authentication in your application server or put a web server | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 44 | in front. The latter is recommended, but keep in might that forwarding the | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 45 | authentication information may only work with AJP for certain servlet | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 46 | containers. Consult the respective manuals of the software you are using. | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 47 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 48 | When the remote user is picked up successfully by LightPIT, comments under | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 49 | issues e.g. are personalized. For this to work the authenticated username must | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 50 | match one of the configured usernames in LightPIT. | 
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 51 | |
| 
33d7833ca54c
#102 add installation instructions
 Mike Becker <universe@uap-core.de> parents: diff
changeset | 52 | Have fun! |