Difference between revisions of "Customizing PKI Subsystem"

From Dogtag
Jump to: navigation, search
(Created page with "= Overview = Each PKI subsystem has a corresponding web application which contains: * HTML pages which contains texts, JavaScript codes, page layout, CSS formatting, etc. * w...")
 
m (Copying web application files)
 
Line 14: Line 14:
 
The docBase points to the location of the default web application folder in /usr/share/pki.
 
The docBase points to the location of the default web application folder in /usr/share/pki.
  
= Copying web application files =
+
= Creating Custom Web Application =
 +
 
 +
There are two ways to create a custom web application from the default one:
  
There are two ways to customize the web application:
 
 
* deep copy
 
* deep copy
 
* shallow copy
 
* shallow copy

Latest revision as of 16:25, 11 July 2019

Overview

Each PKI subsystem has a corresponding web application which contains:

  • HTML pages which contains texts, JavaScript codes, page layout, CSS formatting, etc.
  • web.xml which defines servlets, paths, security constraints, etc.
  • links to PKI libraries

The subsystem web applications are deployed using context files located in /etc/pki/pki-tomcat/Catalina/localhost/ca.xml:

<Context docBase="/usr/share/pki/ca/webapps/ca" crossContext="true" allowLinking="true">
    ...
</Context>

The docBase points to the location of the default web application folder in /usr/share/pki.

Creating Custom Web Application

There are two ways to create a custom web application from the default one:

  • deep copy
  • shallow copy

Deep copy

To create a deep copy of the web application, copy the web application folder into the instance's webapps folder:

$ cp -r /usr/share/pki/ca/webapps/ca /var/lib/pki/pki-tomcat/webapps
$ chown -R pkiuser.pkiuser /var/lib/pki/pki-tomcat/webapps/ca

Shallow copy

To create a shallow copy of the web application, create a folder in the instance's webapps folder, copy only the files that need to be customized, then create links for the other files/folders. For example, to customize web.xml:

$ mkdir -p /var/lib/pki/pki-tomcat/webapps/ca
$ cd /var/lib/pki/pki-tomcat/webapps/ca
$ ln -s /usr/share/pki/ca/webapps/ca/* .
$ rm -f WEB-INF
$ mkdir WEB-INF
$ ln -s /usr/share/pki/ca/webapps/ca/WEB-INF/* WEB-INF
$ rm -f WEB-INF/web.xml
$ cp /usr/share/pki/ca/webapps/ca/WEB-INF/web.xml WEB-INF
$ chown -R pkiuser.pkiuser .

Configuring Web Application Context

To use the customized web application, change the docBase in /etc/pki/pki-tomcat/Catalina/localhost/ca.xml to point to the custom web application folder relative from the webapps folder:

<Context docBase="ca" crossContext="true" allowLinking="true">
    ...
</Context>

The change will be effective immediately. There is no need to restart the server.

Upgrading Custom PKI Subsystem

See Upgrading Custom PKI Subsystem.

Removing Custom PKI Subsystem

To remove the custom web application simply revert the docBase and delete the custom web application folder:

$ rm -rf /var/lib/pki/pki-tomcat/webapps/ca

See Also