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是大写。