欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu搭建LDAP服务器

程序员文章站 2022-03-07 14:12:48
...

一、如何搭建服务器?

请参考这里搭建。

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.

Ubuntu搭建LDAP服务器
根据提示得知是因为PHP不是线程安全的,无法和正在运行的apache2配合。

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

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

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

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

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

Ubuntu搭建LDAP服务器
发现是使用的event模式,所以当前apache 是多线程工作模式。

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

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

方法:
1、cd /etc/apache2/mods-enabled
Ubuntu搭建LDAP服务器
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!!!

Ubuntu搭建LDAP服务器
根据提示得知php没有正常工作。
Ubuntu搭建LDAP服务器

解决方法:

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

重启apach2:

sudo /etc/init.d/apache2 restart

问题解决,可以登录。
Ubuntu搭建LDAP服务器

相关标签: 杂谈