Zabbix 5.0 - LNMP环境 编译安装

部署步骤:

一、准备工作

关闭selinux和防火墙

1. vi /etc/selinux/config    或

 sed -i ‘s/SELINUX=enforcing/SELINUX=disabled’  /etc/selinux/config

2.  systemctl stop firewalld     systemctl disable firewalld   或

 service iptables stop     chkconfig iptables off



二、安装mysql数据库

1. 卸载mysql和mariadb相关软件并创建mysql用户

rpm -e --nodeps mariadb-libs

useradd -d /home/mysql  mysql


2.到官网下载rpm包

# rpm -ivh mysql80-community-release-el7-3.noarch.rpm 

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm

yum -y install mysql-community-server


3.启动mysql 进入设置root密码

systemctl start mysqld.service

sudo grep 'temporary password' /var/log/mysqld.log       

mysql -u root -p

mysql> alter user 'root'@'localhost' identified by 'Galaxy123..';        

mysql> flush privileges;     

或

mysqladmin -uroot -p'xxxx' password 'xxxxx'


4.创建zabbix数据库和zabbix用户并赋予权限  

mysql> CREATE DATABASE zabbix character set utf8 collate utf8_bin;

mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY 'xxxxxx';

mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

mysql> quit;



三、导入zabbix数据

1.tar xf zabbix-5.0.13.tar.gz 

2.cd  ./zabbix-5.0.13/database/mysql

3.mysql -uzabbix -p zabbix < ./schema.sql

4.mysql -uzabbix -p zabbix < ./images.sql

5.mysql -uzabbix -p zabbix < ./data.sql

或

mysql>use zabbix;

mysql>source /opt/zabbix-5.0.3/database/mysql/schema.sql

mysql>source /opt/zabbix-5.0.3/database/mysql/data.sql

mysql>source /opt/zabbix-5.0.3/database/mysql/images.sql



四、编译安装zabbix-server

1.安装zabbix的支持功能依赖包

yum install -y gcc mysql-community-devel net-snmp-devel libxml2-devel  unixODBC-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel libevent-devel pcre-devel

yum install -y fping

2.安装java环境

yum install -y java-1.8.0-openjdk  java-1.8.0-openjdk-devel


3.编译安装

cd  /opt/zabbix-5.0.13/

./configure --prefix=/usr/local/zabbix --enable-server    --enable-agent --with-mysql --enable-ipv6 --with-libcurl  --with-libxml2 --with-openipmi --with-net-snmp --with-ssh2 --with-unixodbc --with-openssl   --enable-java


4.make && make install


5.修改server配置文件

LogFile=/usr/local/zabbix/log/zabbix_server.log

LogFileSize=5

PidFile=/usr/local/zabbix/zabbix_server.pid

DBHost=192.0.0.38     

DBName=zabbix

DBUser=zabbix

DBPassword=

AllowRoot=1


6.修改agent配置文件

PidFile=/usr/local/zabbix/zabbix_agentd.pid

LogType=file

LogFile=/usr/local/zabbix/log//zabbix_agentd.log

Server=

ServerActive=

Hostname=

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

AllowRoot=1

UnsafeUserParameters=1


7.mkdir /usr/local/zabbix/log



五、编译安装Nginx

1. tar xf  nginx-1.20.1.tar.gz

2. cd  ./nginx-1.20.1


3.安装依赖包

yum install -y gcc  pcre pcre-devel zlib zlib-devel openssl openssl-devel


4.编译安装
./configure --prefix=/usr/local/nginx --with-http_stub_status_module  --with-http_ssl_module  --with-pcre		

### http_ssl_module支持https;stub_status_module支持监控状态

5.make && make install


