Installing the NetarchiveSuite software

This manual describes how to install and configure the NetarchiveSuite web archive software package. It includes description of how to obtain and install required libraries, how to install the software on separate machines, what command line options and configuration file changes are necessary, and how to start the programs. It then goes on to explain the other parameters available for tuning the behaviour of NetarchiveSuite. It does not explain how to extend the functionality of the system (see the DeveloperManual for this) or how to use the running system (see the UserManual for this).

The intended audience of this manual is system administrators who will be responsible for the actual installation and setup of NetarchiveSuite as well as technical personnel responsible for proper operation of NetarchiveSuite. Knowledge of Unix system administration is expected, and some familiarity with XML and Java is an advantage.

Choose a setup

NetarchiveSuite can be installed in a number of different ways, with varying numbers of machines on different sites. To keep clear what is necessary for which setups, we will consider the following types of setup:

Setups C, and D involves having a distributed bitarchive. In these setups we have the the bitarchive distributed on two Locations, here called LocationA, and LocationB. These Locations must be written to the general settings.xml before deployment:

<arcrepository>
      ...
      <!-- The names of all bit archive locations in the
                 environment, e.g., "LocationA" and "LocationB". -->
      <location>
        <name>LocationA</name>
      </location>
      <location>
        <name>LocationB</name>
      </location>
      <!-- Default bit archive to use for batch jobs (if none is specified) -->
      <batchLocation>LocationA</batchLocation>
</arcrepository>

Choose the set of machines taking part in the installation/deployment

When you have chosen your setup, you must decide on the number of machines, you want to use in the deployment of the NetarchiveSuite. For setup A, the answer is of course one. For the setup B-D, the answer is more complicated.

The NetarchiveSuite operates with 4 kinds of machines:

Choose a JMX range to be used

Other configurations

select a file datatransfer method

As mentioned in Appendix C, you can choose between FTP or HTTP as the filetransfer method. Correct: Both methods try to use to simple filesystem copying, whenever possible to optimize the filetransfer. The FTP method requires one or more FTP-servers installed. (Se Appendix A for further details) The xml-below is a extract of a settings.xml, which you have to replace serverName, userName, userPassword with proper values. [SKALRETTES] If you want to use more than one FTP-server, you must use different settings-files, or define the values when starting the applications on the commandline.

<remoteFile xsi:type="ftpremotefile">
            <!-- The class to use for RemoteFile objects. -->
            <class>dk.netarkivet.common.distribute.FTPRemoteFile</class>
            <!-- The default FTP-server used -->
            <serverName>hostname</serverName>
            <!-- The default FTP-server port used -->
            <serverPort>21</serverPort>
            <!-- The default FTP username -->
            <userName>exampleusername</userName>
            <!-- The default FTP password -->
            <userPassword>examplepassword</userPassword>
            <!-- The number of times FTPRemoteFile should try before giving up
                 a copyTo operation. We augment FTP with checksum checks. -->
            <retries>3</retries>
        </remoteFile>

Using HTTP as filetransfer method, you need to reserve a HTTP port on each machine pr. application for this usage. Note: The easiest way to set this port on application level is to set it on the commandline:  -Dsettings.common.remoteFile.port=5442 

See xml-below for the proper syntax:

 <remoteFile xsi:type="httpremotefile">
            <!-- The class to use for RemoteFile objects. -->
            <class>dk.netarkivet.common.distribute.HTTPRemoteFile</class>
            <!-- Port for embedded HTTP server -->
            <port>5442</port>
        </remoteFile>

<hr> [[wiki:InstallationManualAppendices]