Please also see the Supported Configurations guide for a list of supported configurations. For information on configuring a JAMWiki installation once the install process is complete please see the Configuration guide. Note that this installation guide is a work in progress, and everyone is encouraged to add their own notes to help make it into a more complete document.
JAMWiki requires a web application server (such as Tomcat >=5.5 or Websphere) that supports the following specifications:
JAMWiki can be configured to store its data either in an external database or using an embedded version of the HSQL database that is included in the distribution. When running with an embedded database no additional software or configuration is required; when using an external database JAMWiki requires a database user with permission to create tables and sequences. JAMWiki has tested with the following databases:
Note that JAMWiki may work with any ANSI compliant database. Also note that to support double-byte charaters the database should use UTF-8 encoding. See Supported Configurations for additional configurations that have been tested with JAMWiki.
Important: Do not use these instructions for upgrades, instead see the instructions below. Using the new installation process for an upgrade may cause loss of existing wiki data.
The basic steps for performing a new JAMWiki install are:
The configuration process begins automatically with the first JAMWiki pageview after setup. Configuration will request the following information:
Once the configuration settings have been verified JAMWiki will create the admin user account, database tables (if using an external database), base properties, and default topics. Once configuration is complete JAMWiki redirects to the starting page, ready for use. If any problem occurs during installation that cannot be solved using information from this install guide please report it on Bug Reports and include any relevant information from your log files with the problem report.
IMPORTANT: The upgrade process will overwrite files that you have modified. You must backup any files from your /WEB-INF/classes/ that have been changed prior to upgrading.
In most cases upgrades can be handled using a mostly-automated wizard process. To upgrade using this automated process follow these steps:
If the upgrade fails see the UPGRADE.txt for instructions to manually upgrade. If the problem persists please report it on Bug Reports and include any relevant information from your log files with the problem report. Note that one of the most common "bugs" encountered when upgrading is actually due to old JAMWiki files being cached by the application server; this problem is particularly common with Tomcat, and can be resolved by clearing the application server's cache.
/WEB-INF/classes/logging.properties file and by default write to the jamwiki.log.0 file in the application server's temp directory.JAMWiki requires a web application server such as Tomcat. Once the web application server is installed and running properly then the JAMWiki WAR file can be installed. See your web application server's documentation for instructions on how to install a WAR file. See below for additional configuration information.
If using non-English characters on a site the web application server must be configured to support UTF-8. When using JAMWiki with the Apache Tomcat Server, be sure that Tomcat is configured to support UTF-8. In the Tomcat server.xml, each "<Connector>" must contain a "URIEncoding" parameter that looks like the following:
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" />
This parameter forces Tomcat to use UTF-8 encoding instead of ISO-8859-1. See http://wiki.apache.org/tomcat/Tomcat/UTF-8 for additional details about Tomcat and UTF-8 support.
To deploy JAMWiki on the Apache Geronimo J2EE server using a mysql database backend you need to specify a Geronimo deployment plan that looks something like this:
<?xml version="1.0" encoding="UTF-8" ?>
<web-app
xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1">
<environment>
<moduleId>
<artifactId>wiki</artifactId>
</moduleId>
<dependencies>
<dependency>
<groupId>console.dbpool</groupId>
<artifactId>MySql_WikiDB</artifactId>
</dependency>
</dependencies>
</environment>
<context-root>/wiki</context-root>
<resource-ref>
<ref-name>jdbc/mysqlDB</ref-name>
<resource-link>MySql_WikiDB</resource-link>
</resource-ref>
</web-app>
Deployment of the JAMWiki application into the Geronimo container can be done via Geronimo Admin Console (Applications==>Deploy New) specifying the Archive jamwiki_xxx.war and the Plan geronimo-web.xml (content given above).
This deployment plan uses a Geronimo mysql database pool setup for the jamwiki database. The datbase pool has to be set up prior to deployment of the JAMWiki war file this is easily done via the Geronimo Admin Console (Services==>>Database Pools) following the instructions in the Database pool wizard.
A bug in the JAMWiki code prevented installation of JAMWiki versions up to 0.5.0 with BEA WebLogic server. This bug has been corrected in JAMWiki 0.5.1, but JAMWiki must be deployed as an unpacked WAR file to prevent BEA from dropping property files during WAR file deployment.
Installation of JAMWiki on JBoss requires that the JAMWiki WAR file be deployed using "Exploded Deployment" as described on http://wiki.jboss.org/wiki/Wiki.jsp?page=ExplodedDeployment. If this option is not used then JAMWiki configuration will be overwritten each time JBoss is restarted.
Installation of JAMWiki on OAS requires that the JAMWiki WAR file be deployed using "Oracle Application Server Control" or "OPMN Command Line".
See documentation
An external database is optional for JAMWiki - the Wiki can also be run using an embedded version of the HSQL database. When using an external database a database instance should be created for JAMWiki, or the JAMWiki user can be given CREATE and ALTER permissions on an existing database. Additional database configuration notes:
To support non-English characters the database must have a UTF-8 compatible encoding. To create a database that supports UTF-8 use the following commands:
createdb -E UTF8 database-namecreate database database-name character set utf8[mysql] default-character-set=utf8
[mysqld] character-set-client-handshake=FALSE init_connect="SET collation_connection=utf8_general_ci" init_connect="SET NAMES utf8" default-character-set=utf8 character-set-server=utf8 collation-server=utf8_general_ci
[client] default-character-set=utf8
[mysqldump] default-character-set=utf8
dbinit -b -z UTF8 database-nameJAMWiki uses transactions, so DB2/400 tables must be journaled. Schemas created using the operating system command CRTLIB are not journaled. Schemas should instead be created using the sql command CREATE SCHEMA; doing so will cause the operating system to create the required journals, journal receiver, etc, and every table created in this schema will be journaled.
Once the WAR file is installed and the database (if any) is configured, the JAMWiki configuration process can be started by viewing http://yourserver.com/context/ where "yourserver" is your web server's URL, and "context" is the application server context that JAMWiki was installed under. You will be redirected to the JAMWiki setup page, which will ask for the following:
JDBC driver class: org.postgresql.Driver
JDBC driver class: com.mysql.jdbc.Driver
JDBC driver class: oracle.jdbc.driver.OracleDriver
Database type : as appropriate
Database URL : jdbc:postgresql://localhost:5432/<database_name>
Database URL : jdbc:mysql://localhost:3306/<database_name>
Database URL : jdbc:oracle:thin:@//localhost:1521/<service_name>
Database Username: as appropriate
Database Password: as appropriate
thumb or 400px. Webapp crashes with HTTP 500: can't connect display:0 to x-server.-Djava.awt.headless=true and resizing is done in soft mode which runs w/o x-server. -Djava.awt.headless=true is not implemented correctly and will fail!