Ubuntu搭建LDAP服务器

一、如何搭建服务器?

请参考这里搭建。

https://my.oschina.net/u/2496664/blog/801996

二、过程中有什么问题?

直接按照上面的教程搭建,并没有成功。

1、安装LDAP没有遇到问题。

2、安装phpldapadmin遇到了问题。

问题一、按照上面的博主说的安装了phpldapadmin之后,访问对应主机的页面返回404。

这是为什么呢?

原来安装phpldapadmin的时候,其实是失败了。错误信息是这个:

apache2_reload: [Thu Dec 26 17:56:58.872873 2019] [:crit] [pid 14863:tid 139918847014784] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.

如图所示的错误
根据提示得知是因为PHP不是线程安全的,无法和正在运行的apache2配合。

随后了解了apache2 的工作模式。分为 worker,prefork,event模式三种。

简单理解三种模式:
prefork 模式,古老稳定兼容。多进程工作,效率低。因为是多进程,不需要考虑线程安全。

worker 模式,多线程 + 多进程混合工作,效率稍微高点,但是keep alive 的时候会一直占用资源,阻塞。

event 模式,多线程 + 多进程,非阻塞。

我们这里打印说PHP不是线程安全的,不能喝apache2 这个多线程的模式兼容,难道是因为工作模式的原因?

是使用的event模式
发现是使用的event模式,所以当前apache 是多线程工作模式。

问题二、如何启动apache2的prefork模式?

网上很多人说的都不好用。最后我自己发现一个方法。我使用的是linux mint 18.1,apache2.4,php 7.0.

方法:
1、cd /etc/apache2/mods-enabled
发现使用的是event工作模式
2、sudo rm mpm_event.conf
3、sudo rm mpm_event.load
4、ln -s ../mods-available/mpm_prefork.load mpm_prefork.load
5、ln -s ../mods-available/mpm_prefork.conf mpm_prefork.conf
6、sudo /etc/init.d/apache2 restart

这样就换成apache2 prefork工作方法了。

然后重新安装phpldapadmin.

sudo apt-get purge phpldapadmin
sudo apt-get install  phpldapadmin

问题解决。

问题3:解决了前两个问题,访问web还是不正常,如图

If you are seeing this in your browser,
PHP is not installed on your web server!!!

php没有正常工作
根据提示得知php没有正常工作。
这里只有一个load

解决方法:

ln -s ../mods-available/php7.0.conf php7.0.conf

重启apach2:

sudo /etc/init.d/apache2 restart

问题解决,可以登录。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值