Centos7系统最小化安装操作系统、源代码安装zabbix6.4版本、源代码安装nginx、php、(yum安装mysql)

23 篇文章 0 订阅
1 篇文章 0 订阅

zabbix官网链接下载zabbix源代码安装包

 选择zabbix版本(此文章使用zabbix6.4版本)

安装之前由于是最小化安装centos7安装一些开发环境和工具包

文章使用国内阿里源
cd /etc/yum.repos.d/ && mkdir myrepo && mv * myrepo&&ls
curl -O https://mirrors.aliyun.com/repo/epel-7.repo;curl -O https://mirrors.aliyun.com/repo/Centos-7.repo && yum makecache all

启用阿里源yum云。

由于是最小化安装的系统没有开发工具、编译器、构建工具、base(基础工具),安装系统环境。

yum -y groupinstall "development tools" "base"
yum -y install lrzsz

使用的远程连接工具使用Xshell工具最小化安装的系统没有默认没有命令行传输工具。

lrzsz工具:使用命令行传输文件,在linux和其他类unix系统中常用的工具,用于通过串行连接发送和接收文件。(通常被用来在本地计算机与远程系统之间传输文件。)

lrzsz 实际上是由两个独立的命令组成的:

  • rz 用于接收文件(Receive files)。
  • sz 用于发送(下载)文件(Send files)。

2 要求(zabbix)官网链接要求

zabbix版本安装要求  ===   硬性  ==  nginx1.20版本或更高、php8.0.0-8.3.X版本、mysql/Percona8.0.30-8.4.X版本

1、源代码安装nginx  ===   wget下载nginx1.27.0.tar.gz源代码安装包

cd /usr/local/src/;mkdir nginx;cd nginx;wget https://nginx.org/download/nginx-1.27.0.tar.gz

 nginx-1.27.0官网版本下载链接

选择上传nginx源代码安装包。

部署安装之前安装nginx所需要的依赖环境
yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel
创建nginx运行用户和组
useradd nginx -l -M -s /sbin/nologin

 nginx1.27.0源代码安装下载链接

tar xf nginx-1.27.0.tar.gz;cd nginx-1.27.0
建议隐藏nginx版本信息
sed -i "13s/1.27.0/jingyu飞鸟/" /usr/local/src/nginx/nginx-1.27.0/src/core/nginx.h

sed -i "14s/nginx\//CSDN-/" /usr/local/src/nginx/nginx-1.27.0/src/core/nginx.h

sed -i "49s/nginx/CSDN-jingyu飞鸟/" /usr/local/src/nginx/nginx-1.27.0/src/http/ngx_http_header_filter_module.c

sed -i "36s/nginx/CSDN-jingyu飞鸟/" /usr/local/src/nginx/nginx-1.27.0/src/http/ngx_http_special_response.c
配置编译nginx
./configure --prefix=/usr/local/nginx \
--with-http_dav_module \
--with-http_stub_status_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_flv_module \
--with-http_mp4_module \
--user=nginx --group=nginx \
&& make && make install
添加环境变量
sed -i '$aexport PATH=$PATH:/usr/local/nginx/sbin/' /etc/profile
source /etc/profile
创建php测试页面,为php测试准备
echo -e "<?php\nphpinfo();\n?>" > /usr/local/nginx/html/php.php

安装配置php

php官网php8.3.6(tar.gz)下载链接

 点击旧档案

官网下载点击download下载php版本符合zabbix7.0版本的php8.0.0-8.3.X版本此文章使用php8.3.6版本

php官网php8.3.6(tar.gz)下载链接

安装php依赖环境

build-essential:用于编译和构建软件的工具包。、zlib:用于压缩和解压缩数据。、libxml2:用于解析XML文件。、libjpeg、libpng、libwebp、libxpm:用于处理图像文件。、libcurl:用于发送和接收数据的客户端库。、libzip:用于创建和解压ZIP文件。、libssl:用于加密和解密数据、libonig:用于正则表达式匹配。、libargon2:用于密码哈希算法。、libedit:用于命令行编辑器。、libgd:用于处理图像文件。、libmcrypt:用于数据加密和解密。

yum -y install libxml2 libxml2-devel libsq3-devel libsq3 bzip2 bzip2-devel libcurl libcurl-devel libpng libpng-devel libjpeg* freetype freetype-devel oniguruma oniguruma-devel expat expat-devel libxslt libxslt-devel

  创建php运行用户和组

useradd php -l -M -s /sbin/nologin

下载php8.3.6源代码安装,进行解压缩配置

百度网盘php-8.3.6.tar.gz下载链接

