我的编程空间,编程开发者的网络收藏夹
学习永远不晚

LDAP认证服务器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

LDAP认证服务器

1.要准备的环境与软件(这里测试环境是Centos6.0-64位系统)
alfresco-community-4.2.c-installer-linux-x64.bin (注: alfresco是一个免费开源系统,可以自己去下载)
apache-tomcat-7.0.42.tar
db-4.5.20.tar
jdk-6u45-linux-x64.bin
openldap-stable-20100219.tar
phpldapadmin-1.2.3.tar
mysql-5.5.13.tar.gz (totaralms要求mysql的版本5.1以上)
nginx-1.1.5.tar.gz
php-5.4.14.tar.gz  (注意:由于totaralms要求php必须5.4以上版本才能正常安装)
totaralms-2.4.1.tar.gz (注:totaralms其实就是moodle,一个教育平台,也是免费开源的,可以自己去下载)


2.这里先检测下硬盘情况
df –h

图片.png

3装一些依赖包
yum -y install gcc gcc-c++ ncurses ncurses-devel libxml libxml2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel gd gd-devel pcre pcre-devel cmake gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* libmcrypt* curl* icu gettext
清除缓存文件
yum clean all
4.由于php要添加ldap模块,需要ldap先安装并且已启用,才能正常添加,这里我们先安装ldap,首先安装db数据库(注:ldap需要db数据库)
tar zxvf db-4.5.20.tar.gz -C /usr/class="lazy" data-src/
cd /usr/class="lazy" data-src/db-4.5.20/build_unix/
../dist/configure
make
make install

安装ldap
tar zxvf openldap-stable-20100219.tgz -C /usr/class="lazy" data-src/
cd /usr/class="lazy" data-src/openldap-2.4.21/
env CPPFLAGS="-I/usr/local/BerkeleyDB.4.5/include" LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.4.5/lib -R/usr/local/lib" LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.5/lib" ./configure --enable-crypt --with-pam   (注意这里都是一行)
make depend
make  (make后,这里发现一些错误)

图片.png

解决方法
yum -y install automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig
然后重新安装一次
env CPPFLAGS="-I/usr/local/BerkeleyDB.4.5/include" LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.4.5/lib -R/usr/local/lib" LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.5/lib" ./configure --enable-crypt --with-pam
make depend
make
make install

5.修改ldap的配置文件
vim /usr/local/etc/openldap/slapd.conf
添加三行到指定位子
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/nis.schema
图片.png

修改Ldap认证登录
注意:这里先创建一个符合复杂性的密码
/usr/local/sbin/slappasswd -v -u -s 你的密码 -h {crypt}
这里可能出现报错的情况

图片.png

解决方法:
ln -s /usr/local/BerkeleyDB.4.5/lib/libdb-4.5.so /usr/lib/libdb-4.5.so
ldconfig
会得到下面的结果

图片.png

Copy 上面密码的加密字符串

修改ldap配置文件

vim /usr/local/etc/openldap/slapd.conf

图片.png

注解:
Suffix  指的登录域
Rootdn  指创建一个管理域的管理员
Rootpw  指管理员的密码(这里可写明文,但很不安全所以用了加密)

6.启用ldap,看是否正常运行
/usr/local/libexec/slapd
ps auxw | grep slapd

图片.png

也可以检测389端口是否启用,ldap默认用的是389端口

图片.png

这里我们强制关闭ldap

pkill slapd

在看看ldap情况

图片.png

在启动ldap

/usr/local/libexec/slapd

图片.png

这里启动正常,说明ldap是正常的  (强调:ldap千万不要关闭了,这样会影响到后面php添加ldap模块)

7.添加ldap帐号(注:ldap导入账户信息都是.ldif,后缀不要弄错了)
vim /root/addou.ldif

dn: dc=demo,dc=com
objectclass: dcObject
objectclass: organization
o: school
dc: demo

dn: cn=root,dc=demo,dc=com
objectclass: organizationalRole
cn: root

dn: ou=jishubu,dc=demo,dc=com
objectClass: organizationalUnit
ou: jishubu

vim /root/user.ldif

