Chapter 6. Installation guide

Table of Contents
6.1. Basic infrastructure
6.2. Midgard backend
6.3. Apache modules
6.4. Installing Midgard as static modules in Apache
6.5. Starting up
6.6. Administration

6.1. Basic infrastructure

6.1.1. Acquiring required packages

You will need the Apache webserver, the MySQL database server, and the Midgard packages. The Midgard packages are available in source and binary format.

6.1.2. Apache installation

Apache may allready be installed on your system; if so, verify that the mod_so module is installed. Apache will tell you what moduled have been compiled:

$ httpd -l
Compiled-in modules:
  http_core.c
  mod_so.c

If apache is not installed, download the source and unpack it. Then configure it to include mod_so; I generally find it easiest to

$ ./configure \
	--with-perl=/usr/bin/perl \
	--with-layout=RedHat \
	--enable-module=all \
	--enable-shared=max
$ make
# make install

6.1.3. MySQL installation

Binaries for many systems can be found on the MySQL site. The procedure for installing from source is pretty straightforward. Unpack the source archive, change to the directory it created, and do

$ ./configure
$ make
# make install
# ./scripts/mysql_install_db
# /usr/local/mysql/bin/safe_mysqld&

6.1.3.1. Cobalt RaQ

The shared MySQL libraries don't include my_message_no_curses, which nobody uses, but the dynamic linker barfs on anyway. To be exact, the shared library has said symbol but defines it to be "absolute", which does not seem to do any good. Configuring MySQL (3.22.27) with these additional flags excludes the dynamic libraries:

--disable-shared --with-mysqld-ldflags="-all-static" --with-client-ldflags="-all-static"