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

3、把解压完的数据移动到/usr/local/mysql

  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库下载网址

http://libgd.github.io/

解压后执行下面安装,后面安装好后要注意安装的路径用于上面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 扩展下载地址

https://pecl.php.net/

 

posted @   ~技术小白  阅读(41)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示