From tarball


  • 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


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

# 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] stable main

Import repository key:

wget -O - | 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


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
name=LTB project packages (noarch)

Then update:

yum update

Import repository key:

rpm --import

You are now ready to install:

yum install self-service-password


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


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/ \