cd /usr/local/src/ && mkdir php && cd php && wget https://www.php.net/distributions/php-8.3.6.tar.gz
tar xf php-8.3.6.tar.gz ;cd php-8.3.6
./configure --prefix=/usr/local/php -with-config-file-path=/etc --with-fpm-user=php --with-fpm-group=php --with-curl --with-freetype --enable-gd --with-gettext --with-kerberos --with-libdir=lib64  --with-mysqli --with-openssl  --with-pdo-mysql --with-pdo-sqlite --with-pear  --with-jpeg  --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-fpm --with-pcre-jit --with-expat
make

注意!!!make编译需要很久的时间!!!

make完成之后会提示make test测试这里不需要直接安装就好。

make install

之后提示 一些信息。

cp /usr/local/src/php/php-8.3.6/php.ini-production /etc/php.ini
创建php配置文件。
修改配置文件内容。
sed -i "989cdate.timezone = PRC" /etc/php.ini
sed -i "410s/On/Off/" /etc/php.ini
sed -i "208s/Off/On/" /etc/php.ini
sed -i "713s/8/16/" /etc/php.ini
sed -i "419s/30/300/" /etc/php.ini
sed -i "429s/60/300/" /etc/php.ini
sed -i "1198cmysqli.default_socket = /var/lib/mysql/mysql.sock" /etc/php.ini
sed -i "707aalways_populate_raw_post_data = -1" /etc/php.ini
sed -i "708ambstring.func_overload = 0" /etc/php.ini

与原文件对比修改上面几处。

cp /usr/local/src/php/php-8.3.6/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
设置php-fpm配置文件并编辑
sed -i "127s/5/600/" /usr/local/php/etc/php-fpm.d/www.conf.default
sed -i "132s/2/60/" /usr/local/php/etc/php-fpm.d/www.conf.default
sed -i "137s/1/16/" /usr/local/php/etc/php-fpm.d/www.conf.default
sed -i "142s/3/60/" /usr/local/php/etc/php-fpm.d/www.conf.default
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.conf
 修改之后复制到php的/etc目录下并重命名为php-fpm.conf文件。

之后便可以使用service系统命令启动。

 或者使用/etc/init.d/php-fpm status

添加永久环境变量

sed -i '$aexport PATH=$PATH:/usr/local/php/bin' /etc/profile
sed -i '$aexport PATH=$PATH:/usr/local/php/sbin' /etc/profile
source /etc/profile

由于之前安装完nginx之后便echo了php版本页面测试文件,之后修改完nginx配置文件便直接启动php服务便可以看到。

sed -i '45c\            index  index.php index.html index.htm;' /usr/local/nginx/conf/nginx.conf

