安装SSP, 依赖包包括php5, php5-ldap, php5-mcrypt

启用mcrypt功能: sudo php5enmod mcrypt

第一部分: Apache

安装Apache, 并且启用SSL模块: sudo a2enmod ssl

在/etc/apache2/apache2.conf中加入以下字段:

<Directory /usr/share/self-service-password>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

新建/etc/apache2/sites-available/self-service-password.conf, 插入以下字段:

<IfModule mod_ssl.c>
<VirtualHost *:>
DocumentRoot /usr/share/self-service-password
SSLEngine on
SSLCertificateFile /home/chen/ssp.crt
SSLCertificateKeyFile /home/chen/ssp.key
SSLCACertificateFile /home/chen/ca.crt
</VirtualHost>
</IfModule>

启用该网站: sudo a2ensite self-service-password

若想让用户强制访问HTTPS, 则先运行sudo a2enmod rewrite, 然后在/etc/apache2/apache2.conf里面加入下列代码:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

第二部分: LDAP

修改/usr/share/self-service-password/conf/config.inc.php

# LDAP
$ldap_url = "ldaps://dc1.abc.local";
$ldap_binddn = "cn=administrator,cn=users,dc=abc,dc=local";
$ldap_bindpw = 'XXXXXX';
$ldap_base = "ou=vb-user,dc=abc,dc=local";
$ldap_login_attribute = "uid";
$ldap_fullname_attribute = "cn";
$ldap_filter = "(&(objectClass=user)(sAMAccountName={login})(!(userAccountControl:1.2.840.113556.1.4.:=)))"; # Active Directory mode
# true: use unicodePwd as password field
# false: LDAPv3 standard behavior
$ad_mode = true;
# Force account unlock when password is changed
$ad_options['force_unlock'] = true;
# Force user change password at next login
$ad_options['force_pwd_change'] = false; ....略... # Who changes the password?
# Also applicable for question/answer save
# user: the user itself
# manager: the above binddn
$who_change_password = "manager";

修改/etc/ldap/ldap.conf

TLS_CACERT /home/chen/ca.crt    ##指定CA证书的路径

若有问题, 可以尝试查看/var/log/apaches2下的各种日志文件.

第三部分: Mail

安装sendmail. 修改/usr/share/self-service-password/conf/config.inc.php

## Mail
# LDAP mail attribute
$mail_attribute = "mail";
# Who the email should come from
$mail_from = "VBPR@abc.cn";
# Notify users anytime their password is changed
$notify_on_change = false;

Self Service Password: http://ltb-project.org/wiki/start

中文语言包: http://tools.ltb-project.org/issues/632

PWM: https://github.com/jrivard/pwm

Self Service Password (SSP)的更多相关文章

  1. 搭建ldap自助修改密码系统--Self Service Password

    系统版本:centos6 Self Service Password版本:1.1 服务安装: 安装依赖:yum install php70-ldap.x86_64 -y (版本尽量大于5.3,否则会提 ...

  2. Self Service Password 密码策略

    1.在活动目录中新建一个用户,并赋予域管理员权限:2.拷贝conf目录下的config.inc.php为config.inc.local.php:3.按自己的实际情况及要求修改config.inc.l ...

  3. Windows Service的官方描述,抄下来(不写obj就是LocalSystem)

    How to create a Windows service by using Sc.exe Email Print Support for Windows XP has ended Micro ...

  4. OpenLDAP + phpLDAPadmin

    一.基础设置 1.1 环境说明 Centos 7.5 openldap 1.2 关闭防火墙和selinux setenforce sed -i 's/SELINUX=enforcing/SELINUX ...

  5. ubuntu 搭建PPTP VPN服务器

    上一篇文章介绍了如何在Ubuntu服务器上搭建IPSEC L2TP VPN服务器.继续介绍如何在Ubuntu服务器上搭建PPTP VPN服务器. 首先安装以下所需包 #apt-get install ...

  6. rsync 配置

    1.安装rsync和配置文件 root@localhost ~]# yum -y install rsync #安装rsync服务 #CentOS 默认以 xinetd 方式运行 rsync 服务.r ...

  7. tuxedo入门

    为文件增加用户执行权限: 官网下载tuxedo111120_64_Linux_01_x86.bin su //进入root操作,防止权限不够 创建文件夹,用来做tuxedo文件的安装路径 cd /op ...

  8. Ubuntu 12.04安装PPTP

    1.安装软件 sudo apt-get install pptpd ufw 2.编辑/etc/ppp/pptpd-options 找到 refuse-pap refuse-chap refuse-ms ...

  9. nsfocus-笔试题

    1.描述sendmail原理及通讯机制 sendmail程序接受到待发邮件后,通过关键字@判断邮件的格式是否符合要求,匹配成功后提取邮件后缀域名信息并查询DNS数据库相关MX(邮件专用)记录,若有匹配 ...

随机推荐

  1. 两个文件去重的N种姿势

    最近利用shell帮公司优化挖掘关键词的流程,用shell替代了多个环节的操作,极大提高了工作效率. shell在文本处理上确有极大优势,比如多文本合并.去重等,但是最近遇到了一个难搞的问题,即两个大 ...

  2. HDU 2.1.7 (求定积分公式)

    The area Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  3. 播放视频最好的 HTML 解决方法

    HTML 5 + <object> + <embed> <video width=" controls="controls"> < ...

  4. C++实现大数据乘法

    结构体定义与封装 struct bigdatacom { private : ]; ]; public : void init(const char *str1,const char *str2) { ...

  5. 今天装了一个RTI工具

    就是一个协议,需要在本机运行,今天天气有变,还要陈到家里来安装光纤宽带,昨天晚上家里下了一场雷电交加的大雨,电停了一会

  6. ajax 中文乱码问题 主要是IE浏览器

    解决方案: 提交前采用encodeURI两次编码,注:一定是两次 举例: var taText = $("#txtName").val(); taText = encodeURI( ...

  7. 菜鸟学Linux命令:ssh命令 远程登录

    1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...

  8. hrbustoj 1161:Leyni(树状数组练习)

    LeyniTime Limit: 3000 MS Memory Limit: 65536 KTotal Submit: 260(59 users) Total Accepted: 80(55 user ...

  9. C# 6新特性及示例代码

    今天推荐的其实是一个Github开源项目,不过这个开源项目是专门介绍C# 6的最新特性,并给出了示例代码. 我们知道,微软即将发布Windows 10和Visual Studio 2015,在VS20 ...

  10. (三)WebRTC手记之本地视频采集

    转自:http://www.cnblogs.com/fangkm/p/4374610.html 前面两篇文章介绍WebRTC的运行流程和使用框架接口,接下来就开始分析本地音视频的采集流程.由于篇幅较大 ...