2020年4月

从源码包安装zabbix
1,创建用户
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
2,下载解压安装包
目前(2020.04.04)最新版是3.0.30
吐槽一句,也不知道这版本怎么分的,2018年的最新版是3.4.15,再往后,反而是3.0.30。。

wget -c https://cdn.zabbix.com/stable/3.0.30/zabbix-3.0.30.tar.gz
tar zxf zabbix-3.0.30.tar.gz
cd zabbix-3.0.30/

3,安装数据库
只有zabbix server端需要数据库。可选MYSQL,PostgreSQL,SQLite

因为我服务器本来就装了nginx和mysql了,这里我就省略了。
这也是我为什么没用apt或者yum安装的原因。

4,配置源码
配置源码时,需要指定一个数据库类型,这里我采用sqlite安装server。本来就是测试用。

./configure --enable-server --with-sqlite3 --with-net-snmp
此处可能出错:
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
说明没有安装snmp,执行下面命令即可
apt install libsnmp-dev
yum install net-snmp-devel

4,安装
make
make install
如果没问题的话,会在/usr/local/sbin/生成对应的二进制文件。
5,更改配置文件。
/usr/local/etc/zabbix_server.conf

我就改了下面这几行,生产环境下可能需要改的更多一些吧:
ListenPort=10051
PidFile=/tmp/zabbix_server.pid
DBName=/tmp/zabbix.db
ListenIP=0.0.0.0

6,导入数据库
先安装个sqlite3
apt install sqlite3
依次导入数据库:
sqlite3 /tmp/zabbix.db ".read /root/zabbix-3.0.30/database/sqlite3/schema.sql"
sqlite3 /tmp/zabbix.db ".read /root/zabbix-3.0.30/database/sqlite3/data.sql"
sqlite3 /tmp/zabbix.db ".read /root/zabbix-3.0.30/database/sqlite3/images.sql"

7,执行zabbix——server
/usr/local/sbin/zabbix_server
查看下端口:
netstat -anop | grep 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 3033/zabbix_server off (0.00/0/0)
OK,正常。
再看下服务:
service --status-all
多了一个zabbix-server。
有兴趣的可以设置自动启动,因为我是测试用的。就不弄了。

(如果是安装agent的话,就照猫画虎,config那里改一下就行了。./configure --enable-agent)

8,装PHP的web管理后台
mkdir -p /data/wwwroot/zabbix/
cp -r /root/zabbix-3.0.30/frontends/php/ /data/wwwroot/zabbix/
chown -R www:www /data/wwwroot/zabbix/
还要改一下PHP的一个参数max_execution_time,默认是60,zabbix需要是300,不然安装进行不下去。
vim /usr/local/php/etc/php.ini
然后重启下php,
service php-fpm restart
然后打开WEB就可以安装了。一步步的。

最后如果是在云上(AWS啥的)的主机,一定要检查安全组有没有放开10051端口!!!