centos6编译安装zabbix4.0
简介:zabbix的web界面是用php编写的,所以安装zabbix前需要安装lnmp、或者lanmp环境
关掉selinux
getenforce 查看selinux状态
临时关闭selinux setenforce 0
永久关闭
打开终端并以root用户身份登录。
编辑SELinux的配置文件/etc/selinux/config。
将文件中的SELINUX=enforcing修改为SELINUX=disabled。
保存并关闭文件。
重启系统以使更改生效。
一、安装nginx
1、安装依赖
yum install pcre pcre-devel
2、下载安装nginx源码包
这边下的是nginx1.24.0源码包
https://nginx.org/download/nginx-1.24.0.tar.gz
配置和编译
./configure \
--prefix=/opt/nginx \
--with-http_realip_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre
make
make install
注意 --prefix=/opt/nginx 即为自定义安装的目录
二、安装mysql
1、这边mysql用的二进制免编译包
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.1.65-linux-x86_64-glibc23.tar.gz
2、解压
tar zxvf mysql-5.1.65-linux-x86_64-glibc23.tar.gz
mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
4、建立mysql用户
useradd -s /sbin/nologin mysql
5、初始化数据库
cd /usr/local/mysql
mkdir -p /data/mysql ; chown -R mysql:mysql /data/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
--user 定义数据库的所属主, --datadir 定义数据库安装到哪里,建议放到大空间的分区上,这个目录需要自行创建。这一步骤很关键,如果您看到两个 “OK” 说明执行正确
6、拷贝配置文件
cp support-files/my-large.cnf /etc/my.cnf
7、拷贝启动脚本文件并修改其属性
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
8、修改启动脚本
vim /etc/init.d/mysqld
需要修改的地方有 “datadir=/data/mysql” (前面初始化数据库时定义的目录)
9、把启动脚本加入系统服务项,并设定开机启动,启动mysql
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
启动完后查看进程是否存在
ps aux |grep mysqld
三、安装php
这边下的是5.6.3
1、下载php源码包 https://www.php.net/distributions/php-5.6.3.tar.gz
2、解压
tar zxf php-5.6.3.tar.gz
3、配置编译参数
配置编译参数很重要,所以配置之前先要看下安装zabbix必须需要的扩展有哪些
zabbix4.0支持的php扩展及参数
PHP version 5.4.0 //最低支持的php版本
PHP option "memory_limit" //php.ini配置项
PHP option "post_max_size" //php.ini配置项
PHP option "upload_max_filesize" //php.ini配置项
PHP option "max_execution_time"//php.ini配置项
PHP option "max_input_time" //php.ini配置项
PHP option "date.timezone" //php.ini配置项 可以设置Asia/shanghai
PHP databases //数据库支持 MySQL,、Oracle、PostgreSQL都可以
PHP bcmath off //php扩展项 打开图片大小调整 zabbix 必需模块
PHP mbstring //多字节,字符串的支持
PHP option "mbstring.func_overload" //php.ini配置项
PHP option "always_populate_raw_post_data" //php.ini配置项
PHP sockets //php扩展项打开 sockets 支持
PHP gd //php扩展项,gd库的支持 gd库是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片
PHP gd PNG support //php扩展项 gd PNG
PHP gd JPEG support off Fail //php扩展项 gd JPEG
PHP gd FreeType support //php扩展项 gd JPEG
PHP libxml 2.7.6 2.6.15 OK //php扩展项 是一个用于解析 XML 和 HTML 的 C 库
PHP xmlwriter //php扩展项创建XML文档相关
PHP xmlreader //php扩展项读取XML文档相关
PHP LDAP off Warning //php扩展项LDAP 是轻量级目录访问协议,是用于访问“目录服务器”的协议 非必需项
PHP ctype //PHP的ctype扩展提供了一系列函数,用于检查和操作字符数据。
PHP session //php.ini配置项
PHP option "session.auto_start" //php.ini配置项
PHP gettext off Warning //php扩展项 非必需项 后面翻译成中文需要用到
PHP option "arg_separator.output" //php.ini配置项
php编译配置项
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-libxml-dir=/usr/local/libxml2 \
--with-zlib-dir=/usr/local/zlib/ \
--with-iconv=/usr/local/libiconv/ \
--with-mysql \
--with-mysqli \
--with-gd=/usr/local/gd2/ \
--with-png-dir=/lib64/libpng.so.3 \
--with-jpeg-dir=/usr/lib64/libjpeg.so.62 \
--with-freetype-dir=/usr/lib64/libfreetype.so.6 \
--enable-soap \
--enable-mbstring=all \
--enable-sockets \
--enable-pdo \
--with-pdo-mysql \
--enable-bcmath \
--enable-fpm
注意比如其它有的配置项如果之前已经安装的配置可以查询出来相应的配置项然后再包含文件进去
--prefix //设置PHP 的安装路径
--with-config-file-path //指定PHP 配置文件存入的路径
--with-配置项 //指定配置安装的路径
--enable //打开某个php扩展
报错:
iconv.c:2577: undefined reference to `libiconv_open' collect2: ld returned 1 exit status make: ***
出现这种是libiconv 扩展未安装
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
完成之后在编译php的./configure命令加上--with-iconv=/usr/local/libiconv指向iconv位置。
再次执行./configure make
如果直接执行上面的配置项还是报上面的libiconv_open错但是检查libiconv已经安装这时可以先去掉--with-iconv=/usr/local/libiconv 执行./configure make 再加上--with-iconv=/usr/local/libiconv这个配置项试试
gd库安装
gd库下载网址
解压后执行下面安装,后面安装好后要注意安装的路径用于上面php编译安装配置的参数如上面的/usr/local/gd2/即为gd的安装路径
$ ./configure
$ make
$ sudo make install
如果有些扩展是通过yum安装的
yum 查询安装在哪个目录 yum安装后的文件这边碰到的问题是需要配置指定到具体的文件 如 --with-png-dir=/lib64/libpng.so.3 \ --with-jpeg-dir=/usr/lib64/libjpeg.so.62 \ --with-freetype-dir=/usr/lib64/libfreetype.so.6 \
rpm -ql libpng
rpm -ql libjpeg-turbo
一般出现执行make 后出现 Build complate 提示 make install 出现下面提示既安装成功
拷贝配置文件
cp php.ini-production /usr/local/php/etc/php.ini
php-fpm.conf.default 复制为php-fmp.conf
配置nginx解析php
四、安装zabbix
在zabbix官网中选择source源码下载
https://cdn.zabbix.com/zabbix/sources/oldstable/4.0/zabbix-4.0.50.tar.gz
1、安装依赖
yum -y install curl curl-devel gcc gcc-c++ libevent-devel mysql-devel net-snmp net-snmp-devel perl-DBI
添加zabbix用户
useradd -s /sbin/nologin zabbix
2、解压
tar -xzvf zabbix-4.0.27.tar.gz
cd zabbix-4.0.27
3、配置参数
./configure \
--prefix=/usr/local/zabbix \
--enable-server \
--with-mysql \
--with-net-snmp \
--with-libcurl
make install
4、配置环境变量
vim /etc/profile
添加zabbix sbin目录 zabbix bin目录
export PATH=/usr/local/zabbix/sbin:/usr/local/zabbix/bin:$PATH
source /etc/profile
5、数据库配置
5.1创建用户
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix';
创建zabbix数据库 //要指定为utf8编码
create database zabbix character set utf8 collate utf8_bin;
然后,使用GRANT语句授权:
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
熟悉缓存
FLUSH PRIVILEGES;
5.2 导入数据 (zabbix这些数据在解压后的源码包的database/mysql目录下 mysql执行文件即在免编译安装包的bin目录下)
zabbix数据包文件
执行这些导入数据之前还需要在每个文件前面插入use zabbix;
mysql -uzabbix -p zabbix < schema.sql
mysql -uzabbix -p zabbix < images.sql
mysql -uzabbix -p zabbix < data.sql
5.3 配置zabbix
zabbix配置文件
主要更改连接的数据库、用户、密码、端口
vim /etc/zabbix/zabbix_server.conf
更改zabbix用户用户组
chown zabbix:zabbix -R zabbix/
/opt/zabbix/sbin
zabbix_server 启动服务
执行
./zabbix_server
查看日志
cat /tmp/zabbix_server.log
zabbix_server.conf文件中可以找到zabbix的日志目录
5.4安装zabbix前端包
创建目录
/opt/nginx/html/zabbix
复制前端包
cd /opt/zabbix-4.0.50/frontends
cp -r php/* /opt/nginx/html/zabbix/
浏览器访问zabbix前端包 启动前要保证php-fpm、nginx、mysql服务已经起来
根据报错排查php扩展是否安装,更改php.ini参数
在nginx/html 目录下可以创建一个php文件然后浏览器访问该文件可以查看到php.ini的安装路径已经如果gd扩展、sockets扩展是否安装成功
安装的扩展
php 扩展下载地址
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端