上官网https://www.zabbix.com/下载zabbix 3.4.11
在/usr/src目录解压,并修改名称
tar -xf zabbix-3.4.11.tar.gz
mv zabbix-3.4.11 zabbix
进入/usr/src/zabbix目录configure
/usr/src/zabbix/configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build='x86_64-none-linux-gnu' --host='x86_64-none-linux-gnu' \
--disable-static --enable-shared --enable-server \
--enable-proxy --enable-agent --enable-java \
--without-ibm-db2 --with-mysql='/opt/mariadb/bin/mysql_config' --without-oracle \
--without-postgresql --without-sqlite3 --without-jabber \
--with-libxml2='/usr/bin/xml2-config' --without-unixodbc --without-net-snmp \
--without-openipmi --without-mbedtls --with-gnutls='/usr' \
--without-openssl --without-ldap --with-libcurl='/usr/bin/curl-config' \
--without-iconv --with-libevent=/usr --with-libpcre=/usr \
2> make.err
这里使用mariadb做数据库,--with-mysql='/opt/mariadb/bin/mysql_config' 需要改成实际mysql_config命令地址
使用gnutls替代openssl
为了编译Java gateway,系统必须有java、javac、jar命令
configure成功后,make && make install
make 2> make.err
make install 2> make.err
复制php和mysql
mkdir -p /tmp/make/binary/usr/share/zabbix/php
cp -Ta /usr/src/zabbix/frontends/php /usr/share/zabbix/php/zabbix
cp -Ta /usr/src/zabbix/database/mysql /usr/share/zabbix/mysql
用有权限的用户登陆mariadb
create database zabbix default character set utf8mb4;
create user 'zabbix'@'%' identified by "zabbix";
grant all privileges on zabbix.* to 'zabbix'@'%';
grant create view on zabbix.* to 'zabbix'@'%';
用zabbix用户登陆mariadb
/opt/mariadb/bin/mysql --compress --default-character-set=utf8mb4 \
--protocol=tcp --host=127.0.0.1 --port=3306 \
--user=zabbix --password \
zabbix
依次导入:
source /usr/share/zabbix/mysql/schema.sql
source /usr/share/zabbix/mysql/images.sql
source /usr/share/zabbix/mysql/data.sql
commit;
quit;
useradd --no-create-home --gid users --shell /usr/bin/bash --home-dir /home/zabbix zabbix
usermod -p '*' zabbix
mkdir -p /home/zabbix
chown -R zabbix:users /home/zabbix
chown -R zabbix:users /usr/share/zabbix
切换到zabbix用户
su – zabbix
修改 /usr/share/zabbix/zabbix_server.conf 文件
LogFile=/usr/share/zabbix/zabbix_server.log
PidFile=/usr/share/zabbix/zabbix_server.pid
SocketDir=/usr/share/zabbix
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
ListenIP=127.0.0.1
ListenPort=10051
启动 zabbix_server
/usr/sbin/zabbix_server -c /usr/share/zabbix/zabbix_server.conf
修改 /usr/share/zabbix/zabbix_agentd.conf 文件
PidFile=/usr/share/zabbix/zabbix_agentd.pid
LogFile=/usr/share/zabbix/zabbix_agentd.log
StartAgents=1
Server=127.0.0.1
Hostname=127.0.0.1
ListenIP=127.0.0.1
ListenPort=10050
启动 zabbix_agentd
/usr/sbin/zabbix_agentd -c /usr/share/zabbix/zabbix_agentd.conf
mkdir -p /usr/share/zabbix/php/session
修改 /usr/share/zabbix/php/php.ini 文件
[PHP]
post_max_size=16M
max_execution_time=300
[Date]
date.timezone=Asia/Shanghai
[Session]
session.save_handler=files
session.save_path=/usr/share/zabbix/php/session
修改 /usr/share/zabbix/php/php-fpm.conf 文件
[global]
pid = /usr/share/zabbix/php/php-fpm.pid
error_log = /usr/share/zabbix/php/php-fpm.log
[www]
prefix =/opt/php
pm = dynamic
pm.max_children = 4
pm.min_spare_servers = 1
pm.max_spare_servers = 4
pm.start_servers = 1
listen=/usr/share/zabbix/php/php-fpm.socket
启动 php-fpm
/opt/php/sbin/php-fpm -c /usr/share/zabbix/php/php.ini -y /usr/share/zabbix/php/php-fpm.conf
location /zabbix/ {
root /usr/share/zabbix/php;
}
location = /zabbix/ {
return 302 /zabbix/index.php;
}
location ~ ^/zabbix/.+\.php$ {
root /usr/share/zabbix/php;
fastcgi_pass unix:/usr/share/zabbix/php/php-fpm.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/zabbix/php$fastcgi_script_name;
include fastcgi_params;
}