访问优先调用php (如果客户端请求的是一个目录(例如 http://example.com/)而不是具体的文件路径,Nginx 会依次尝试使用 index.php

如果找到其中任何一个文件,那么这个文件将被用来响应客户端的请求。

如果没有找到任何文件,Nginx 通常会返回一个错误页面(通常是 404 Not Found),除非配置了其他行为,比如返回目录列表。

sed -i "46a\            location ~ \\.php$ {\n             root html;\n            fastcgi_pass 127.0.0.1:9000;\n            index index.php;\n            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;\n            include        fastcgi_params;\n            include fastcgi.conf;        \n}" /usr/local/nginx/conf/nginx.conf
systemctl stop firewalld;setenforce 0
/etc/init.d/php-fpm start
nginx

 启动nginx

测试php版本页面信息

注意   url   是http的并非加密的!!!

http://192.168.6.120/php.php

安装mysql数据库

由于源代码安装部署时间长,本文章使用yum安装方式

Centos系统yum安装mysql数据库_mysql84-community-release-el7-1.noarch.rpm-CSDN博客

rpm -e mariadb-libs --nodeps

首先删除系统自带的数据库

下载mysql-yum下载源

cd /etc/yum.repos.d/&& mkdir mysqlrepo&&cd mysqlrepo&& wget https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm&& rpm -ivh https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm

如果这个之前安装过可以使用忽略命令重新安装

rpm -ivh mysql84-community-release-el7-1.noarch.rpm --nodeps --force

 下载mysql-server其中包括一些zabbix环境依赖包

yum -y install mysql-server libxml2 libxml2-devel net-snmp-devel libevent-devel javacc-maven-plugin mysql-devel curl-devel root-sql-mysql

系统使用的刚刚下载的mysql-community.repo源中的mysql8.4版本。

yum安装的直接就是系统服务。在mysqld服务登录时建议使用临时密码,需要注意的是,只有mysqld服务启动之后在/var/log/mysqld.log文件才会有零时密码。

启动mysqld服务。

systemctl start mysqld

 过滤临时密码

grep password /var/log/mysqld.log

mysql -uroot -p

使用临时密码,登录mysql 

设置密码

alter user root@localhost identified by 'CSDN-jingyu1610';

密码要求要符合安全复杂性。

否则会提示

创建zabbix数据库、用户

create user zabbix@localhost identified by 'CSDN-jingyu1610';
grant all privileges on zabbix.* to zabbix@localhost;
create database zabbix charset utf8 collate utf8_bin;

之后退出数据库exit或者ctrl + D退出。

exit

之后安装部署zabbix6.4

cd /usr/local/src/&& mkdir zabbix&& cd zabbix&& wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.17.tar.gz&& tar xf zabbix-6.4.17.tar.gz&& cd zabbix-6.4.17

导入zabbix的mysql数据库资源

mysql -uzabbix -pCSDN-jingyu1610 zabbix < /usr/local/src/zabbix/zabbix-6.4.17/database/mysql/schema.sql

复制命令在文档下面。

log_bin_trust_function_creators变量

这里mysql告诉说:[警告]在命令行界面上使用密码可能不安全。
第2484行错误1419(HY000):您没有SUPER权限,并且启用了二进制日志记录(您可能希望使用不太安全的log_bin_trust_function_creates变量) 

没有SUPER权限但是给出了解决办法设置变量

sed -i '$alog_bin_trust_function_creators=1' /etc/my.cnf
systemctl restart mysqld

 由于之前已经导入了一次程序检测第一行有了便认为内容都有了,所以需要将数据库删除重新创建数据库以及导入数据。

错误提示:

删除mysql数据库,重新创建数据库。

mysql -uroot -pCSDN-jingyu1610 -e "drop database zabbix;"
mysql -uroot -pCSDN-jingyu1610 -e "create database zabbix charset utf8 collate utf8_bin;"

之后重新导入没有问题。

需要注意mysql脚步导入顺序 1、schema.sql  2、images.sql   3、data.sql

mysql -uzabbix -pCSDN-jingyu1610 zabbix < /usr/local/src/zabbix/zabbix-6.4.17/database/mysql/schema.sql
mysql -uzabbix -pCSDN-jingyu1610 zabbix < /usr/local/src/zabbix/zabbix-6.4.17/database/mysql/images.sql
mysql -uzabbix -pCSDN-jingyu1610 zabbix < /usr/local/src/zabbix/zabbix-6.4.17/database/mysql/data.sql
创建zabbix用户
useradd zabbix -l -M -s /sbin/nologin

 配置zabbix6.4.17

./configure --prefix=/usr/local/zabbix   --enable-server   --enable-agent   --enable-java  --with-mysql --with-libxml2  --with-net-snmp  --with-libcurl

make && make install

之后修改zabbix配置文件。

sed -i "12s/#//" /usr/local/zabbix/etc/zabbix_server.conf
sed -i "68s/#//" /usr/local/zabbix/etc/zabbix_server.conf
sed -i "87s/#//" /usr/local/zabbix/etc/zabbix_server.conf
sed -i "130cDBSocket=/var/lib/mysql/mysql.sock" /usr/local/zabbix/etc/zabbix_server.conf
sed -i "123cDBPassword=CSDN-jingyu1610" /usr/local/zabbix/etc/zabbix_server.conf

注意将zabbix用户登陆数据库的密码设置成自己的,(zabbix用户可以登陆的密码。)

复制zabbix启动脚步。

cp /usr/local/src/zabbix/zabbix-6.4.17/misc/init.d/fedora/core5/zabbix_* /etc/init.d/
chkconfig --add /etc/init.d/zabbix_server 
chkconfig --add /etc/init.d/zabbix_agentd

添加为系统服务。

复制zabbix页面交给php程序解析

cp -r /usr/local/src/zabbix/zabbix-6.4.17/ui/ /usr/local/nginx/html/zabbix

之后打开浏览器访问

http://192.168.6.120/zabbix/

关闭防火墙与selinux

systemctl stop firewalld && setenforce 0

浏览器安装zabbix -server6.4版本

 可以将默认语言修改为中文。

 

 密码是mysql数据库zabbix用户登录的密码修改与自己的一致。

(文章中密码为:CSDN-jingyu1610)

设置zabbix主机名称

时间改成亚洲/上海。

选择默认主题

 没有问题-下一步。

 这里需要手动下载配置文件(配置文件名称:zabbix.conf.php)

点击1、下载配置文件即可下载

按照第2步上传到  "/usr/local/nginx/html/zabbix/conf/zabbix.conf.php"(是之前zabbix源代码安装包的ui目录复制到的nginx网页目录中的conf目录)

cd /usr/local/nginx/html/zabbix/conf/
rz

 rz命令是文章上面让安装的lrzsz工具。

 之后点击完成即可。

点击登录 ,之后使用zabbix默认的用户

用户名称:Admin

密码:zabbix

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jingyu飞鸟

醒来觉得甚是爱你。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值