Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: formatting fixes to common errors

...

Windows Installation

Pre-requisite Software

You'll need to install this pre-requisite software:

...

If you are installing DSpace on Windows, you will still need to install all the same Prerequisite Software, as listed above.

  • If you install PostgreSQL, it's recommended to select to install the pgAdmin III tool
  • Apache Ant 1.6.2 or later. Unzip the package in C: and add C:\apache-ant-1.6.2\bin to the PATH environment variable. For Ant to work properly, you should ensure that JAVA_HOME is set.
  • Jakarta Tomcat 5.x or later
  • Apache Maven 2.0.8 or later. It provides a nice User Interface for interacting with PostgreSQL databases.

Installation Steps

  1. Download the DSpace source from SourceForge and untar unzip it (WinZip will do this)
  2. Ensure the PostgreSQL service is running, and then run pgAdmin III (Start -> PostgreSQL 8.0 -> pgAdmin III). Connect to the local database as the postgres user and:
    • Create a 'Login Role' (user) called dspace with the password dspace
    • Create a database called dspace owned by the user dspace, with UTF-8 encoding
  3. Wiki Markup
    Update paths in _\[dspace-source\]\dspace\config\dspace.cfg_. *Note:* Use forward slashes / for path separators, though you can still use drive letters, e.g.:_dspace.dir = C:/DSpace_Make sure you change all of the parameters with file paths to suit, specifically: 
    Code Block
            dspace.dir
            config.template.log4j.properties
            config.template.log4j-handle-plugin.properties
            config.template.oaicat.properties
            assetstore.dir
            log.dir
            upload.temp.dir
            report.dir
            handle.dir
    
  4. Create the directory for the DSpace installation (e.g. C:\DSpace)
  5. Wiki Markup
    Generate the DSpace installation package by running the following from command line (cmd) from your _\[dspace-source\]/dspace/_ directory: 
    Code Block
    mvn package
    
    • Wiki Markup
      _Note #1:_ This will generate the DSpace installation package in your _\[dspace-source\]/dspace/target/dspace-\[version\]-build.dir/_ directory.
    • Note
    • #2:
    • Without
    • any
    • extra
    • arguments,
    • the
    • DSpace
    • installation
    • package
    • is
    • initialized
    • for
    • PostgreSQL.
    • If
    • you
    • want
    • to
    • use
    • Oracle
    • instead,
    • you
    • should
    • build
    • the
    • DSpace
    • installation
    • package
    • as
    • follows:
    • Code Block
    • mvn -Ddb.name=oracle package
  6. Wiki Markup
    Initialize the DSpace database and install DSpace to _\[dspace\]_ (e.g. _C:\DSpace_) by running the following from command line from your _\[dspace-source\]/dspace/target/dspace-\[version\]-build.dir/_ directory:
    Code Block
    
    ant fresh_install
    
    • Note: to see a complete list of build targets, run
    Code Block
    • : ant
    • help
  7. Wiki Markup
    Create an administrator account, by running the following from your _\[dspace\]_ (e.g. _C:\DSpace_) directory_\:
    Code Block
    [dspace\]\bin\dspace create-administrator_and enter the required information
  8. Wiki Markup
    Copy the Web application directories from _\[dspace\]\webapps_ to Tomcat's webapps dir, which should be somewhere like _C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps_
    • Wiki Markup
      Alternatively, Tell your Tomcat installation where to find your DSpace web application(s). As an example, in the _<Host>_ section of your _\[tomcat\]/conf/server.xml_ you could add lines similar to the following (but replace _\[dspace\]_ with your installation location):
      Code Block
      <!-- DEFINE A CONTEXT PATH FOR DSpace JSP User Interface  -->
      <Context path="/jspui" docBase="[dspace]\webapps\jspui" debug="0"
      	reloadable="true" cachingAllowed="false"
      	allowLinking="true"/>
      
      <!-- DEFINE A CONTEXT PATH FOR DSpace OAI User Interface  -->
      <Context path="/oai" docBase="[dspace]\webapps\oai" debug="0"
      	reloadable="true" cachingAllowed="false"
      	allowLinking="true"/>
      
  9. Start the Tomcat service
  10. Browse to either http://localhost:8080/jspui or http://localhost:8080/xmlui. You should see the DSpace home page for either the JSPUI or XMLUI, respectively.

