记一次Centos7下编译安装配置Zabbix4.2

1.安装依赖包

sudo yum -y install libevent-devel net-snmp-devel

2.添加 zabbix用户

useradd zabbix

3.解压Zabbix

cd /usr/local/src/ sudo tar zxf zabbix-4.2.6.tar.gz

4.预编译zabbix 4.2.6

cd zabbix-4.2.6

sudo ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2

4.5编译安装zabbix 4.2.6

sudo make && make install

删除"/usr/local/zabbix/sbin/zabbix_agentd"时提示权限不足。

(此处我当时为什么要删除zabbix_agentd?忘记了——2019-10-10)

(想起来了!安装的时候非root账号会因为权限不足报错——2019-10-10)

使用:

sudo su root

切换到root账号后继续,安装完成后退出root账号。


5.进入mariadb数据库创建zabbix数据库并授权

mysql -uroot -h192.168.3.205 -p

报错:

ERROR 1129 (HY000): Host '192.168.3.203' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

找到原因,同一个ip在短时间内产生太多中断的数据库连接超过了数据库"max_connection_errors"的最大值,从而而导致的阻塞。

进入数据库的终端,使用:

mysqladmin -u root -p flush-hosts

清除缓存继续。

create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@'192.168.3.*' identified by 'zabbixpwd'; flush privileges; set names utf8;

6.初始化zabbix数据库(导入zabbix安装目录中mysql中的sql语句)

use zabbix; 
source /usr/local/src/zabbix-4.2.6/database/mysql/schema.sql; 
source /usr/local/src/zabbix-4.2.6/database/mysql/data.sql; 
source /usr/local/src/zabbix-4.2.6/database/mysql/images.sql;

7.修改zabbix的配置文件zabbix_server.conf

sudo vim /usr/local/zabbix/etc/zabbix_server.conf 
DBHost=192.168.3.205 DBName=zabbix DBUser=zabbix 
DBPassword=admin DBPort=3306 Timeout=30 LogSlowQueries=3000 

7.5对zabbix目录所属主和组更换为zabbix

sudo chown -R zabbix:zabbix /usr/local/zabbix/

8.编写zabbix_server自启动文件

sudo vim /usr/lib/systemd/system/zabbix-server.service
[Unit] Description=Zabbix After=network.target [Service] 
Environment="CONFFILE=/usr/local/zabbix
/etc/zabbix_server.conf" Type=forking Restart=on-failure 
PIDFile=/tmp/zabbix_server.pid KillMode=control-group 
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE 
ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s 
[Install] WantedBy=multi-user.target

9.使用systemctl命令启动zabbix-server,设置开启自启动

systemctl daemon-reload systemctl start zabbix-server systemctl enable zabbix-server

10.为Apache添加支持对PHP的解析

sudo /etc/httpd/conf/httpd.conf

里面添加以下:

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps

重启HTTPD

service httpd restart

11.进入zabbix的页面

http://192.168.3.203/zabbix/setup.php

提示缺少一堆支持

Time zone for PHP is not set (configuration parameter "date.timezone"). PHP bcmath extension missing (PHP configuration parameter --enable-bcmath). PHP mbstring extension missing (PHP configuration parameter --enable-mbstring). PHP gd extension missing (PHP configuration parameter --with-gd). PHP gd PNG image support missing. PHP gd JPEG image support missing. PHP gd FreeType support missing. PHP xmlwriter extension missing. PHP xmlreader extension missing.

11.1 未设置PHP的时区

根据提示是配置文件的"date.time zone"设置问题。

修改配置文件的时区设置:

sudo vim /etc/php.ini

"date.timezone"的分号去掉,时区设置为"Asia/Shanghai"

[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Shanghai

11.2 Google后发现是缺少依赖包

使用

sudo yum install -y php-bcmath php-mbstring php-gd php-xmlwriter

安装依赖包后,重启HTTPD


11.3

基本上没有问题,但提示"PHP ldap Warning",应该是ldap模块没有安装。


12.安装配置ldap模块

使用

sudo yum install -y php-ldap

安装php模块。

修改配置文件

sudo vim /etc/php.ini

找到"Dynamic Extensions"中添加一项"extension=ldap.so"

;;;;;;;;;;;;;;;;;;;;;; 
; Dynamic Extensions ; 
;;;;;;;;;;;;;;;;;;;;;; 
;If you wish to have an extension loaded automatically, use ;the following 
syntax: extension=ldap.so
extension=modulename.extension

13.连接数据库


14.安装完成


P.S.
默认账户密码是Admin  zabbix,试了几十次都登陆不上去,最后发现Admin的A是大写。

你可能感兴趣的:(centos,apache,linux)