Table Of Contents

Previous topic

Quickstart

Next topic

Running and Configuring Reef

Installing Reef

System Requirements

Reef is supported on the following systems:

  • Red Hat Enterprise Linux™ 5 on x86 and x86_64 [1]
  • Red Hat Enterprise Linux™ 6 on x86 and x86_64 [1]
  • Debian 6.0 on x86 and x86_64 [1]
  • Ubuntu 10.04LTS on x86 and x86_64 [1]
  • Solaris™ 10 on SPARC™, x86 and x86_64 [1]

Footnotes

[1](1, 2, 3, 4, 5) On x86_64 UP ashttpd as a 32-bit application and the OS needs to have the adequate 32-bit compatible userland support installed. Refer to X86 64 Bit Platforms for details.

X86 64 Bit Platforms

On x86 64 bit platforms ashttpd runs as a 32-bit application. While all the binaries required by ashttpd are installed autonomously in the prefix (e.g. /opt/abilisoft.com) the application does require that the OS provides a 32 bit runtime. Sometimes the necessary packages are not installed by default when imaging a 64bit UNIX OS but can be easily installed with the package manager.

Specifically for RHEL 6 the following packages using must be installed using yum:

  • glibc.i686
  • krb5-libs.i686

While for Debian 7 the following package must be installed using apt-get:

  • libc6-i386

Consult your OS vendor’s documentation to understand the best way to add these packages.

Environment Variables

Setting the following environment variables is useful when working with Reef.

PATH

This is a standard UNIX environment variable which controls where the shell looks for programs, it is useful to add Reef’s bin directory (/opt/abilisoft.com/reef/bin) to this.

MANPATH

This is a standard UNIX environment variable which controls where man searches for manual pages. It is useful to add Reef’s man directory (/opt/abilisoft.com/reef/share/man) to this.

For convenience Reef ships with a small script which can be sourced, doing so will set up the environment variables correctly:

$ . /opt/abilisoft.com/reef/tools/env.sh

Lastly there is an environment variable which can help you debug issues with a broken installation:

AS_DEBUG

By setting this variable to any non-empty value the Abilisoft binaries will provide more details when execution fails. This is mostly useful to debug a broken installation. E.g.:

$ AS_DEBUG=t
$ export AS_DEBUG
$ ashttpd

Using the UNIX Shell

Most UNIX systems will have an sh compatible shell available. Below is a reminder of the several ways in which you can set environment variables using an interactive shell:

$ VAR=value

Will set the variable in the current shell only, which means any process started from the shell will not have this environment variable. To make the variable available to the children of the shell it must be exported:

$ VAR=value
$ export VAR

Lastly it is also possible to set an environment variable for just one child process created by the shell, e.g. using the echo command:

$ VAR=value echo The value is: $VAR

This manual may use any of these techniques in examples, but in each case any technique which sets a variable in the environment is appropriate.

Installing Reef

Reef is distributed in a tar archive which has the following format:

up_<VERSION>_<PLATFORM>.tar.gz

An archive compatible with the target platform should be unpacked, usually as follows:

$ tar -xzof reef_<VERSION>_<PLATFORM>.tar.gz

This will give rise to the following directory and it’s contents:

reef_<VERSION>_<PLATFORM>/
    install.sh
    thirdparty/
    reef/

Reef must always be installed using the install.sh script, which must be invoked from inside the unpacked directory as follows:

$ cd reef_<VERSION>_<PLATFORM>
$ ./install.sh

By default the script will install Reef into /opt/abilisoft.com/ which conforms to the FHS and also guarantees avoiding installation clashes. There are some options you can pass into the installer to modify the installation behaviour, outlined below:

-h, --help

Display help output for the installer script.

--prefix <PATH>

This option installs Reef to a different location from the default /opt/abilisoft.com/.

--force

If the destination directories already exist inside the chosen prefix (see --prefix) the installation will be aborted. This option will force the removal of any directories that may already exist and perform the installation anyway.

--platform <ARCH>-<OS>

The installation script will try to detect the host platform and will refuse to install if the target platform does not match the installation archive’s platform. You can override this behaviour (and coerce successful installation) with this option, when platform detection is not as expected or as required.

For example, you would use this option to install a 32-bit version of Reef on a 64-bit Operating System.

--initd

By default Reef will be installed but will not be started on system startup. Using this option will install the necessary init scripts in the correct location (/etc/rc?.d/) so that Reef will automatically start when the operating system starts. If this option is not used, init.d script installation can be performed manually at a later time using the init.d script in the installed Reef directory, by default at /opt/abilisoft.com/reef/etc/init.d/abilisoft.com-reef.

--profile

This option will add lines to /etc/profile which modify PATH and MANPATH to include the correct directories for Reef.

-i, --inplace

This option does not actually install Reef, but makes it possible to run ashttpd in the location in which the tar archive was unpacked. This can be useful for a quick test or experiment but should not be used for production.

--notp

This option will inhibit the installation of the thirdparty software needed by Reef. This can be useful when you need to install multiple Abilisoft products in the same prefix. See Installing alongside other Abilisoft applications for more information.

Installing alongside other Abilisoft applications

When installing multiple Abilisoft products you should use the --notp option to skip the unnecessary installation of a third-party bundle.

Note

Be sure that a compatible third-party bundle (of the correct version) is installed in the same prefix. For example, if you have installed UP or Reef then you may install MA with the –notp option as the third-party provided by those products is compatible. However the MA third-party is NOT suitable for UP and Reef.

Uninstalling Reef

The installation is entirely self-contained and uninstalling is simply a matter of stopping the ashttpd daemon and removing its files. Do however, remember to keep a copy of your configuration if you need it for future use:

$ ashttpd --stop
$ cp -r /opt/abilisoft.com/reef/etc/ /home/myuser/reefcfg
$ rm -rf /opt/abilisoft.com

Upgrading Reef

Upgrading Reef is simply a matter of uninstalling and re-installing. Make sure you read the product’s release notes in order to understand any significant changes which may affect your installation.