dn: uid=Sam.tao,ou=jishubu,dc=demo,dc=com
uid: Sam.tao
cn: Sam.tao
sn: SIRNAME
mail: Sam.tao@demo.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
userPassword: 123456
loginShell: /bin/sh
uidNumber: 601
gidNumber: 601
homeDirectory: /home/Sam.tao

dn: uid=Roy.zhao,ou=jishubu,dc=demo,dc=com
uid: Roy.zhao
cn: Roy.zhao
sn: SIRNAME
mail: Roy.zhao@kineo.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
userPassword: 123456
loginShell: /bin/sh
uidNumber: 602
gidNumber: 601
homeDirectory: /home/Roy.zhao

dn: uid=Kelvin.zhang,ou=jishubu,dc=demo,dc=com
uid: Kelvin.zhang
cn: Kelvin.zhang
sn: SIRNAME
mail: Kelvin.zhang@kineo.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
userPassword: 123456
loginShell: /bin/sh
uidNumber: 603
gidNumber: 601
homeDirectory: /home/Kelvin.zhang
注意格式,千万不要加多空格,这里的userPassword可以是加密的,加密的方式前面说了
下面我们导入帐号信息
/usr/local/bin/ldapadd -x -W -D "cn=root,dc=demo,dc=com" -f /root/addou.ldif
图片.png

这里输入的密码就是前面我们创建的管理员的密码,输入密码后看到上面3行就表示导入成功了
我们在导另外一个
/usr/local/bin/ldapadd -x -W -D "cn=root,dc=demo,dc=com" -f /root/user.ldif
图片.png

测试以管理者登入查询ldap的dit

/usr/local/bin/ldapsearch -h 192.168.0.103 -x -D "cn=root,dc=demo,dc=com" -w 你的密码 -b "uid=Sam.tao,ou=jishubu,dc=demo,dc=com"

图片.png

接下来我们先安装mysql

先检测mysql有没有安装

rpm -q mysql

图片.png

建立mysql安装目录及数据存放目录
 mkdir /usr/local/mysql
 mkdir /data/mysql
创建用户和用户组
 groupadd mysql
 useradd -g mysql mysql
赋予数据存放目录权限
chown mysql:mysql -R /data/mysql/

tar zxvf mysql-5.5.13.tar.gz -C /usr/class="lazy" data-src/
cd /usr/class="lazy" data-src/mysql-5.5.13/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/usr/local/mysql/etc \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DEXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_SSL=system

make && make install

创建my.cnf配置文件
mkdir /usr/local/mysql/log
mkdir /usr/local/mysql/etc
cp support-files/my-medium.cnf /usr/local/mysql/etc/my.cnf

初始化数据库
执行前需赋给scripts/mysql_install_db文件执行权限
chmod 755 scripts/mysql_install_db
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql

创建管理MySQL数据库的shell脚本
cp support-files/mysql.server /etc/init.d/mysqld

赋予shell脚本可执行权限:
chmod +x /etc/init.d/mysqld
将mysqld添加为系统服务
chkconfig --add mysqld
chkconfig mysqld on
启动MySQL
service mysqld start
这里可能会报错
图片.png

解决方法:
vim /usr/local/mysql/etc/my.cnf
添加一行
datadir         = /data/mysql

图片.png

service mysqld start

图片.png

cd /root/
编辑环境变量配置文件
vi /etc/profile
在最后一行添加一下代码:

PATH=$PATH:/usr/local/mysql/bin

重新加载配置文件
source /etc/profile
为root帐户设置初始密码为root
mysqladmin -u root password root

删除本机匿名连接的空密码帐号
mysql -u root -proot
mysql>use mysql;                        //选择系统数据库mysql
mysql>select Host,User,Password from user;   //查看所有用户
mysql>delete from user where password="";
mysql>flush privileges;
mysql>select Host,User,Password from user;    //确认密码为空的用户是否已全部删除
mysql>exit;

安装php  (注意:在php的参数里面第一要添加--with-ldap --with-ldap-sasl ,不然ldap模块加载不了)
tar zxvf php-5.4.14.tar.gz -C /usr/class="lazy" data-src/
cd /usr/class="lazy" data-src/php-5.4.14/
./configure --prefix=/usr/local/php --with-gettext --with-config-file-path=/usr/local/php/etc  --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml   --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm  --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --with-pdo_mysql --with-mysql=/usr/local/mysql/  --with-mysqli --enable-intl  --with-icu-dir=/usr
make
make ZEND_EXTRA_LIBS='-liconv'
make install

