返回顶部
首页 > 资讯 > 服务器 >LDAP认证服务器
  • 486
分享到

LDAP认证服务器

服务器LDAP 2023-01-30 21:01:45 486人浏览 薄情痞子
摘要

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

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/src/
cd /usr/src/db-4.5.20/build_unix/
../dist/configure
make
make install

安装ldap
tar zxvf openldap-stable-20100219.tgz -C /usr/src/
cd /usr/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/src/
cd /usr/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/src/
cd /usr/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/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/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/src/
cd /usr/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/src/
cd /usr/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

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

















--结束END--

本文标题: LDAP认证服务器

本文链接: https://lsjlt.com/news/179079.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • LDAP认证服务器
    1.要准备的环境与软件(这里测试环境是Centos6.0-64位系统)alfresco-community-4.2.c-installer-linux-x64.bin (注: alfresco是一个免费开源系统,可以自己去下载)a...
    99+
    2023-01-30
    服务器 LDAP
  • LDAP架构部署认证
    LDAP架构部署LDAPLDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以...
    99+
    2024-04-02
  • ldap认证服务器搭建的方法是什么
    LDAP(Lightweight Directory Access Protocol)认证服务器的搭建方法如下:1. 安装LDAP服...
    99+
    2023-06-14
    ldap认证
  • 堡垒机LDAP认证设置
    堡垒机(Bastion Host)是一种用来保护网络和服务器免受未经授权访问的攻击的安全设备。它可以控制对服务器的访问和操作,并记录...
    99+
    2023-09-21
    LDAP
  • 什么是Zabbix的LDAP认证
    Zabbix的LDAP认证是指利用LDAP(轻量级目录访问协议)来实现对Zabbix系统的用户认证和授权管理。通过LDAP认证,用户...
    99+
    2024-04-02
  • Python使用LDAP做用户认证
    LDAP(Light Directory Access Portocol)是轻量目录访问协议,基于X.500标准,支持TCP/IP。 LDAP目录以树状的层次结构来存储数据。每个目录记录都有标识名(Distinguished Name,简...
    99+
    2023-01-30
    用户 Python LDAP
  • 配置Linux使用LDAP用户认证的方法
    我这里使用的是CentOS完成的LDAP用户管理,可能与网上的大部分教程不同,不过写出来了,那么是肯定能用的了,不过会有部分文件,忘指教。 这里使用的 OPENLdap 配合 CentOS7 完成的用户管理,需要配置 n...
    99+
    2022-06-04
    配置Linux LDAP用户认证
  • 云服务器企业认证
    云服务器企业认证是一个非营利组织,旨在促进云服务器企业之间的合作和知识共享,以确保云服务器企业在市场上的良好声誉和信誉。以下是可能涉及的认证: ISO 20000国际标准化组织:ISO 20000国际标准化组织是一个旨在促进信息技术服务...
    99+
    2023-10-26
    服务器 企业
  • 腾讯云服务器认证
    腾讯云服务器认证(Ticket Management Certification)是指在腾讯云服务器上进行授权和认证的过程。当您在腾讯云服务器上进行操作时,腾讯云服务器会验证您的身份和使用授权,然后向您发送认证请求,以授权您使用腾讯云服务器...
    99+
    2023-10-26
    腾讯 服务器
  • 阿里云服务器认证
    阿里云的技术基础设施非常先进,其云计算平台拥有强大的计算能力、数据处理能力和安全性能。其主要技术特点如下: 高效性:阿里云的云计算平台具有高效的计算能力,能够处理大规模数据的计算和存储,并提供高性能的网络带宽和数据传输能力,使用户可以更...
    99+
    2023-10-28
    阿里 服务器
  • 亚马逊二次验证认证服务器
    亚马逊Verified by Amazon(V2V)认证服务器是一种身份验证机制,它通过在用户访问网站或应用程序时验证用户的身份,来防止恶意用户访问或欺诈行为。当用户登录亚马逊网站或应用程序时,Verified by Amazon(V2V)...
    99+
    2023-10-27
    亚马逊 服务器
  • 代理服务器如何认证
    这篇文章主要为大家展示了“代理服务器如何认证”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“代理服务器如何认证”这篇文章吧。对受限内容的请求到达一台代理服务器时,代理服务器可以返回一个407&nb...
    99+
    2023-06-20
  • Linux服务器的代理认证
    这篇文章主要讲解了“Linux服务器的代理认证”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux服务器的代理认证”吧!代理认证proxy代理服务被广泛的使用,为了安全起见,可以在服务器...
    99+
    2023-06-05
  • 云服务器cvm产品认证
    云服务器CVM产品认证指的是云服务器CVM产品在进行认证时需要符合哪些要求、遵守哪些规定和规范。通常来说,云服务器CVM产品必须具有以下条件和特点: CVM版本:必须具有CVM版本,该版本是CVM软件的最新版本,具有最新版本的特性和功能...
    99+
    2023-10-26
    产品认证 服务器 cvm
  • 什么是LDAP服务器
    LDAP服务器是:LDAP服务器是用来处理查询和更新LDAP目录的服务器,也是一种类型的数据库,但不是关系型数据库,LDAP服务器可以在任何计算机平台上访问LDAP目录,且很容易定制应用程序为它加上LDAP的支持。具体内容如下:LDAP服务...
    99+
    2024-04-02
  • 阿里巴巴云服务器认证
    阿里云服务器认证是一项认证服务,用于验证您的云服务器的可信度和安全性,以确保其可用性、可靠性和性能。您需要提供个人识别信息、证书和认证页面,以便阿里云服务器认证团队验证您的身份和授权。 以下是阿里云服务器认证的步骤和相关信息: 个人信息...
    99+
    2023-10-26
    阿里巴巴 服务器
  • 阿里云服务器企业认证
    阿里云服务器企业认证是针对在阿里云服务器平台上进行服务的企业所进行的认证,通过审核的企业可以在阿里云官网上进行查看,并通过登录后台进行报名审核。 阿里云服务器企业认证包括以下几个方面的内容: 服务资质:企业必须具备阿里云服务器平台的合法...
    99+
    2023-10-26
    阿里 服务器 企业
  • 阿里云服务器学生认证
    阿里云服务器学生认证是针对大学生开放的认证服务,旨在帮助学生提高账号安全性并提升学业成绩。该服务需要先注册阿里云帐号,包括创建个人用户帐号和设置密码等基本信息,并完成实名认证。认证成功后,学生即可使用阿里云的云服务器资源和技术服务,如购买课...
    99+
    2023-10-26
    阿里 服务器 学生
  • 腾讯云服务器企业认证
    腾讯云服务器企业认证是由腾讯云官方颁发的证书,用于证明您是腾讯云服务器授权的用户。该认证旨在证明您拥有合法使用腾讯云服务器的资格。 具体来说,您需要符合以下条件: 企业注册号(即腾讯云服务器的唯一标识符) 企业类型为企业(即有独立法人资...
    99+
    2023-10-26
    腾讯 服务器 企业
  • 云服务器企业认证要求
    云服务器企业认证要求主要涉及到以下几个方面: 服务水平协议(SLA):SLA是指云服务器的服务提供商应该以合理的方式处理并回应客户的问题和需求,包括但不限于提供稳定高效的服务、按时交付服务以及提供合理的价格和支持。 安全管理规范(ISO...
    99+
    2023-10-26
    服务器 企业
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作