6.修改nginx配置文件使其支持php-fpm
server {

1.listen   80;      ###端口可改可不改

2.server_name  localhost;       ###改成本机ip

3.index  index.html index.htm index.php;    ###添加index.php

4.location /nginx_status {

                stub_status     on;

            }              ###添加该字段开启nginx_status模块,监控nginx需要


5.#location ~ \.php$ {

    #    root           html;             ###/usr/local/nginx/html

    #    fastcgi_pass   127.0.0.1:9000;

    #    fastcgi_index  index.php;

    #   fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;

    #    include        fastcgi_params;

    #}

###取消注释该部分,修改fastcgi_param字段:$document_root$fastcgi_script_name 



六、编译安装PHP

1.tar xf php-7.3.29.tar.gz

2.cd php-7.3.29

3.安装依赖包

yum install -y libjpeg-devel  libpng-devel libxml2-devel bzip2-devel libcurl-devel freetype-devel gd openldap-devel openssl-devel


4.编译安装

./configure --prefix=/usr/local/php --enable-fpm --enable-mbstring --with-openssl    --with-mysqli --with-mysql-sock --with-gd   --enable-pdo --with-pdo-mysql --with-gettext  --enable-sockets --enable-bcmath    --enable-xml --with-bz2  --with-freetype-dir=/usr/local --with-libxml-dir=/usr/local    --with-zlib --with-curl --with-jpeg-dir=/usr/local --with-png-dir=/usr/local  --with-ldap --with-libdir=lib64

### --enable-fpm启用php-fpm . --with-mysql和 --enable-gd-native-ttf  在PHP7.3中弃用 --with-pdo-mysql代替--with-mysql, --enable-gd-native-ttf参数弃用无影响

#PHP7.4版本编译报错configure: WARNING: unrecognized options: --with-gd, --with-freetype-dir, --with-libxml-dir, --with-jpeg-dir, --with-png-dir  原因是这几个参数在7.4版本中不支持了
#解决方法: 换用这三个参数即可 --enable-gd --with-jpeg --with-freetype


5.make && make install


6.修改php配置文件

cd /opt/php-7.3.29

cp php.ini-production  /usr/local/php/lib/php.ini

vi /usr/local/php/lib/php.ini

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

    memory_limit = 1024M

7.
cd /usr/local/php/etc

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

cp php-fpm.d/www.conf.default   php-fpm.d/www.conf



七、拷贝zabbix前端到nginx默认web目录

cd /opt/zabbix-5.0.13/

cp -a ui/* /usr/local/nginx/html/

编写systemd服务启动文件,方便管理

vi  /usr/lib/systemd/system/zabbix_server.service

[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
Type=forking
PIDFile=/usr/local/zabbix/zabbix_server.pid
Restart=on-failure
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s

[Install]
WantedBy=multi-user.target

vi  /lib/systemd/system/nginx.service

[Unit]
Description=nginx			# 描述服务
After=network.target			# 描述服务类型
  
[Service]
Type=forking				# 后台运行
ExecStart=/usr/local/nginx/sbin/nginx			# 运行
ExecReload=/usr/local/nginx/sbin/nginx -s reload		# 重启
ExecStop=/usr/local/nginx/sbin/nginx -s quit		# 停止
PrivateTmp=true				# 给服务分配独立的临时空间
  
[Install]
WantedBy=multi-user.target		# 多用户

vi  /usr/lib/systemd/system/php-fpm.service

[Unit]
Description=php-fpm
After=network.targe

[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
PrivateTmp=true

[Install]
WantedBy=multi-user.target

vi  /usr/lib/systemd/system/zabbix_agentd.service

[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
Type=forking
PIDFile=/usr/local/zabbix/zabbix_agentd.pid
Restart=on-failure
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s

[Install]
WantedBy=multi-user.target

#注意事项 mysql 8.0版本 问题

#在MySQL 8.0.11中,caching_sha2_password是默认的身份验证插件,而不是以往的
mysql_native_password。有关此更改对服务器操作的影响以及服务器与客户端和连接器的兼容性
的信息,请参阅caching_sha2_password作为首选的身份验证插件。
(翻译自https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html)

从8.0.11版本起,不再像mysql5.7及以前版本那样,设置用户密码时默认的验证方式为
caching_sha2_password,如果发现升级mysql8.0.11后原有的程序不能连接mysql,
可迅速在mysql command line client客户端用下面的命令设置成mysql5.7及以前版本的密码验证方式,
同时MYSQL8.0.11下修改密码的方式与原先也不大一样,原先的部分修改密码的命令在mysql8.0.11下不能使用。
> use mysql  
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';  
> FLUSH PRIVILEGES;            

二,mysql 安装了最新版本8.0.11后创建用户并授权后,授权的用户连接数据库提示
The server requested authentication method unknown to the client
查阅一些相关的资料后发现是由于新版本的mysql账号密码解锁机制不一致导致的
解决办法:
删除创建的用户和授权,
找到mysql配置文件并加入
default_authentication_plugin=mysql_native_password
变为原来的验证方式,然后从新创建用户并授权即可
或
mysql -uroot -p
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译安装Zabbix 5.0 在Ubuntu上可以按照以下步骤进行: 1. 首先,确保系统已经安装了必要的编译工具。可以通过运行以下命令来安装它们: ``` sudo apt-get install -y build-essential ``` 2. 接下来,我们需要安装一些依赖库。运行下面的命令进行安装: ``` sudo apt-get install -y libpcre3 libpcre3-dev libssl-dev ``` 3. 下载Zabbix 5.0的源码包。可以从Zabbix官方网站下载最新版本的源码包。 4. 将源码包解压到适当的目录。可以使用以下命令将源码包解压: ``` tar -zxvf zabbix-5.0.0.tar.gz ``` 5. 进入解压后的源码目录: ``` cd zabbix-5.0.0 ``` 6. 运行configure命令来检查和配置编译选项: ``` ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 ``` 7. 运行make命令来编译Zabbix: ``` make ``` 8. 运行make install命令来安装编译后的Zabbix: ``` sudo make install ``` 9. 接下来,我们需要创建一个数据库来存储Zabbix的数据。可以使用MySQL或MariaDB来创建数据库。安装并配置数据库后,创建一个新的数据库和用户,并为用户授予适当的权限。 10. 接下来,我们需要导入Zabbix的数据库模式。可以在Zabbix源码目录下找到数据库模式文件,并使用以下命令导入它: ``` sudo mysql -uroot -p zabbix < database/mysql/create.sql ``` 11. 最后,我们需要配置Zabbix服务器和代理。可以在安装目录中找到示例配置文件,并根据需要进行编辑。 完成上述步骤后,你将成功地在Ubuntu上编译安装Zabbix 5.0。可以启动Zabbix服务器和代理,然后通过Web界面访问Zabbix来配置和管理你的监控系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值