zabbix编译解决ldap问题

// 今天安装zabbix发现ldap出错

在说解决措施之前让我们先来了解一下什么是ldap?以及ldap是干什么的,以及ldap在zabbix中的作用

ldap简介

  • ldap指的是轻型目录访问协议,是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。
  • 目录服务在开发内部网和互联网程序共享用户、系统、网络、服务和应用的过程中占据了重要地位
  • ldap的一个常用用途是单点登录,用户可以在多个服务器中使用同一个密码,通常用于公司内部网站的登录中
  • ldap目录与普通数据库的主要不同之处在于数据的组织方式,它是一种层次的、树形结构。所有条目的属性的定义是对象类object class的组成部分,并组成在一起构成schema;那些在组织内代表个人的schema被命名为white pages schema。数据库内的每个条目都与若干个对象联系,而这些对象类决定了一个属性是否为可选和它保存哪些类型的信息。属性的名字一般是一个易于记忆的字符串。
  • ldap目录条目可描述一个层次结构,这个结构可以反映一个政治、地理或者组织范畴。在原始的X.500模型中,反应国家的条目位于树的顶端;接着是州或者民族组织。典型的LDAP配置使用DNS名称作为树形结构的顶端,下列是代表人、文档、组织单元、打印机和其他任何事务的条目。
  • LDAP影响了后续的internet协议,包括新版本的X.500、DSML、SPML和Service Location Protocol。

为什么要zabbix要使用ldap

我们一起来思考一个问题,随着一个公司越做越大,服务器的数量越来越多,这就需要更多的人来管理,人多了又会导致一个问题就是管理zabbix人远的账号和密码会很多怎么进行管理呢?ldap就可以实现对其的集中管理zabbix系统配置实现通过域认证登录。zabbix配置ldap认证对接AD域,可以让用户通过域账号登录,这样既减少zabbix管理人员的用户管理工作,又使得用户不需要记忆那些复杂的密码。

ldap的作用

ldap的作用: 通过ldap验证,将zabbix和windows域控联系在一起,只有域控中的用户才能登录zabbix

解决措施

// php-7.2.24的解压的包的位置
[root@192 ldap]# pwd
/usr/local/php-7.4.24/ext/ldap  //进入此目录下

// 进行预编译
[root@192 ldap]# /usr/local/php7/bin/phpize  //php7编译安装的位置

// 若出现下面的问题,意思就是说找不到autoconf。我们直接安装
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

// 解决办法
[root@192 ldap]# yum -y install autoconf

// 此时我们再次执行
[root@192 ldap]# /usr/local/php7/bin/phpize //出现如下内容,表示没有问题
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902

// 进行编译安装
[root@192 ldap]# pwd
/usr/local/php-7.4.24/ext/ldap

[root@192 ldap]# ./configure --with-php-config=/usr/local/php7/bin/php-config --with-ldap

// 编译时若出现如下错误
configure: error: Cannot find ldap libraries in /usr/lib.  //找不到 ldap库
// 解决办法
[root@192 ldap]# vim /etc/php.ini  //修改php.ini文件
888 ; If you wish to have an extension loaded automatically, use the following
 889 ; syntax:
 890        extension=ldap.so
 891 ;   extension=modulename
 
// 若不到文件在哪的朋友可以使用如下命令
[root@192 ldap]# find / -name php.ini

[root@192 ldap]# find / -name ldap.so
/usr/lib64/ldb/modules/ldb/ldap.so

[root@192 ldap]# cp -rp /usr/lib64/libldap* /usr/lib/

// 除了复制也可以做软连接
[root@192 ~]# ln -s /usr/lib64/libldap* /usr/lib/ 

// 进行安装
[root@192 ldap]# make && make install

// 若make install执行完之后出现如下内容

- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

// 解决措施如下

[root@192 ldap]# tail -1 /etc/ld.so.conf  //在此文件的最后一行如下内容
/usr/local/lib

[root@192 ldap]# ldconfig  //使用命令重新加载配置文件
[root@192 ldap]# systemctl restart php-fpm.service  //别忘记重启php

友情提示可能出现上面以外的其他错误

// 若在解决错误的过程出现下面这个问题

error:configure: error: Cannot find ldap.h

// 解决措施

[root@192 ~]# yum -y install openldap openldap-devel

// 此时我们可以看到ldap处于ok状态了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你使用编译安装的 Apache HTTP Server,需要按照以下步骤进行 Zabbix Web 配置: 1. 安装 PHP。 ``` yum install php php-mysql php-gd php-xml php-bcmath php-mbstring php-ldap ``` 2. 配置 PHP。 打开 PHP 配置文件 `/etc/php.ini`,并进行以下修改: ``` max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M date.timezone = Asia/Shanghai ``` 3. 配置 Apache。 打开 Apache 配置文件 `/usr/local/apache2/conf/httpd.conf`,并添加以下内容: ``` LoadModule php7_module modules/libphp7.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> ``` 4. 重启 Apache。 ``` /usr/local/apache2/bin/apachectl restart ``` 5. 下载 Zabbix Web。 ``` wget https://repo.zabbix.com/zabbix/5.4/apache/conf/zabbix.conf.php.example mv zabbix.conf.php.example /usr/local/apache2/htdocs/conf/zabbix.conf.php ``` 6. 修改 Zabbix Web 配置。 打开 Zabbix Web 配置文件 `/usr/local/apache2/htdocs/conf/zabbix.conf.php`,并进行以下修改: ``` $ZBX_SERVER = 'localhost'; $ZBX_SERVER_PORT = '10051'; $ZBX_SERVER_NAME = 'Zabbix Server'; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; $IMAGE_FORMAT_ALLOWED = array(IMAGE_FORMAT_PNG, IMAGE_FORMAT_JPG, IMAGE_FORMAT_GIF); $GRAPH_ITEM_TYPE = array(GRAPH_ITEM_TYPE_SIMPLE); $ZBX_MESSAGES_ALL = true; $ZBX_MESSAGES_USERS = false; $ZBX_MESSAGES_ACK = false; $ZBX_MESSAGES_DISCOVERY = false; $ZBX_MESSAGES_API = false; $ZBX_MESSAGES_LOG = false; $ZBX_SQLBOX_EVENTS = false; $ZBX_SERVER_ENC_KEY = ''; $ZBX_SERVER_ENCRYPTION_TYPE = 0; $ZBX_SERVER_DECRYPTION_KEY = ''; ``` 7. 修改 Apache 配置。 打开 Apache 配置文件 `/usr/local/apache2/conf/httpd.conf`,并添加以下内容: ``` Alias /zabbix /usr/local/apache2/htdocs <Directory "/usr/local/apache2/htdocs"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ``` 8. 重启 Apache。 ``` /usr/local/apache2/bin/apachectl restart ``` 希望这些步骤对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值