0


Linux系统RHEL7源码编译安装Zabbix6

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

前言

最近客户项目要求,本文基于Linux系统RHEL7源码编译安装Zabbix6,详细的部署分享给大家

📢 1.环境准备

1.源码包下载
下载地址:https://cdn.zabbix.com/zabbix/sources/stable/6.2/zabbix-6.2.2.tar.gz

2.关闭防火墙和 selinux 并重启
如果selinux没有关闭执行:
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config[root@localhost ~]# systemctl disable --now firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@localhost ~]# systemctl status firewalld3.hostname设置
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4(Maipo)[root@localhost ~]# hostnamectl set-hostname jeames4.HOST解析
[root@jeames ~]# vi /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
## 添加以下内容192.168.1.30 jeames

📢 2 配置本地yum

本次我们运用挂载本地光盘镜像的方法
1.创建挂载目录
[root@jeames ~]# df -TH
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        19G  4.0G   15G  22% /
devtmpfs              devtmpfs  2.0G     02.0G   0% /dev
tmpfs                 tmpfs     2.0G     02.0G   0% /dev/shm
tmpfs                 tmpfs     2.0G  9.6M  2.0G   1% /run
tmpfs                 tmpfs     2.0G     02.0G   0% /sys/fs/cgroup
/dev/sda1             xfs       1.1G  187M  877M  18% /boot
tmpfs                 tmpfs     396M   25k  396M   1% /run/user/0
tmpfs                 tmpfs     396M  8.2k  396M   1% /run/user/42
/dev/sr0              iso9660   4.1G  4.1G     0100% /run/media/root/RHEL-7.4 Server.x86_64

[root@jeames ~]# mkdir -p /mnt/dvd/2.挂载光盘到目录
[root@rhel76 ~]# mount /dev/sr0 /mnt/dvd
mount: /dev/sr0 is write-protected, mounting read-only

3.将RHEL7的yum替换为Centos的源
## 查询原有rpm包[root@jeames ~]# rpm -qa | grep yum
PackageKit-yum-1.1.5-1.el7.x86_64
yum-3.4.3-154.el7.noarch
yum-rhn-plugin-2.0.1-9.el7.noarch
yum-utils-1.1.31-42.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-langpacks-0.4.2-7.el7.noarch

## 删除原有的yum源[root@jeames ~]# rpm -qa|grep yum|xargs rpm -e --nodeps## CentOS yum源配置[root@jeames /]# cp /etc/yum.repos.d/redhat.repo /etc/yum.repos.d/redhat.repo.bakcat>> /etc/yum.repos.d/CentOS.repo <<"EOF"
[rhel7]
name=jemrepo
baseurl=file:///mnt/dvd/
gpgcheck=0
EOF[root@jeames /]# yum repolist## 安装Centos7 yum所需的所有rpm包[root@jeames ~]# rpm -ivh yum-3.4.3-168.el7.centos.noarch.rpm --nodeps[root@jeames ~]# rpm -ivh yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm --nodeps[root@jeames ~]# rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm[root@jeames /]# rpm -qa | grep yum
yum-3.4.3-168.el7.centos.noarch
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64

📢 3 源码编译Server

1.安装依赖
[root@jeames /]# yum install -y libevent-devel net-snmp-devel[root@jeames /]# yum install libxml2 libxml2-devel -y[root@jeames /]# yum -y install unixODBC unixODBC-devel[root@jeames /]# yum -y install curl-devel[root@jeames ~]# yum install openssl-devel pcre-devel libssh2-devel OpenIPMI-devel  openldap-devel[root@jeames /]# yum -y install gcc gcc-c++[root@jeames /]# gcc -v[root@jeames ~]# yum -y install mysql-devel2.创建用户组等,授权
[root@jeames /]# groupadd --system zabbix[root@jeames /]# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix3.解压源码包
[root@jeames ~]# tar -zxvf zabbix-6.2.2.tar.gz4.编译安装
注意以下都是在zabbix的安装目录下执行
[root@jeames /]# cd zabbix-6.2.2[root@jeames /]# ./configure --enable-server --enable-agent --with-mysql \
--enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc
最后编译
[zabbix@jeames zabbix-6.2.2]# make install

在这里插入图片描述
在这里插入图片描述

📢 4 编译安装PHP

# 官网地址 
https://www.php.net/downloads

# 安装简单依赖
yum remove php* -y
yum install autoconf automake libtool sqlite-devel libjpeg-devel libpng-devel freetype-devel -y

