Skip to content

Commit 535b2d7

Browse files
committed
update readme/changelog
1 parent 4626393 commit 535b2d7

File tree

2 files changed

+62
-18
lines changed

2 files changed

+62
-18
lines changed

CHANGES.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Changelog
22

3+
## [2.0.6] - Release May 5, 2023
4+
- update embedded tomcat to v9.0.74 for onejar/docker artifacts
5+
- update docker image to eclipse-based Java v11.0.19
6+
- add post Java v14 support for build and execution of pwm webapp
7+
- update java and js dependencies
8+
- fix illegal url error during email token validation
9+
- fix thread/memory leak during configuration restart
10+
- fix database connection breaking during configuration restart
11+
- add multi-cpu support for response-set hash generation
12+
313
## [2.0.5] - Release Feb 10, 2023
414
- update java and javascript dependencies
515
- update tomcat to 9.0.71 for onejar/docker images

README.md

Lines changed: 52 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ PWM is an open source password self-service application for LDAP directories.
44

55
Official project page is at [https://github.com/pwm-project/pwm/](https://github.com/pwm-project/pwm/).
66

7+
PWM is a Java Servlet based application, and is packaged as a Java executable single JAR file, traditional Servlet "WAR" file, and docker image.
8+
79
# Links
810
* [PWM-General Google Group](https://groups.google.com/group/pwm-general) - please ask for assistance here first.
911
* [PWM Documentation Wiki](https://github.com/pwm-project/pwm/wiki) - Home for PWM documentation
@@ -117,9 +119,9 @@ Minimum requirements for PWM application.
117119

118120
| PWM Version | Java [^1] | Servlet | Tomcat [^2] |
119121
| --- | --- | --- | --- |
120-
| v2.1 | 17 | 3.0 | 9 |
121-
| v2.0 | 11-17 | 3.0 | 8-9 |
122-
| v1.9 | 8-11 | 3.0 | 7-9 |
122+
| v2.1.x | 17+ | 3.0 | 9 |
123+
| v2.0.x | 11+ | 3.0 | 8-9 |
124+
| v1.9.x (EOL) | 8-11 | 3.0 | 7-9 |
123125

124126
[^1] There is no requirement for a specific Java implementation, PWM builds use [Adoptium](https://adoptium.net/).
125127

@@ -128,32 +130,22 @@ Minimum requirements for PWM application.
128130

129131

130132

131-
## Deploy
133+
## Deploy / Install
132134
PWM is distributed in the following artifacts, you can use whichever one is most convenient.
133135

134136
| Artifact | Description |
135137
| --- | --- |
138+
| Java Executable | Command line executable Java JAR application, includes tomcat. |
136139
| WAR | Standard Java WAR (Web Archive) application deployment model, you need to have a working java & tomcat configuration on your server. |
137-
| Executable | Command line executable Java JAR application, includes tomcat. |
138140
| Docker | Docker image includes Java and Tomcat. |
139141

140142
For all deployment types, each PWM instance will need an _applicationPath_ directory defined on your local server for PWM's configuration,
141143
log, and runtime files. Once PWM is configured, the initial web UI will prompt the administrator for LDAP and other configuration settings.
142144

143-
### WAR
144-
145-
Steps:
146-
1) Get Apache tomcat working to the point you can access the tomcat landing page with your browser. See tomcat documentation/help sites for
147-
assistance with installing and configuring tomcat.
148-
2) Set the _PWM_APPLICATIONPATH_ environment variable in your tomcat instance to a local location of your _applicationPath_ directory. See tomcat and/or your
149-
operating system documentation/help sites for assistance with configuring environment variables as the method for doing this depends on OS and deployment type.
150-
2) Place the pwm.war file in tomcat 'webapps' directory (rename from pwm-x.x.x.war with version naming)
151-
3) Access with /pwm url and configure
152-
153-
### Executable
145+
### Java Executable
154146
The 'onejar' artifact released with PWM has an embedded tomcat instance, so you don't need to install tomcat to use this
155147
version. You will be responsible for getting it to run as a service, and you won't be able to do any advanced tomcat
156-
configuration.
148+
configuration.
157149

158150
Requirements:
159151
* Java 11 JDK or better
@@ -169,6 +161,17 @@ java -jar pwm-onejar-2.0.0.jar -applicationPath /pwm-applicationPath
169161
By default the executable will remain attached to the console and listen for HTTPS connections on port 8443.
170162