cp /usr/class="lazy" data-src/php-5.4.14/php.ini-production /usr/local/php/etc/php.ini
拷贝模板文件为php-fpm配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
编辑配置文件
vi /usr/local/php/etc/php-fpm.conf
user = www #设置php-fpm运行账号为www
group = www #设置php-fpm运行组为www
pid = run/php-fpm.pid #取消前面的分号
设置 php-fpm开机启动
#拷贝php-fpm到启动目录
cp /usr/class="lazy" data-src/php-5.4.14/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
chkconfig php-fpm on #设置开机启动

让root有权限执行
chmod 755 /etc/init.d/php-fpm
启动php
/etc/init.d/php-fpm start
这里报错
图片.png

添加新用户和用户组www
groupadd www
useradd -g www www
/etc/init.d/php-fpm start

图片.png

添加开机启动
echo "/etc/init.d/php-fpm start" >> /etc/rc.local


安装nginx
查看是否安装openssl和pcre 没有安装的话,使用yum安装就可以了
[root@ns1 ~]# rpm -q openssl
openssl-0.9.8e-12.el5_5.7
[root@ns1 ~]# rpm -q pcre
pcre-6.6-6.el5
安装nginx
tar zxvf nginx-1.1.5.tar.gz -C /usr/class="lazy" data-src/
cd /usr/class="lazy" data-src/nginx-1.1.5/
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre
make && make install
启动服务nginx服务
/usr/local/nginx/sbin/nginx
echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
查看80端口是否开启
netstat -anpt | grep :80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      14640/nginx

整合Nginx与PHP
上面已经讲过,Nginx自己并不处理动态网页的请求,而且Nginx将得到的动态请求转交给PHP,下面我们打开Nginx的配置文件看一下

cd /usr/local/nginx/conf/
cp nginx.conf nginx.conf.bak
vi nginx.conf
参照截图里面的改法
图片.png

图片.png

图片.png

这里改完先不重启nginx和php

Totaralms的发布安装
tar zxvf totaralms-2.4.1.tar.gz -C /usr/class="lazy" data-src/
cd /usr/class="lazy" data-src/
mv totaralms-2.4.1/ totaralms
mkdir /data/wwwroot
mv totaralms/ /data/wwwroot/
重启nginx ,php
/usr/local/nginx/sbin/nginx -s reload
/etc/init.d/php-fpm restart

图片.png

访问http://192.168.0.103/

图片.png

发现访问不了,找下原因

vim /usr/local/nginx/conf/nginx.conf

图片.png

说明php没有启用php-cgi模式

vim /usr/local/php/etc/php-fpm.conf
找到151行,启用php-cgi进程

图片.png

这里还要改一下php.ini里面的参数

vim /usr/local/php/etc/php.ini

图片.png

图片.png

改完这些我们在重启php和nginx

/etc/init.d/php-fpm restart

/usr/local/nginx/sbin/nginx -s reload

 

再次访问http://192.168.0.103/,居然还是不行,防火墙没有允许

我们先把iptables停掉

图片.png

再次访问http://192.168.0.103/

图片.png

然后按照提示一步步安装

图片.png

图片.png


给一下权限

chmod 777 -R /data/

继续向后

图片.png

这里又报错了

图片.png

php没有和mysql连上

解决方法

vim /usr/local/php/etc/php.ini

图片.png

找到1194行  mysqli.default_socket = /tmp/mysqld.sock

这里指一下mysqld.sock文件位子

重启php 继续向后

/etc/init.d/php-fpm restart

图片.png

里面是一些配置要求

图片.png

没有问题,继续下一步,这里的*号里面的一定要填

图片.png

安装完了这里我们在totaralms里面启用Ldap认证

图片.png

图片.png

图片.png

图片.png

改完这些点下面的保存更改就好了

然后测试之前我们创建的ldap帐号是否能登录

图片.png