[root@jeames ~]# tar xf php-7.4.9.tar.gz[root@jeames ~]# useradd -s /sbin/nologin -M php[root@jeames ~]# cd php-7.4.9## 记得导入环境变量exportPKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-mhash --with-openssl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib --enable-bcmath  --enable-gd --with-freetype  --enable-mbstring --enable-ftp --enable-sockets   --with-gettext --enable-session --with-curl  --enable-fpm --with-fpm-user=php --with-fpm-group=php  \
--enable-pdo -enable-tokenizer --with-zip --with-jpeg

## 编译,这个时间比较长make -j4 &&makeinstall

在这里插入图片描述
在这里插入图片描述

#配置文件改名cd /usr/local/php7/etc/
cp php-fpm.conf.default php-fpm.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf
#php命令设置软链接ln -s /usr/local/php7/bin/* /usr/local/bin
ln -s /usr/local/php7/sbin/* /usr/local/sbin
#查看php的版本[root@jeames etc]# php -v
PHP 7.4.9 (cli)(built: Sep 17202223:51:00)( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

#杀死当前php进程,重启killall php-fpm
php-fpm
netstat -antp |grep php-fpm
tail -f /usr/local/php7/var/log/php-fpm.log
netstat -tln |grep9000netstat -tln |grep80#安装ldap扩展模块[root@jeames ~]# cd /root/php-7.4.9/ext/ldap[root@jeames ldap]# find / -name phpize
/root/php-7.4.9/scripts/phpize
/usr/local/bin/phpize

#运行phpize[root@jeames ldap]# /usr/local/php7/bin/phpize
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902#复制库文件cp -frp /usr/lib64/libldap* /usr/lib/

#安装至/usr/local/php7/bin/php-config[root@jeames ldap]# ./configure --with-php-config=/usr/local/php7/bin/php-config#编译安装[root@jeames ldap]#  make && make install#修改参数cd /root/php-7.4.9
cp php.ini-production /usr/local/php7/etc/php.ini

vim /usr/local/php7/etc/php.ini

extension_dir ="/usr/local/php7/lib/php/extensions/no-debug-non-zts-20190902/"extension=ldap.so

max_execution_time =300
post_max_size = 16M
max_input_time =300
date.timezone = Asia/Shanghai  

📢 5 创建初始数据库

MySQL数据库用来给 Zabbix Server,提供数据存储,本次采用二进制包安装MySQL8.0

✨ 5.1 安裝MySQL8

1. 卸载MariaDB,避免mariadb和mysql数据库冲突
[root@jeames zabbix-6.2.2]# rpm -qa |grep mariadb
mariadb-devel-5.5.56-2.el7.x86_64
mariadb-libs-5.5.56-2.el7.x86_64

[root@jeames zabbix-6.2.2]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64[root@jeames zabbix-6.2.2]# rpm -e --nodeps mariadb-devel-5.5.56-2.el7.x86_642.用户及目录创建
root 用户操作:
mkdir -p /mysql/data/mysql3306
mkdir -p /mysql/app/
mkdir -p /mysql/conf/
mkdir -p /mysql/data/mysql3306/pid/
mkdir -p /mysql/data/mysql3306/socket/
mkdir -p /mysql/data/mysql3306/log/
mkdir -p /mysql/data/mysql3306/binlog/
mkdir -p /mysql/data/mysql3306/errlog
mkdir -p /mysql/data/mysql3306/relaylog/
mkdir -p /mysql/data/mysql3306/slowlog/
mkdir -p /mysql/data/mysql3306/tmp/

3.用户及组
[root@jeames ~]# groupadd mysql[root@jeames ~]# useradd -g mysql mysql[root@jeames ~]# chown -R mysql:mysql /mysql[root@jeames ~]# chmod 775 -R /mysqluserdel -r mysql   --删除 lamp 用户
groupdel mysql --删除组users

#上传软件包并解压[root@jeames ~]# cp mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz /mysql/app[root@jeames ~]# chown -R mysql:mysql /mysql[root@jeames ~]# chmod 775 -R /mysql4.mysql用户操作
[root@jeames ~]# su - mysql[mysql@jeames ~]$ cd /mysql/app
## 解压软件包并重命名[mysql@jeames app]$ tar xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
[mysql@jeames app]$ mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql8.0.27

##环境变量配置cat>> /home/mysql/.bash_profile <<"EOF"
MYSQL_HOME=/mysql/app/mysql8.0.27
PATH=$PATH:$MYSQL_HOME/bin
EOF[mysql@jeames app]$ source ~/.bash_profile
[mysql@jeames app]$ which mysql
/mysql/app/mysql8.0.27/bin/mysql

## 创建参数文件cat>> /mysql/conf/my3306.cnf <<"EOF"
[mysqld]
server_id = 80273306
default-storage-engine= InnoDB
basedir=/mysql/app/mysql8.0.27
datadir=/mysql/data/mysql3306/data/
socket=/tmp/mysql.sock
log-error=/mysql/data/mysql3306/log/mysqld.log
pid-file=/mysql/data/mysql3306/pid/mysqld.pid
port=3306
default-time_zone='+8:00'
default_authentication_plugin=mysql_native_password # 加此参数可远程登陆
transaction_isolation=READ-COMMITTED
max_connections=1500
back_log=500
wait_timeout=1800
max_user_connections=800
innodb_buffer_pool_size=1024M
innodb_log_file_size=512M
innodb_log_buffer_size=40M
slow_query_log=ON
long_query_time=5
# log settings #
slow_query_log = ON
slow_query_log_file = /mysql/data/mysql3306/slowlog/slow3306.log
log_error = /mysql/data/mysql3306/errlog/err3306.log
log_error_verbosity = 3
log_bin = /mysql/data/mysql3306/binlog/mysql_bin
log_bin_index = /mysql/data/mysql3306/binlog/mysql_binlog.index
general_log_file = /data/mysql/mysql3306/generallog/general.log
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
expire_logs_days = 90
binlog_expire_logs_seconds = 2592000      #30d
long_query_time = 2
min_examined_row_limit = 100
log_throttle_queries_not_using_indexes = 1000
innodb_flush_log_at_trx_commit=1
log_bin_trust_function_creators=1

EOF5.数据库初始化
mysql用户操作:
mysqld --defaults-file=/mysql/conf/my3306.cnf --initialize --user=mysql --basedir=/mysql/app/mysql8.0.27 \
--datadir=/mysql/data/mysql3306/data/

## 启动Mysql[mysql@jeames ~]$ mysqld_safe --defaults-file=/mysql/conf/my3306.cnf --user=mysql &[1]46477[mysql@jeames ~]$ 2022-09-17T11:34:40.938667Z mysqld_safe Logging to '/mysql/data/mysql3306/errlog/err3306.log'.2022-09-17T11:34:40.974295Z mysqld_safe Starting mysqld daemon with databases from /mysql/data/mysql3306/data

✨ 5.2 创建用户配置参数

1.登陆MySQL
第一次登录 MySQL 时,需要到错误日志下找初始化密码
[mysql@jeames ~]$ cat /mysql/data/mysql3306/errlog/err3306.log |grep password
此处通过sock登陆
[mysql@jeames ~]$ mysql -uroot -p  -P 3306 -S /tmp/mysql.sock
mysql> alter user root@'localhost' identified by 'root';
mysql> flush privileges
mysql> status
--------------
mysql  Ver 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL)

Connection id:          8
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.0.27
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:            /mysql/data/mysql3306/socket/mysql.sock
Binary data as:         Hexadecimal
Uptime:                 3 min 56 sec

Threads: 2  Questions: 8  Slow queries: 0  Opens: 399  Flush tables: 3  Open tables: 37  Queries per second avg: 0.0332.新增用戶
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'Jeames@007';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql>set global log_bin_trust_function_creators =1;
mysql> flush privileges;
mysql> quit;

✨ 5.3 导入初始架构和数据

[root@jeames ~]# chmod -R 777 zabbix-6.0.8[root@jeames ~]# chown -R mysql:mysql zabbix-6.0.8[root@jeames mysql]# cp data.sql images.sql schema.sql /home/mysql[root@jeames mysql]# pwd
/root/zabbix-6.0.8/database/mysql

[mysql@jeames ~]$ mysql -uroot -p
mysql> show databases;
mysql> use zabbix;

mysql>source schema.sql
mysql>source images.sql
mysql>source data.sql

mysql> SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES 
    -> WHERE table_schema ='zabbix';
+--------+--------------+
| TABLES | TABLE_SCHEMA |
+--------+--------------+
|173| zabbix       |
+--------+--------------+
1 row inset(0.00 sec)

✨ 5.4 Zabbix server配置数据库

编辑配置文件,默认目录在/usr/local/etc
#这个要输入的密码就是在MySQL中创建zabbix数据配置的密码DBPassword=Jeames@007

快捷的方法用以下命令
[root@jeames ~]# sed -ri.bak '/# DBPassword=/cDBPassword=Jeames@007' /usr/local/etc/zabbix_server.conf[root@jeames ~]# more /usr/local/etc/zabbix_server.conf | grep DBPassword### Option: DBPasswordDBPassword=Jeames@007
#       This option can only be used if DBUser and DBPassword are not specified.

配置文件说明:
DBHost=192.168.1.30      #你安装数据库的机器ipDBName=zabbix            #你安装数据库的zabbix库DBUser=zabbix            #你安装数据库的zabbix用户DBPassword=zabbix        #你安装数据库的zabbix用户密码[root@jeames ~]# vi /usr/local/etc/zabbix_server.conf##以下是socket路径,需要注意SocketDir=/tmp
DBSocket=/tmp/mysql.sock

📢 6 安装Web interface

1.首先要安装服务
yum -y install httpd

配置文件是
/etc/httpd/conf/httpd.conf
/var/www/html

2.设置开机自启动
systemctl daemon-reload
systemctl enable httpd.service
systemctl start httpd.service

## 复制[root@jeames ~]# cd /var/www/html[root@jeames html]# mkdir zabbix[root@jeames ~]# cd zabbix-6.2.2/ui[root@jeames ~]# cp * -r /var/www/html/zabbix[root@jeames ~]# systemctl restart httpd.service#访问授权zabbixchmod -R 755 /var/www/html/zabbix/

浏览器:http://192.168.1.30/zabbix/setup.php

3 重启PHP
killall php-fpm
php-fpm
netstat -antp |grep php-fpm
tail -f /usr/local/php7/var/log/php-fpm.log
netstat -tln |grep9000netstat -tln |grep804.配置Apache解析PHP文件
#配置Apache解析PHPvim /etc/httpd/conf.d/php-fpm.conf
<FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"</FilesMatch>5.UI界面(图形化加载)
[root@jeames php-fpm.d]# chown apache:apache /var/www/html -R[root@jeames php-fpm.d]# service httpd restart

http://192.168.1.30/zabbix/setup.php

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

📢 7 启动Zabbix相关进程

[root@jeames ~]# which zabbix_server
/usr/local/sbin/zabbix_server
[root@jeames ~]# which zabbix_agentd
/usr/local/sbin/zabbix_agentd

1.启动Zabbix server和agent进程
[root@jeames ~]# zabbix_server[root@jeames ~]# ps -ef |grep zabbix
zabbix    486581020:54 ?        00:00:00 zabbix_server
zabbix    486631020:55 ?        00:00:00 zabbix_agentd
zabbix    4866448663020:55 ?        00:00:00 zabbix_agentd: collector [idle 1 sec]
zabbix    4866548663020:55 ?        00:00:00 zabbix_agentd: listener #1 [waiting for connection]
zabbix    4866648663020:55 ?        00:00:00 zabbix_agentd: listener #2 [waiting for connection]
zabbix    4866748663020:55 ?        00:00:00 zabbix_agentd: listener #3 [waiting for connection]
zabbix    4866848663020:55 ?        00:00:00 zabbix_agentd: active checks #1 [idle 1 sec]
root      4868246377020:56 pts/1    00:00:00 grep --color=auto zabbix

[root@jeames ~]# zabbix_agentd[root@jeames ~]# ps -ef | grep zabbix_agentd
zabbix    486631020:55 ?        00:00:00 zabbix_agentd
zabbix    4866448663020:55 ?        00:00:00 zabbix_agentd: collector [idle 1 sec]
zabbix    4866548663020:55 ?        00:00:00 zabbix_agentd: listener #1 [waiting for connection]
zabbix    4866648663020:55 ?        00:00:00 zabbix_agentd: listener #2 [waiting for connection]
zabbix    4866748663020:55 ?        00:00:00 zabbix_agentd: listener #3 [waiting for connection]
zabbix    4866848663020:55 ?        00:00:00 zabbix_agentd: active checks #1 [idle 1 sec]
root      4869246377020:57 pts/1    00:00:00 grep --color=auto zabbix_agentd

[root@jeames ~]# netstat -antp | grep zabbix
tcp        000.0.0.0:10050           0.0.0.0:*               LISTEN      48663/zabbix_agentd 
tcp6       00 :::10050                :::*                    LISTEN      48663/zabbix_agentd

#查看运行日记find / -name zabbix_server.log
tail -f /tmp/zabbix_server.log

在这里插入图片描述

在这里插入图片描述

标签: linux 运维

本文转载自: https://blog.csdn.net/weixin_41645135/article/details/127003230
版权归原作者 IT邦德 所有, 如有侵权,请联系我们删除。

“Linux系统RHEL7源码编译安装Zabbix6”的评论:

还没有评论