当我们接入jira或者wiki等等,普通用户肯定有修改密码的需求,为了实现此功能,就得在openldap配置文件中加入权限,允许普通用户自己修改密码。
一、添加用户只能修改自己密码权限
1 | [admin@localhost openldap]$ cat updatepass.ldif |
二、部署前端web页面
通过编译部署(nginx + php7)
2.1 安装 php7
安装依赖包
1 | [admin@localhost downloads]$ sudo yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers |
下载php7并解压
1 | [admin@localhost downloads]$ wget https://www.php.net/distributions/php-7.2.34.tar.gz |
编译前配置
在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini
1 | [admin@localhost downloads]$ cd php-7.2.34 |
编译安装
1 | [admin@localhost php-7.2.34]$ ./configure \ |
复制php配置文件
1 | [admin@localhost php-7.2.34]$ cp /work/admin/php/etc/php-fpm.conf.default /work/admin/php/etc/php-fpm.conf |
2.2 安装php-ldap模块
确保安装了依赖包
1 | [admin@localhost php-7.2.34]$ sudo yum install -y openldap |
拷贝库文件
1 | [admin@localhost php-7.2.34]$ sudo cp -frp /usr/lib64/libldap* /usr/lib/ |
编译安装php-ldap模块
1 | [admin@localhost php-7.2.34]$ cd /usr/local/src/php-7.0.21/ext/ldap/ (源码包路径) |
centos中使用phpize编译php扩展的时候出现报错:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
报错意思的是找到一个叫autoconf的工具,我们执行一下yum命令去安装即可
yum install -y autoconf
1 | [admin@localhost ldap]$ ./configure --with-php-config=/work/admin/php/bin/php-config (php安装路径) |
修改php.ini配置引入ldap模块
1 | [admin@localhost ldap]$ vim /work/admin/php/etc/php.ini |
修改完后用 ./php/bin/php -m 查看是否有 ldap 模块
2.3 安装nginx
1 | [admin@localhost downloads]$ wget http://nginx.org/download/nginx-1.15.4.tar.gz |
2.4 安装 self-service-password 服务
配置Self Service Password的yum仓库源
1 | [admin@localhost downloads]$ cat /etc/yum.repos.d/self-service-password.repo |
使用如下命令进行安装
1 | [admin@localhost downloads]$ sudo yum -y install self-service-password |
在安装Self Service Password的同时,也会安装apache和php 5.4等相关依赖;因为前面我们手动安装了php7和nginx可以把php5.4和apache卸载掉。
2.5 修改配置
修改Self Service Password配置
主要修改以下几部分
1 | [admin@localhost ~]$ grep -vE '^#|^$' /usr/share/self-service-password/conf/config.inc.php |
修改nginx配置
1 | server { |
启动服务
启动php服务
1 | [admin@localhost ~]$ /work/admin/php/sbin/php-fpm |
启动nginx服务
1 | /work/admin/nginx/sbin/nginx |
通过docker部署
1 | [admin@localhost ~]$ cat docker-compose.yml |
以上两种安装方式都可以,具体看自己想用哪种方式,个人觉得通过编译部署方式一步一步操作可以更好理解其原理。
配置好后访问8080端口便可以得到以下页面