一,安裝Apache
#./configure --prefix=/usr/local/apache --enable-module=shared --enable-so --enable-rewrite --with-mpm=worker
#make
#make install
#vi /usr/local/apache/conf/httpd.conf
找到#AddType application/x-tar .tgz 这行,在下面加两行。
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html
改成:
DirectoryIndex index.php index.jsp index.html index.htm
# vi /etc/profile
PATH="$PATH":/usr/local/apache2/bin
二,安裝PHP
# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php5 --with-ldap --with-gettext
# make
# make install
# cp php.ini-dist /usr/local/php5/php.ini
三,安装Berkeley DB
由于openldap需要用Berkeley DB来存放数据,所以要先安装所以需先安装Berkeley
数据库.
#cd db-5.1.19
# cd db-5.1.19/build_unix/
# ../dist/configure
# make
# make install
默認情況下被安裝的到/usr/local/BerkeleyDB.5.1,為了能让OpenLDAP使用BDB的库文件,还需要将BDB的库文件所在地目录添加到系统动态链接库的路径中。需要编辑系统动态链接库的配置文件/etc/ld.so.conf
# vi /etc/ld.so.conf
加入
/usr/local/BerkeleyDB.5.1/lib
使用以下命令刷新系统动态链接库缓存
# /sbin/ldconfig
四 ,安装openldap
方法一:
# tar -zxvf openldap-stable-20070110.tgz
# cd openldap-2.3.32/
# env CPPFLAGS="-I/usr/local/BerkeleyDB.5.1/include"LDFLAGS="-L/usr/local/BerkeleyDB.5.1/lib" ./configure --prefix=/usr/local/openldap --enable-bdb
# make depend
# make
# make test
# make install
方法二(RPM包):
rpm -ivh openldap-servers-2.3.43-3.el5.i386.rpm
rpm -ivh openldap-servers-sql-2.3.43-3.el5.i386.rpm
# vi /usr/local/openldap/etc/openldap/slapd.conf
在include /usr/local/openldap/etc/openldap/schema/core.schema下面加入以下内容
include /usr/local/openldap/etc/openldap/schema/corba.schema
include /usr/local/openldap/etc/openldap/schema/cosine.schema
include /usr/local/openldap/etc/openldap/schema/dyngroup.schema
include /usr/local/openldap/etc/openldap/schema/inetorgperson.schema
include /usr/local/openldap/etc/openldap/schema/java.schema
include /usr/local/openldap/etc/openldap/schema/misc.schema
include /usr/local/openldap/etc/openldap/schema/nis.schema
include /usr/local/openldap/etc/openldap/schema/openldap.schema
修改
suffix "dc=pcp,dc=com"
rootdn "cn=Manager,dc=pcp,dc=com"#LDAP管理者用户名,密码
rootpw 123 //前面不要留空格哦!
如果要加密,则通过/usr/local/openldap/sbin/slappasswd 回车,再输入你用的密码,获得加密字符串,然后将明文改为密文即可。
测试配置文件:slaptest
启动openldap
# /usr/local/openldap/libexec/slapd
openldap的关闭
使用命令:
ps -ef |grep slapd
root 5780 1 0 11:54 ? 00:00:00 /usr/local/libexec/slapd
root 5783 10179 0 11:54 pts/1 00:00:00 grep slapd
然后执行:
killall slapd
如果是rpm 包,则service ldap start /stop
建立初始化数据:(pcp.ldif)
dn: dc=pcp,dc=com
objectclass: dcObject
objectclass: organization
o: PCP,Inc.
dc: pcp
dn: cn=Manager,dc=pcp,dc=com
objectclass: organizationRole
cn: Manager
导入LDIF文件
ldapadd -x -W -D "cn=Manager,dc=pcp,dc=com" -f pcp.ldif
五,安装PhpLDAPadmin
cp -a phpldapadmin-1.0.1 /usr/local/phpldapadmin
# cp config.php.example config.php
# vi config.php
$config->custom->session['blowfish'] = 'phpldapadmin';
$config->custom->appearance['language'] = 'auto';
把phpldapadmin变成中文
# cd /usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES
# iconv -f gbk -t utf8 messages.po > messages.new.po
# msgfmt -o messages.mo messages.new.po
# vi /usr/local/phpldapadmin/htdocs/header.php
$language = isset($config) ? $language = $config->GetValue('appearance','language') : 'zh_CN';
把/*放到这几行后,等同于使下在的代码生效
$i++;
$ldapservers->SetValue($i,'server','name','My LDAP Server');
$ldapservers->SetValue($i,'server','host','127.0.0.1');
$ldapservers->SetValue($i,'server','port','389');
$ldapservers->SetValue($i,'server','base',array(''));
$ldapservers->SetValue($i,'server','auth_type','cookie');
$ldapservers->SetValue($i,'login','dn','cn=Manager,dc=pcp,dc=com');
$ldapservers->SetValue($i,'login','pass','');
六,配置Apache
用户认证:
htpasswd -c /etc/httpd/Apache_LDAP_Pwd admin
建立虚拟目录:
<IfModule alias_module>
Alias /phpldapadmin "/usr/local/phpldapadmin"
</IfModule>
<Directory "/usr/local/phpldapadmin/">
AllowOverride None
Options None
Order allow,deny
Allow from all
AuthType Basic
AuthName "please enter your name and password!"
AuthUserFile /etc/httpd/php_ldap_admin_pwd
Require User admin
</Directory>
重新启动Apache .
七,测试
输入http://172.28.5.253/phpldapadmin/
安装完毕!