2. Centralizing add-ons on a HTTP server
Prev | Chapter 6. Deploying XXE | Next

## 2. Centralizing add-ons on a HTTP server

1. Install XXE on the server. Example: `/opt/xxe/` on a server called `rapido`.

2. Customize the distribution, if needed to. Example:

   - Create directory `/opt/xxe/addon/custom/`. This directory will contain all the custom add-ons you want to deploy.

   - Copy (XSL-FO processor plug-in) `xfc_foprocessor.jar` and `xfc.jar` to `/opt/xxe/addon/custom/`.

   - Recursively copy directory `my_configs/` containing `my_dtd1.xxe` and `my_dtd2.xxe` and all associated resources (DTD, CSS, etc) to `/opt/xxe/addon/custom/`.

   - Directory `my_configs/` also contains `my_catalog.xml`, the following XML catalog file:

         <?xml version="1.0" ?>
         <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
                  prefer="public">
           <public publicId="-//My Company//DTD DTD1 V1.0//EN"
                   uri="dtd1.dtd"/>

           <public publicId="-//My Company//DTD DTD2 V1.0//EN"
                   uri="dtd2.dtd"/>
         </catalog>

     This file has been copied to `/opt/xxe/addon/custom/my_configs/` along with all the other files.

3. Test your customized distribution by running `/opt/xxe/bin/xxe` on the server.

4. In `/opt/xxe/addon/`, run command "`find custom > custom.list`" to create text file `custom.list`:

       /opt/xxe/addon$ find custom > custom.list

       /opt/xxe/addon$ cat custom.list

       custom
       custom/xfc.jar
       custom/xfc_foprocessor.jar
       custom/my_configs
       custom/my_configs/dtd1.dtd
       custom/my_configs/dtd2.dtd
       custom/my_configs/my_catalog.xml
       custom/my_configs/my_css1.css
       custom/my_configs/my_css2.css
       custom/my_configs/my_dtd1.xxe
       custom/my_configs/my_dtd2.xxe
       custom/my_configs/my_template1.xml
       custom/my_configs/my_template2.xml

5. Publish your customized distribution on your intranet using a HTTP server. Apache example:

   1. Add a similar snippet to `/etc/httpd.conf`:

          <Directory /opt/xxe/>
            AllowOverride None
            Order Deny,Allow
            Deny from All
            Allow from my_company.com

            Options Indexes Includes
          </Directory>
          Alias /xxe /opt/xxe/

   2. Restart apache:

          # cd /etc/rc.d
          # ./apache restart

6. Now, the hardest part: make sure that the PCs of the all future XXE users on your intranet have the following environment variable always properly set (for example: add it to `autoexec.bat`).

       set XXE_ADDON_PATH="@http://rapido.my_company.com/xxe/addon/custom.list;+"

   Notice that you can update or upgrade the distribution on the server side without having to change this environment variable on the client side.

7. Tell all your XXE users to download a copy of the XXE installer (that is, `xxe-std-`NNN`-setup.exe` or `xxe-pro-`NNN`-setup.exe`) from your intranet and to install it on their PCs.

Prev | Up | Next
1.2. Files containing the add-ons | Home | 3. Deploying XXE using Java™ Web Start