| ------ |
| Installing Apache Archiva as a Web Application |
| ------ |
| |
| Installing Apache Archiva as a Web Application |
| |
| ~~TODO: link to wiki location for other application servers |
| |
| Archiva can be deployed as a web application into any Java EE application server. This document will show an |
| example of doing so with Tomcat 5.5 and Tomcat 6.0.x. |
| |
| <<Note>>: When you first start Archiva, you will see an Exception that schema SA does not exist - however it doesn't |
| cause a problem. If you use a username other than 'sa', such as 'archiva', then you seem to get the same error but |
| Tomcat fails to start the context and you have to shutdown and restart again. |
| |
| |
| To deploy Archiva on Tomcat 5.5 and Tomcat 6.0 |
| |
| * Create a directory in tomcat called archiva, at the same level as bin, conf, logs and the others. |
| |
| * Copy the war file into the new directory |
| |
| * Create a <<<\<tomcat home\>/conf/Catalina/localhost/archiva.xml>>> file with the following data (replace the database paths with a suitable location): |
| |
| +-------------------------------------------------------------------------+ |
| <?xml version="1.0" encoding="UTF-8"?> |
| <Context path="/archiva" |
| docBase="${catalina.home}/archiva/apache-archiva-1.1.war"> |
| |
| <Resource name="jdbc/users" auth="Container" type="javax.sql.DataSource" |
| username="sa" |
| password="" |
| driverClassName="org.apache.derby.jdbc.EmbeddedDriver" |
| url="jdbc:derby:/path/to/database/users;create=true" /> |
| |
| <Resource name="jdbc/archiva" auth="Container" type="javax.sql.DataSource" |
| username="sa" |
| password="" |
| driverClassName="org.apache.derby.jdbc.EmbeddedDriver" |
| url="jdbc:derby:/path/to/database/archiva;create=true" /> |
| |
| <Resource name="mail/Session" auth="Container" |
| type="javax.mail.Session" |
| mail.smtp.host="localhost"/> |
| </Context> |
| +-------------------------------------------------------------------------+ |
| |
| * Install <<<derby-10.1.3.1.jar>>> (or later), <<<activation-1.1.jar>>> and <<<mail-1.4.jar>>> into the Tomcat 5.5 <<<common/lib>>> or Tomcat 6.0 <<<lib>>> directory. |
| This is required since the data sources are instantiated before the web application. |
| |
| <<Note>>: Tomcat 5.5.20 and 5.5.23 are missing MailSessionFactory and a |
| few other classes. JNDI mail sessions will <not> work. Use Tomcat 5.5.25 |
| instead, or see {{{http://issues.apache.org/bugzilla/show_bug.cgi?id=40668} |
| Bug 40668}} for a workaround. |
| |
| * The ${appserver.base} java property is used by the Archiva internal logging configuration to determine where to output its logs to. |
| It is important to define this property either in the $CATALINA_OPTS system environment variable (if Tomcat is being launched via the |
| command line) or the service properties (if being launched as a service or daemon). The format typically expected is |
| -Dappserver.base=<SOMEWHERE>. In this example, we'll put the logs in Tomcat's <<<logs>>> directory so we need to set appserver.base |
| property to where Tomcat is installed: |
| |
| +-----------+ |
| export CATALINA_OPTS="-Dappserver.home=$CATALINA_HOME -Dappserver.base=$CATALINA_HOME" |
| +-----------+ |
| |
| For more information, see {{{http://cwiki.apache.org/confluence/display/ARCHIVA/Archiva+on+Tomcat} Archiva on Tomcat}} in the wiki. |
| |
| Archiva Configuration |
| |
| Archiva is configured using the <<<~/.m2/archiva.xml>>> configuration file by default when using a Java EE application server. |
| |
| ~~TODO: how to configure the other file |
| |
| Upgrading Archiva |
| |
| To upgrade the Archiva web application, simply replace the web application with an alternative. Since the database and configuration files are stored |
| externally to the application, no further maintainance is needed. |
| |
| For general information about upgrading Archiva, see the relevant section in the {{{standalone.html#Upgrading%20Archiva} Installing standalone}} guide. |
| |
| Configuring and Running Archiva |
| |
| Once Archiva is running, it is configured in the same way as the standalone instance. See the {{{../quick-start.html#Setting%20up%20your%20Archiva%20instance} quick start}} guide for more information. |
| |