Installation

From tarball

Prerequisites:

  • Apache or another web server

  • php (>=7.4)

  • php-curl (haveibeenpwned api)

  • php-filter

  • php-gd (captcha)

  • php-ldap

  • php-mbstring (reset mail)

  • php-openssl (token crypt, probably built-in)

  • Smarty (version >=3)

Tarball can be downloaded from LTB project website.

Uncompress and unarchive the tarball:

tar -zxvf ltb-project-self-service-password-*.tar.gz

Install files in /usr/share/:

mv ltb-project-self-service-password-* /usr/share/self-service-password

Adapt ownership of Smarty cache repositories so Apache user can write into them. For example:

chown apache:apache /usr/share/self-service-password/cache
chown apache:apache /usr/share/self-service-password/templates_c

Debian / Ubuntu

Warning

You need to install first the package smarty3. If you face the error syntax error, unexpected token "class", try to install a newer version of the package:

# wget http://ftp.us.debian.org/debian/pool/main/s/smarty3/smarty3_3.1.47-2_all.deb

# dpkg -i smarty3_3.1.47-2_all.deb

Configure the repository:

vi /etc/apt/sources.list.d/ltb-project.list
deb [arch=amd64 signed-by=/usr/share/keyrings/ltb-project.gpg] https://ltb-project.org/debian/stable stable main

Import repository key:

wget -O - https://ltb-project.org/documentation/_static/RPM-GPG-KEY-LTB-project | gpg --dearmor | sudo tee /usr/share/keyrings/ltb-project.gpg >/dev/null

Then update:

apt update

You are now ready to install:

apt install self-service-password

CentOS / RedHat

Warning

You may need to install first the package php-Smarty which is not in official repositories.

Configure the yum repository:

vi /etc/yum.repos.d/ltb-project.repo
[ltb-project-noarch]
name=LTB project packages (noarch)
baseurl=https://ltb-project.org/rpm/$releasever/noarch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-LTB-project

Then update:

yum update

Import repository key:

rpm --import https://ltb-project.org/documentation/_static/RPM-GPG-KEY-LTB-project

You are now ready to install:

yum install self-service-password

Warning

CentOS 7 comes with PHP 5 by default, you need to install PHP 7.

Docker

We provide an official Docker image.

Prepare a local configuration file, for example ssp.conf.php.

<?php // My SSP configuration
$keyphrase = "mysecret";
$debug = true;
?>

Start container, mounting that configuration file:

docker run -p 80:80 \
    -v $PWD/ssp.conf.php:/var/www/conf/config.inc.local.php \
    -it docker.io/ltbproject/self-service-password:latest