Chapter 2. Installation

New installation

Requirements

LAM has the following requirements to run:

  • Apache/Nginx webserver (SSL recommended) with PHP module (PHP (>= 8.1) with ldap, gettext, xml, openssl and optional OpenSSL)

  • Some LAM plugins may require additional PHP extensions (you will get a note on the login page if something is missing)

  • Perl (optional, needed only for lamdaemon)

  • Any standard LDAP server (e.g. OpenLDAP, Active Directory, Samba 4, OpenDJ, 389 Directory Server, Apache DS, ...)

  • A recent web browser that supports CSS2 and JavaScript, at minimum:

    • Firefox (max. 2 years old)

    • Edge (max. 2 years old)

    • Opera (max. 2 years old)

    • Chrome (max. 2 years old)

OpenSSL will be used to store your LDAP password encrypted in the session file.

Please note that LAM does not ship with a SELinux policy. Please disable SELinux or create your own policy.

See LDAP schema fles for information about used LDAP schema files.

Prepackaged releases

LAM is available as prepackaged version for various platforms.

Debian/Ubuntu

LAM is part of the official Debian/Ubuntu repository. New releases are uploaded to unstable and will be available automatically in testing and the stable releases. You can run

apt-get install ldap-account-manager

to install LAM on your server. Additionally, you may download the latest LAM Debian/Ubuntu packages from the LAM homepage or the Debian package homepage.

Installation of the latest packages on Debian/Ubuntu

  1. Install the LAM package

    dpkg -i ldap-account-manager_*.deb

    If you get any messages about missing dependencies run now: apt-get -f install

  2. Install the lamdaemon package (optional)

    dpkg -i ldap-account-manager-lamdaemon_*.deb

Suse/Fedora/CentOS

There are RPM packages available on the LAM homepage. The packages can be installed with these commands:

rpm -e ldap-account-manager ldap-account-manager-lamdaemon (if an older version is installed)

rpm -i <path to LAM package>


Note: The RPM packages do not contain a dependency to PHP due to the various package names for it. Please make sure that you install Apache/Nginx with PHP.

Example installation for Apache + PHP 8 on OpenSuse 15:

  • zypper install apache2 php8 apache2-mod_php8 php8-ldap php8-zip php8-soap php8-gd php8-curl php8-gmp php8-mbstring php8-sqlite php8-mysql php8-gettext

  • systemctl enable apache2

  • systemctl start apache2

  • firewall-cmd --add-service=http --permanent

  • firewall-cmd --reload

Other RPM based distributions

The RPM packages for Suse/Fedora are very generic and should be installable on other RPM-based distributions, too. The Fedora packages use apache:apache as file owner and the Suse ones use wwwrun:www.

FreeBSD

LAM is part of the official FreeBSD ports tree. For more details see these pages:

FreeBSD-SVN: http://svnweb.freebsd.org/ports/head/sysutils/ldap-account-manager/

FreshPorts: http://www.freshports.org/sysutils/ldap-account-manager

Installing the tar.bz2

Extract the archive

Please extract the archive with the following command:

tar xjf ldap-account-manager-<version>.tar.bz2

Install the files

Manual copy

Copy the files into the html-file scope of the web server. For example /apache/htdocs or /var/www/html.

Then set the appropriate file permissions inside the LAM directory:

  • sess: write permission for apache/nginx user

  • tmp: write permission for apache/nginx user

  • tmp/internal: write permission for apache/nginx user

  • config (with subdirectories): write permission for apache/nginx user

  • lib/lamdaemon.pl: set executable

With configure script

Instead of manually copying files you can also use the included configure script to install LAM. Just run these commands in the extracted directory:

  • ./configure

  • make install

Options for "./configure":

  • --with-httpd-user=USER USER is the name of your Apache/Nginx user account (default httpd)

  • --with-httpd-group=GROUP GROUP is the name of your Apache/Nginx group (default httpd)

  • --with-web-root=DIRECTORY DIRECTORY is the name where LAM should be installed (default /usr/local/lam)

Configuration files

Copy config/config.cfg.sample to config/config.cfg. Open the index.html in your web browser:

  • Follow the link "LAM configuration" from the start page to configure LAM.

  • Select "Edit general settings" to setup global settings and to change the master configuration password (default is "lam").

  • Select "Edit server profiles" to setup a server profile.

Webserver configuration

Please see the Apache or Nginx chapter.

Docker

You can run LAM and LAM Pro inside Docker. See here for detailed instructions.

System configuration

PHP

LAM runs with PHP 8 (>= 8.1). Needed changes in your php.ini:

memory_limit = 128M

For large installations (>10000 LDAP entries) you may need to increase the memory limit to 256M.

If you run PHP with activated Suhosin extension please check your logs for alerts. E.g. LAM requires that "suhosin.post.max_name_length" and "suhosin.request.max_varname_length" are increased (e.g. to 256).

Locales for non-English translation

If you want to use a translated version of LAM be sure to install the needed locales. The following table shows the needed locales for the different languages.

Table 2.1. Locales

LanguageLocale
Catalanca_ES.utf8
Chinese (Simplified)zh_CN.utf8
Chinese (Traditional)zh_TW.utf8
Czechcs_CZ.utf8
Dutchnl_NL.utf8
English - Great Britainno extra locale needed
English - USAen_US.utf8
Frenchfr_FR.utf8
Germande_DE.utf8
Hungarianhu_HU.utf8
Italianit_IT.utf8
Japaneseja_JP.utf8
Polishpl_PL.utf8
Portuguesept_BR.utf8
Russianru_RU.utf8
Slovaksk_SK.utf8
Spanishes_ES.utf8
Turkishtr_TR.utf8
Ukrainianuk_UA.utf8

You can get a list of all installed locales on your system by executing:

locale -a

Debian/Ubuntu users can add locales with "dpkg-reconfigure locales".