171163

164+
### WAR
165+
166+
Steps:
167+
1) Get Apache tomcat working to the point you can access the tomcat landing page with your browser. See tomcat documentation/help sites for
168+
assistance with installing and configuring tomcat.
169+
2) Set the _PWM_APPLICATIONPATH_ environment variable in your tomcat instance to a local location of your _applicationPath_ directory. See tomcat and/or your
170+
operating system documentation/help sites for assistance with configuring environment variables as the method for doing this depends on OS and deployment type.
171+
2) Place the pwm.war file in tomcat 'webapps' directory (rename from pwm-x.x.x.war with version naming)
172+
3) Access with /pwm url and configure
173+
174+
172175
### Docker
173176
The PWM docker image includes Java and Tomcat. It listens using https on port 8443, and has a volume exposed
174177
as `/config`. You will need to map the `/config` volume to some type of persistent docker
@@ -185,7 +188,7 @@ docker load --input=pwm-docker-image-v2.0.0.tar
185188
```
186189

187190
1. Create docker image named _mypwm_, map to the server's 8443 port, and set the config volume to use the server's
188-
local file system _/home/user/pwm-config_ folder:
191+
local file system _/home/user/pwm-config_ folder (this will be the PWM application path for the container):
189192
```
190193
docker create --name mypwm -p '8443:8443' --mount 'type=bind,source=/home/user/pwm-config,destination=/config' pwm/pwm-webapp
191194
```
@@ -195,6 +198,37 @@ docker create --name mypwm -p '8443:8443' --mount 'type=bind,source=/home/user/p
195198
docker start mypwm
196199
```
197200

201+
## Configuration
202+
203+
Before configuring PWM you should use an LDAP browser/editor to ensure expected functionality of your LDAP environment.
204+
Most difficulties encountered configuring PWM are due to LDAP setup issues or unfamiliarity with LDAP.
205+
There are many LDAP browsers available, a common one is [Apache Directrory Studio](https://directory.apache.org/studio/).
206+
Use the browser to navigate your LDAP environment, familiarize yourself with the directory structure, and verify expected behavior.
207+
208+
In particular, Active Directory LDAP can be problematic because it is often mis-configured and behaves in unusual ways compared to other LDAP directories.
209+
Specifically, AD LDAP uses referrals to redirect the LDAP client (PWM in this case) to servers of its choosing, thus PWM must be able to contact all domain controller server instances in the AD environment using the AD-configured DNS name.
210+
AD LDAP must also be configured to use SSL certificates for password modifications to work. However, if the AD environment is well configured, PWM will work fine with it.
211+
212+
PWM includes a web-based configuration editor.
213+
When PWM starts with no configuration, a web-based configuration guide will prompt the administrator for basic configuration information.
214+
All configuration information is stored in the _PwmConfiguration.xml_ file, which will be created in the application path directory.
215+
The application path is also used for other files, including a local database (_LocalDB_) (used primarily as a cache or for test environments), log files, and temporary files.
216+
If multiple PWM servers are used in parallel, each server must have identical _PwmConfiguration.xml_ files.
217+
218+
PWM uses a configuration password to protect any modifications to the configuration.
219+
Authentication to PWM requires an LDAP-backed login to a configured administrative account.
220+
In early setup or in cases of problems with the LDAP directory, it may be necessary to access the configuration when LDAP functionally is not available.
221+
For this purpose, PWM has a "configuration-mode" which allows editing the config with the configuration password, but disables all other end-user functionality.
222+
Configuration mode can be enabled/disabled by editing the _PwmConfiguration.xml_ file and change the`configIsEditable`property near the top of the file, and can also be changed in the web UI.
223+
224+
### Database Usage
225+
226+
PWM can optionally be configured with an RDBMS (also known as a SQL database server).
227+
When configured to use a database, PWM user meta-data such as challenge/response answers, TOTP tokens, usage records, and other data will be stored in the database.
228+
When not configured to use a database, PWM user meta-data will be stored to the LDAP directory. Neither is better or worse, which one you use depends on your enviornment.
229+
230+
Any SQL server that has a Java supported JDBC driver should work, PWM will create its own schema on the first connection.
231+
198232
## Build
199233

200234
Build pre-requisites:

0 commit comments

Comments
 (0)