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 (3 or 4)
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
mkdir /usr/share/self-service-password/cache
mkdir /usr/share/self-service-password/templates_c
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
Due to a bug in old Debian and Ubuntu smarty3 package, you may face the error syntax error, unexpected token "class"
.
In this case, 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
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:
For EL7/EL8:
rpm --import https://ltb-project.org/documentation/_static/RPM-GPG-KEY-LTB-project
For EL9:
rpm --import https://ltb-project.org/documentation/_static/RPM-GPG-KEY-LTB-PROJECT-SECURITY
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
You can also add options that will be passed to the command line:
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
-e debug
Here, -e debug will be passed to the apache server
From git repository, for developpers only
You can get the content of git repository
Update composer dependencies:
composer update
Depending on your php version, this command will determine the versions of composer dependencies, and create a composer.lock
file. Then it will download these dependencies and put them in vendor/ directory.
Then you can follow the instructions from From tarball, especially the prerequisites.