这里之前我们创建了3个帐号,一个个试试

图片.png

图片.png

这里很明显已经登录进来了
Ldap的帐号创建如果都用命令导,这样很复杂,这里我们装个管理工具phpldapadmin

tar zxvf phpldapadmin-1.2.3.tar.gz
mv phpldapadmin-1.2.3 /data/wwwroot/
cd /data/wwwroot/
mv phpldapadmin-1.2.3/ phpldapadmin
配置phpldapadmin
cd /data/wwwroot/phpldapadmin/config/
cp config.php.example config.php
vim config.php
如图改

图片.png

图片.png

保存配置
cd /data/wwwroot/
mv phpldapadmin/  /data/wwwroot/totaralms/
修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
添加两行rewrite

图片.png

重启nginx

/usr/local/nginx/sbin/nginx -s reload

然后访问http://192.168.0.103/phpldapadmin

图片.png

这个界面更方便管理帐号信息

















免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

LDAP认证服务器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

LDAP认证服务器

1.要准备的环境与软件(这里测试环境是Centos6.0-64位系统)alfresco-community-4.2.c-installer-linux-x64.bin (注: alfresco是一个免费开源系统,可以自己去下载)apache
2023-01-30

ldap认证服务器搭建的方法是什么

LDAP(Lightweight Directory Access Protocol)认证服务器的搭建方法如下:1. 安装LDAP服务器软件,如OpenLDAP或Microsoft Active Directory。2. 配置LDAP服务器
2023-06-14

堡垒机LDAP认证设置