...

The known bugs in a release are documented in the KNOWN_BUGS file in the source package.

Please see the DSpace bug tracker\ for further information on current bugs, and to find out if the bug has subsequently been fixed. This is also where you can report any further bugs you find.

...

  • Database errors occur when you run ant fresh_install: There are two common errors that occur.
    • If your error looks like this--
      Code Block
      [java] 2004-03-25 15:17:07,730 INFO
      	    org.dspace.storage.rdbms.InitializeDatabase @ Initializing Database
      [java] 2004-03-25 15:17:08,816 FATAL
      	    org.dspace.storage.rdbms.InitializeDatabase @ Caught exception:
      [java] org.postgresql.util.PSQLException: Connection refused. Check
      	    that the hostname and port are correct and that the postmaster is
      	    accepting TCP/IP connections.
      [java]     at
      	    org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJd
      bc1Connection.java:204)
      [java]     at org.postgresql.Driver.connect(Driver.java:139)
      Wiki Markup
       it usually means you haven't yet added the relevant configuration parameter to your PostgreSQL configuration (see above), or perhaps you haven't restarted PostgreSQL after making the change. Also, make sure that the _db.username_ and _db.password_ properties are correctly set in _\[dspace-source\]/config/dspace.cfg_. An easy way to check that your DB is working OK over TCP/IP is to try this on the command line: 
      Code Block
      
      psql -U dspace -W -h localhost
      Enter the dspace database password, and you should be dropped into the psql tool with a dspace=> prompt.
    • Another common error looks like this:
      Code Block
      [java] 2004-03-25 16:37:16,757 INFO
      	    org.dspace.storage.rdbms.InitializeDatabase @ Initializing Database
      [java] 2004-03-25 16:37:17,139 WARN
      	    org.dspace.storage.rdbms.DatabaseManager @ Exception initializing DB
      	    pool
      [java] java.lang.ClassNotFoundException: org.postgresql.Driver
      [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
      [java]     at java.security.AccessController.doPrivileged(Native
      	   Method)
      [java]     at
      	   java.net.URLClassLoader.findClass(URLClassLoader.java:186)
      Wiki Markup
       This means that the PostgreSQL JDBC driver is not present in _\[dspace-source\]/lib_. See above.
  • Tomcat doesn't shut down: If you're trying to tweak Tomcat's configuration but nothing seems to make a difference to the error you're seeing, you might find that Tomcat hasn't been shutting down properly, perhaps because it's waiting for a stale connection to close gracefully which won't happen.
    • To see if this is the case, try:
    Code Block
    • ps
    • -ef
    • |
    • grep
    • java
    • and look for Tomcat's Java processes. If they stay around after running Tomcat's shutdown.sh script, trying running kill
    _ing
    • on them (
    with _
    • or kill -9 if necessary), then starting Tomcat again.
  • Database connections don't work, or accessing DSpace takes forever: If you find that when you try to access a DSpace Web page and your browser sits there connecting, or if the database connections fail, you might find that a 'zombie' database connection is hanging around preventing normal operation.
    • To see if this is the case, try:
    Code Block
    • ps
    • -ef
    • |
    • grep
    • postgres
    • You might see some processes like this:
      Code Block
      dspace 16325  1997  0  Feb 14  ?         0:00 postgres: dspace dspace
      	    127.0.0.1 idle in transaction
      This is normal--DSpace maintains a 'pool' of open database connections, which are re-used to avoid the overhead of constantly opening and closing connections. If they're 'idle' it's OK; they're waiting to be used.
    • However sometimes, if something went wrong, they might be stuck in the middle of a query, which seems to prevent other connections from operating, e.g.:
      Code Block
      dspace 16325  1997  0  Feb 14  ?         0:00 postgres: dspace dspace
      	    127.0.0.1 SELECT
      This means the connection is in the middle of a SELECT operation, and if you're not using DSpace right that instant, it's probably a 'zombie' connection. If this is the case, try
    _
    • running kill
    _ing
    • on the process, and stopping and restarting Tomcat.