Project

General

Profile

Installing Prelude-Manager

This section explains how to install the Prelude-Manager concentrator from the tarball available from the Prelude website. However, prelude-manager might be included with your distribution as a package and it would be easier to install it this way.

Table of Contents

Install Dependencies

Ensure that you have GnuTLS installed. Instructions on installing GnuTLS can be found on the GnuTLS Installation Page.

Ensure that you have the Prelude Library installed. Instructions on installing libprelude can be found on the PreludeDB Library Installation Page

In order for Prelude-Manager to write to a database, the PreludeDB Library should be installed. Instructions on installing libpreludedb can be found on the PreludeDB Library Installation Page.

If you'd like Prelude-Manager to be able to report incoming events using IDMEF XML, install the libxml2 library.

Get the sources

Download the latest Prelude-Manager

Configuration

The first step of the installation procedure is to configure the source tree for your system and choose the options you would like. This is done by running the configure script. For a default installation simply enter

./configure

This script will run a number of tests to guess values for various system dependent variables and detect some quirks of your operating system, and finally will create several files in the build tree to record what it found. (You can also run configure in a directory outside the source tree if you want to keep the build directory separate.)

You can customize the build and installation process by supplying one or more of the following command line options to configure:

Installation directories

  • --*prefix*=_PREFIX_
    Install all files under the directory PREFIX instead of /usr/local. The actual files will be installed into various subdirectories; no files will ever be installed directly into the PREFIX directory.

    If you have special needs, you can also customize the individual subdirectories with the following options.

  • --*exec-prefix*=_EXEC-PREFIX_

    You can install architecture-dependent files under a different prefix, EXEC-PREFIX, than what PREFIX was set to. This can be useful to share architecture-independent files between hosts. If you omit this, then EXEC-PREFIX is set equal to PREFIX and both architecture-dependent and independent files will be installed under the same tree, which is probably what you want.

  • --*bindir*=_DIRECTORY_

    Specifies the directory for executable programs. The default is EXEC-PREFIX/bin, which normally means /usr/local/bin.

  • --*datadir*=_DIRECTORY_

    Sets the directory for read-only data files used by the installed programs. The default is PREFIX/share.

  • --*sysconfdir*=_DIRECTORY_

    The directory for various configuration files, PREFIX/etc by default.

  • --*libdir*=_DIRECTORY_

    The location to install libraries and dynamically loadable modules. The default is EXEC-PREFIX/lib.

  • --*includedir*=_DIRECTORY_

    The directory for installing C and C++ header files. The default is PREFIX/include.

  • --*mandir*=_DIRECTORY_

    The man pages that come with the Prelude Library will be installed under this directory, in their respective man_N_ subdirectories. The default is PREFIX/man.

Path to dependencies

  • --*with-libgnutls-prefix*=_PFX_

    Prelude-Manager require GnuTLS in order to build. Using this option you can tell the configure script in which prefix GnuTLS has been installed.

  • --*with-libprelude-prefix*=_PFX_

    Prelude-Manager require the Prelude Library in order to build. Using this option you can tell the configure script in which prefix libprelude has been installed.

  • --*with-libpreludedb-prefix*=_PFX_

    Prelude-Manager can make use of libpreludedb to provides database storage support (recommended, but not mandatory). Using this option you can tell the configure script in which prefix libpreludedb has been installed.

  • --*with-xml-prefix*=_PFX_

    Prelude-Manager can make use of libxml2 to provides IDMEF XML compatible reporting. Using this option you can tell the configure script in which prefix libxml2 has been installed.

  • --*with-libwrap-prefix*=_PFX_

    Prelude-Manager can make use of libwrap to provides additional host access control scheme. Using this option you can tell the configure script in which prefix libwrap has been installed. libwrap is a free software program library that implements generic TCP Wrapper functionality for network service daemons to use (rather than, or in addition to, their own host access control schemes).

Optional Features

  • --*enable-thread={posix|solaris|pth|win32}*

    Using this option, you can specify which multithreading API should be used by Prelude-Manager. Note that this value is normally auto-detected.

Once finished, the configure script will dump a summary of the enabled features:

*** Dumping configuration ***
    - TCP wrapper support    : yes
    - XML plugin support     : yes
    - Database plugin support: yes

Note: Database plugin support (libpreludedb) is required for database access.

Build

To start the build, type

make

The build will take a few minutes depending on your hardware.

Regression Tests

If you want to test the newly built program before you install it, you can run the regression tests at this point. The regression tests are a test suite to verify that Prelude-Manager runs on your machine in the way the developers expected it to. Type

make check

Install

To install Prelude-Manager enter

make install

This will install files into the directories that were specified in step 1. Make sure that you have appropriate permissions to write into that area. Normally you need to do this step as root. Alternatively, you could create the target directories in advance and arrange for appropriate permissions to be granted.

You can use make install-strip instead of make install to strip the executable files and libraries as they are installed. This will save some space. If you built with debugging support, stripping will effectively remove the debugging support, so it should only be done if debugging is no longer needed. install-strip tries to do a reasonable job saving space, but it does not have perfect knowledge of how to strip every unneeded byte from an executable file, so if you want to save all the disk space you possibly can, you will have to do manual work.

The standard installation provides all the header files needed for Prelude-Manager plugin development, such as custom functions or data types written in C.