diff --git a/src/main/xar-resources/data/configuration/configuration.xml b/src/main/xar-resources/data/configuration/configuration.xml index 58dbc5ef..b2e0693a 100644 --- a/src/main/xar-resources/data/configuration/configuration.xml +++ b/src/main/xar-resources/data/configuration/configuration.xml @@ -22,28 +22,8 @@ Main configuration file The main configuration file for eXist-db is called - conf.xml, which is loaded from different directories depending on the - server set-up (see Server Deployment for more - information). Specifically: - - - If you installed the standalone eXist-db distribution with the installer, the - conf.xml file located in the root directory of the - distribution (as specified by the system property - exist.home). - - - - If eXist-db is installed as a web application (packaged in a - .war file) in a servlet engine like tomcat, - conf.xml is read from the WEB-INF directory of the - web application. - eXist-db normally has no access to files outside the context in which it is - running when it is deployed as part of a web application. Therefore, when eXist - is deployed in this way, the configuration is read from the - WEB-INF directory. - - + conf.xml, which is loaded the root directory of the + distribution (as specified by the system property exist.home). The configuration file conf.xml is divided into eleven sections: diff --git a/src/main/xar-resources/data/deployment/deployment.xml b/src/main/xar-resources/data/deployment/deployment.xml index cb46312b..615b0a41 100644 --- a/src/main/xar-resources/data/deployment/deployment.xml +++ b/src/main/xar-resources/data/deployment/deployment.xml @@ -143,52 +143,6 @@ - - Deploying in a Servlet Container - - The standard distribution by default launches eXist-db as a web application deployed - in a Jetty - servlet container. - The Jetty configuration can be found in - tools/jetty/webapps/exist-webapp-context.xml. It defines a single web - application context value <Set - name="contextPath">/exist</Set>, mapped to the - webapp directory. This value can be set to either - /exist or /. Users modifying this value should - subsequently remove the portal folder at - /tools/jetty/webapps, which contains the default exist-db splashscreen - displayed during certain redirects. - Jetty is small, efficient and stable, so there is no need to switch to a different - servlet engine unless your server setup requires this. However, it is not difficult to - deploy eXist in a different servlet container, e.g. Apache's Tomcat. - We usually provide a .war web archive for all major releases. You - may either download that or, if you already installed the standard distribution, build a - .war archive yourself. For details on how to do this, see Building eXist-db - To install the .war, just copy it into the corresponding folder below - your servlet engine installation (usually webapps) and rename it to - exist.war. The servlet engine will normally unpack the file when you - restart the server. To have better control of where the file is unpacked, you can also - create a directory exist below the webapps folder - and manually extract the .war there. For instance: - jar xfv exist.war - - Please remember that the data and log - directories need to be writable! - - - There are a few differences between the standard distribution and the - .war install. In particular, the configuration files are found in the - WEB-INF directory, including the important files - conf.xml (eXist configuration) and log4j.xml - (logging). The example data is in samples. - To start the Java Admin Client, use the - following command (from within exist web application's root - directory): - java -jar WEB-INF/lib/start.jar client -ls - - - - Running as a Stand-alone Server @@ -596,4 +550,4 @@ target directory (which we prepared above), and compile and run it with: javac TestDB.java java -Dexist.initdb=true -Dexist.home=. TestDB - \ No newline at end of file + diff --git a/src/main/xar-resources/data/documentation/documentation.xml b/src/main/xar-resources/data/documentation/documentation.xml index c236dea6..e1ee2b39 100644 --- a/src/main/xar-resources/data/documentation/documentation.xml +++ b/src/main/xar-resources/data/documentation/documentation.xml @@ -435,7 +435,7 @@ Building eXist - How to build Java .jar or .war files from an + How to build Java .jar files from an eXist distribution. @@ -552,7 +552,7 @@ Building eXist - How to build Java .jar or .war files from an + How to build Java .jar files from an eXist distribution. diff --git a/src/main/xar-resources/data/exist-building/exist-building.xml b/src/main/xar-resources/data/exist-building/exist-building.xml index 60fb52fd..6731c77d 100644 --- a/src/main/xar-resources/data/exist-building/exist-building.xml +++ b/src/main/xar-resources/data/exist-building/exist-building.xml @@ -12,38 +12,7 @@ - This article will tell you how to build a Java .war or .jar file for eXist-db. If you are building exist-db from source, please also check the build instructions in the source-code repo. - - - - - Building a <code>.war</code> file from the Standard Distribution - - If you would like to deploy eXist-db into an existing servlet engine (e.g. tomcat), you will need a .war file. We no - longer distribute a .war build, but it is easy to create one from the standard distribution by - repackaging (not building) it: - - - - Install the standard distribution - - Get a standard distribution from eXist-db download - page. Install it into a directory of your choice. Make sure you include the source package. - - - - Generate the WAR - - Open a command line prompt and change to the directory where you just installed eXist-db. Call - build.sh dist-war - or - build.bat dist-war - once. This will generate a .war archive into directory dist. - - - Note that generating a .war archive does only repackage the files in the distribution. So if the distribution worked properly - for you, the .war should as well. You don't need to recompile eXist-db or sign any jars. - + This article will tell you how to build a Java .jar file for eXist-db. If you are building exist-db from source, please also check the build instructions in the source-code repo. @@ -92,11 +61,11 @@ Using the Build System You can rebuild all eXist-db packages from the standard distribution or the GitHub repository. You can even create a new distribution from - the one you installed. For example, assume you installed eXist using the installer GUI, but you need to have an exist.war package for deployment - within a different servlet engine. Just call the main build script (build.sh or build.bat) and pass it the - target dist-war: - build.sh dist-war - This will create a fresh .war archive in the dist directory. + the one you installed. For example, assume you installed eXist using the installer GUI, but you need to have a .tar.bz2 package for deployment + to a server. Just call the main build script (build.sh or build.bat) and pass it the + target dist-bz2: + build.sh dist-bz2 + This will create a fresh .tar.bz2 archive in the dist directory. To be able to use the build system, you need to include the "source" module when selecting installable packages in the installer GUI. @@ -181,18 +150,34 @@ - dist-tgz + dist-dir - Packages eXist-db into a .tgz file. + Packages eXist-db into a directory. + + + + + dist-bz2 + + + Packages eXist-db into a .tar.bz2 file. - dist-war + dist-tar - Packages eXist-db into a .war file for deployment within a servlet engine. + Packages eXist-db into a .tar file. + + + + + dist-tgz + + + Packages eXist-db into a .tgz file. diff --git a/src/main/xar-resources/data/production_good_practice/production_good_practice.xml b/src/main/xar-resources/data/production_good_practice/production_good_practice.xml index 2dc9f9f7..f1ff7c41 100644 --- a/src/main/xar-resources/data/production_good_practice/production_good_practice.xml +++ b/src/main/xar-resources/data/production_good_practice/production_good_practice.xml @@ -422,7 +422,7 @@ Web Deployments - eXist-db, like any Web Application Server (Tomcat, WebLogic, GlassFish, etc.), should + eXist-db, like any Web Application Server, should not be directly exposed to the Web. Instead, we strongly recommend proxying eXist-db through a Web Server such as Nginx or To avoid potential deadlocking it is considered good practice to store XML instance documents and grammar documents in separate collections. - - Tomcat has an long standing bug which makes it impossible to register a custom - protocol handler (object URLStreamHandler) to the JVM. The alternative is to - register the object by setting the system property - java.protocol.handler.pkgs but this fails as well. - As a result, the validation features are only partly useable in Tomcat. There - are two alternatives: (1) switch to a recent version of Jetty, or (2) use - absolute URLs pointing the REST interface, e.g. - http://localhost:8080/exist/rest/db/mycollection/schema.xsd. - - - eXist relies heavily on features provided by the Xerces XML parser. Out of the - box the eXist izPack installer provides all required .jar files. - However, when eXist is installed in for instance Tomcat, the required parser - libraries need to be copied manually from the eXist lib/endorsed - directory into the server endorsed directory. - Required endorsed files: resolver-*.jar xalan-*.jar serializer-*.jar - xercesImpl-*.jar - The explicit validation is performed by