源码部署Zabbix7.0LTS(Ubuntu22.04.5 LTS)

安装环境 其他依赖环境要求: MariaDB:10.5.00-11.3.X 需要 InnoDB 引擎。 Nginx:1.20 或 更高

安装环境

其他依赖环境要求:

MariaDB:10.5.00-11.3.X 需要 InnoDB 引擎。

Nginx:1.20 或 更高

PHP:8.0.0 - 8.3.X

Zabbix官方:https://www.zabbix.com/download

PHP安装

1.1 下载php源码包

wget https://www.php.net/distributions/php-8.2.27.tar.gz

1.2 安装

tar zxvf php-8.2.27.tar.gz

sudo apt install -y pkg-config build-essential autoconf bison re2c libxml2-dev libsqlite3-dev libssl-dev libonig-dev libpng-dev zlib1g-dev libzip-dev libcurl4-openssl-dev libpcre3-dev libxml2-dev libxslt1-dev libgoogle-perftools-dev libperl-dev libmysqlclient-dev unixodbc unixodbc-dev snmp libsnmp-dev snmpd openipmi libopenipmi-dev libevent-dev default-jdk libldap2-dev libsasl2-dev

./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8/etc --enable-fpm --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support  --with-zlib  --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem  --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-ftp   --with-openssl --with-mhash --enable-pcntl --enable-sockets   --enable-soap --with-gettext --enable-fileinfo --enable-opcache --with-pear --without-gdbm --enable-gd --enable-exif --with-zip --enable-gd  --with-jpeg  --with-freetype 

make && make  install

# 查看版本
/usr/local/php8/bin/php -v 

1.3 启动 php-fpm

useradd -s /sbin/nologin nginx

cd /usr/local/php8/etc

cp php-fpm.conf.default  php-fpm.conf

vi php-fpm.conf   
去掉# pid = run/php-fpm.pid 前面的注释


cd /usr/local/php8/etc/php-fpm.d

cp www.conf.default  www.conf

vi www.conf
#把user和group改为nginx
user = nginx
group = nginx


# 测试
/usr/local/php8/sbin/php-fpm -t

# 启动
/usr/local/php8/sbin/php-fpm

1.4 编写systemd文件自启动

vim /usr/lib/systemd/system/php-fpm.services
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/usr/local/php8/var/run/php-fpm.pid
ExecStart=/usr/local/php8/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target


systemctl daemon-reload
systemctl enable --now php-fpm.service

MariaDB安装

1.1 更新源

sudo apt-get update

1.2 安装mariadb

sudo apt-get install mariadb-server

1.3 启动数据库和在数据库创建用户以及导入zabbix库

systemctl enbale --now mariadb.service
systemctl status mariadb.service


# 安全初始化
mysql_secure_installation


mysql -uroot -p'Aa!6681124' -e "CREATE DATABASE IF NOT EXISTS zabbix; SHOW DATABASES;"
mysql -uroot -p'Aa!6681124' -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'abc6681124';"
mysql -uroot -p'Aa!6681124' -e "GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';"

cd zabbix-7.0.10/database/mysql

#一定要按一下顺序导入,有依赖关系 
mysql -uzabbix -p zabbix < schema.sql
mysql -uzabbix -p zabbix < images.sql
mysql -uzabbix -p zabbix < data.sql

Zabbix-server安装

1.1 下载zabbix-server源码包

wget https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.10.tar.gz

1.2 创建相关用户

addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix  --no-create-home zabbix

1.3 编译安装 zabbix-server

tar xf zabbix-7.0.10.tar.gz
cd zabbix-7.0.10/

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-openipmi --with-openssl --with-ssh2 --with-iconv --with-libpcre --with-iconv-include --with-iconv-lib --with-libevent --with-libevent-include --with-zlib --with-zlib-include --with-zlib-lib --with-libpthread --with-libpthread-include --with-libpthread-lib --with-libevent-lib --with-ldap

make install

1.4 启动 zabbix-server

cat /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/var/log/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=abc6681124
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1


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


cat /usr/lib/systemd/system/zabbix.service
[Unit]
Description=zabbix.service
After=network.target
[Service]
User=zabbix
Type=forking
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
ExecReload=/bin/kill -HUP $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl enbale --now zabbix.service

Nginx安装

1.1 下载nginx源码包

wget https://nginx.org/download/nginx-1.26.3.tar.gz

1.2 编译安装和配置nginx

tar xf nginx-1.26.3.tar.gz
cd nginx-1.26.3

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-compat --with-file-aio --with-google_perftools_module --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

make && make install 


mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak #把原配置备份


vim /usr/local/nginx/conf/nginx.conf
worker_processes  2;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    include       /usr/local/nginx/conf/conf.d/zabbix.conf; #配置nignx子配置文件路径 
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
}


cat /usr/local/nginx/conf/conf.d/zabbix.conf
server {
    listen 880;
    
    root /usr/local/nginx/zabbix;
    
    location / {
        index index.php index.html index.htm;
    }

    location ~* \.php$ {
        fastcgi_index index.php;
        fastcgi_pass 127.0.0.1:9000;
        
        include fastcgi_params;
        
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    }
}

1.3 拷贝zabbix前端目录和配置sytemd启动文件


cp -r zabbix-7.0.10/ui /usr/local/nginx/zabbix
chown -R nginx:nginx /usr/local/nginx


cat /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
RestartSec=1
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl enable --now nginx

安装界面图示:

浏览器访问http://ServerIP:端口,根据提示安装到登录界面

输入zabbix数据库密密码

自定义一个名称,时区选择上海

默认账号:Admin,默认密码:zabbix

至此,zabbix安装完毕

Comment