堡垒机(Bastion Host)是一种用来保护网络和服务器免受未经授权访问的攻击的安全设备。它可以控制对服务器的访问和操作,并记录所有的操作细节,以便进行审计和追踪。LDAP(Lightweight Directory Access Pr
2023-09-21

Python使用LDAP做用户认证

LDAP(Light Directory Access Portocol)是轻量目录访问协议,基于X.500标准,支持TCP/IP。LDAP目录以树状的层次结构来存储数据。每个目录记录都有标识名(Distinguished Name,简称D
2023-01-30

配置Linux使用LDAP用户认证的方法

我这里使用的是CentOS完成的LDAP用户管理,可能与网上的大部分教程不同,不过写出来了,那么是肯定能用的了,不过会有部分文件,忘指教。 这里使用的 OPENLdap 配合 CentOS7 完成的用户管理,需要配置 nssswitch 、
2022-06-04

阿里云服务器认证

阿里云的技术基础设施非常先进,其云计算平台拥有强大的计算能力、数据处理能力和安全性能。其主要技术特点如下:高效性:阿里云的云计算平台具有高效的计算能力,能够处理大规模数据的计算和存储,并提供高性能的网络带宽和数据传输能力,使用户可以更快地实现业务扩展和优化。弹性:阿里云的云计算平台具有弹性的能力,可以根据用户的需求进行
阿里云服务器认证
2023-10-28

云服务器企业认证

云服务器企业认证是一个非营利组织,旨在促进云服务器企业之间的合作和知识共享,以确保云服务器企业在市场上的良好声誉和信誉。以下是可能涉及的认证:ISO20000国际标准化组织:ISO20000国际标准化组织是一个旨在促进信息技术服务和管理标准和最佳实践的组织。该组织制定了ISO20000-1标准,用于衡量云服务器企业的服务质量和透明度。IEC60067-3:IEC60067-3全球互操作性标
2023-10-26

腾讯云服务器认证

腾讯云服务器认证(TicketManagementCertification)是指在腾讯云服务器上进行授权和认证的过程。当您在腾讯云服务器上进行操作时,腾讯云服务器会验证您的身份和使用授权,然后向您发送认证请求,以授权您使用腾讯云服务器。腾讯云服务器认证过程通常包括以下步骤:用户输入验证码。验证码是一种安全验证方式,用于确认用户身份的真实性。用户必须输入验证码才能获得认证资格和授权使用腾讯
2023-10-26

代理服务器如何认证

这篇文章主要为大家展示了“代理服务器如何认证”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“代理服务器如何认证”这篇文章吧。1、对受限内容的请求到达一台代理服务器时,代理服务器可以返回一个407
2023-06-20

Linux服务器的代理认证

这篇文章主要讲解了“Linux服务器的代理认证”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux服务器的代理认证”吧!代理认证proxy代理服务被广泛的使用,为了安全起见,可以在服务器
2023-06-05

云服务器cvm产品认证

云服务器CVM产品认证指的是云服务器CVM产品在进行认证时需要符合哪些要求、遵守哪些规定和规范。通常来说,云服务器CVM产品必须具有以下条件和特点:CVM版本:必须具有CVM版本,该版本是CVM软件的最新版本,具有最新版本的特性和功能。认证范围:必须提供相应的CVM版本和认证范围,以便云服务器CVM产品的制造商或供应商确认其符合相应的标准和认证要求。测试和认证:必须经过相应的测试和认证,
2023-10-26

亚马逊二次验证认证服务器

亚马逊VerifiedbyAmazon(V2V)认证服务器是一种身份验证机制,它通过在用户访问网站或应用程序时验证用户的身份,来防止恶意用户访问或欺诈行为。当用户登录亚马逊网站或应用程序时,VerifiedbyAmazon(V2V)认证服务器会向用户提供一个临时凭证,该凭证可以使用户访问更具安全性,并防止其他人未经授权访问您的账户。VerifiedbyAmazon(V2V)认证服务器通常采用先进的加密技术和多因素身份验证机制,以确保用户的账户信息和...
2023-10-27

腾讯云服务器企业认证

腾讯云服务器企业认证是由腾讯云官方颁发的证书,用于证明您是腾讯云服务器授权的用户。该认证旨在证明您拥有合法使用腾讯云服务器的资格。具体来说,您需要符合以下条件:企业注册号(即腾讯云服务器的唯一标识符)企业类型为企业(即有独立法人资格)企业名称为“腾讯云服务器”企业注册地址位于中国(即服务器托管在中国境内)企业法人代表和联系人姓名为您本人的姓名(即您本人签字并提供的身份证明文件)企
2023-10-26

云服务器企业认证技术

云服务器企业认证技术通常涉及到以下几个方面:证书认证:认证是云服务器企业认证的一个方面,需要企业提供一系列证书,其中通常包括企业相关信息和认证机构的名称和联系方式。在证书认证中,企业需要确保其证书是真实、可信的,以证明其为合法持有的证书。证书管理:企业在认证后还需要管理证书,以确保证书的安全和有效性。证书管理涉及到证书存储、证书更新、证书查询等多个方面。企业需要确保将证书存储在合适的位置,
2023-10-26

亚马逊服务器认证流程

访问控制列表(ACLs):ACLs是AmazonWebServices(AWS)提供的一种基于IP地址和端口的访问控制列表,可用于限制特定应用程序或用户对资源的访问。验证凭据:验证凭据是用户在进行身份验证时所提交的信息,如电子邮件、短信、消息等。验证凭据必须与AWS中的凭据匹配,才能成功完成身份验证。输入验证凭据:在进行身份验证后,AWS将要求用户输入验证凭据。输入验证凭据后,AWS将向用户返回一个验证结果。验证成功:...
2023-10-27

阿里云 ECS 服务器认证试

阿里云ECS(ElasticComputeService)是阿里云提供的一种弹性计算服务,可以帮助用户快速搭建和管理云服务器。在使用ECS服务器时,为了保障服务器的安全性和稳定性,阿里云提供了ECS服务器认证试。什么是ECS服务器认证试?ECS服务器认证试是阿里云为用户提供的一项安全服务,通过认证试可以验证服务器的安全
阿里云 ECS 服务器认证试
2024-01-31

云服务器企业认证资料

云服务器企业认证资料可能因具体企业而有所不同,以下是一些常见的云服务器企业认证资料信息:公司介绍:介绍公司的概况、历史和规模等基本信息。证书:提供该公司颁发的证书或认证标志,以证明该公司的权威性。联系信息:包括公司的联系方式和地址,以便在需要时与用户联系。技术能力:列出该公司的技术团队成员和相关技术能力,例如技术研发、软件开发、数据库管理等。安全认证:列出该公司的安全认证情况,例如防
2023-10-26

编程热搜

目录