千家信息网

编译安装zabbix3.2,LAMP

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,编译安装zabbix方式1.1 环境准备系统环境:redhat 6.6 64位mysql-5.6.34php-5.6.28zabbix-3.2.1配置前先关闭iptables和SELINUX,避免安装
千家信息网最后更新 2025年11月08日编译安装zabbix3.2,LAMP

编译安装zabbix方式

1.1 环境准备

系统环境:
redhat 6.6 64位
mysql-5.6.34
php-5.6.28

zabbix-3.2.1


配置前先关闭iptables和SELINUX,避免安装过程中报错。

# service iptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

------------------------------
zabbix 3.2.0对环境的要求

MySQL 5.1以上最好是 5.6或者更高的版本

PHP 5.4或者更高的版本


1.2 LAMP安装

1.2.1 yum安装httpd

安装Apahce, PHP, MySQL以及php连接mysql库组件。

#yum -y install httpd httpd-devel


1.2.2 编译安装mysql5.6

安装编译源码所需的工具和库

yum install \make \gcc \gcc-c++ \ncurses-devel \cmake


新增mysql用户组:

groupadd mysql

新增mysql用户:

useradd -g mysql mysql -s /sbin/nologinchmod 755 /home/mysql/

新建MySQL所需要的目录

新建mysql安装目录

mkdir -p /usr/local/mysql


cmake  \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/home/mysql/ \-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DENABLED_LOCAL_INFILE=1 \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=all \-DWITH_SSL=system \-DMYSQL_TCP_PORT=3306 \--enable-proxy \-DWITH_SSL=bundled

注:重新运行配置,需要删除CMakeCache.txt文件
rm -f CMakeCache.txt

make
make install

修改mysql安装目录
chown -R mysql:mysql /usr/local/mysql

初始化配置

进入安装路径
# cd /usr/local/mysql

进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql --user=mysql


注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf"

注意:若在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。


复制mysql服务启动配置文件

# mv /etc/my.cnf /etc/my.cnf.bak# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

启动MySQL

添加服务,拷贝服务脚本到init.d目录,并设置开机启动

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld


设置开机启动
chkconfig mysqld on

service mysqld start


配置用户

MySQL启动成功后,root默认没有密码,我们需要设置root密码。

设置之前,我们需要先设置PATH,要不不能直接调用mysql

修改/etc/profile文件,在文件末尾添加

PATH=/usr/local/mysql/bin:$PATHexport PATH

关闭文件,运行下面的命令,让配置立即生效

source /etc/profile

执行下面的命令修改root密码

mysql -uroot  mysql> SET PASSWORD = PASSWORD('123456');

或是

# mysqladmin -uroot -p password 123qweEnter password:        这里直接回车Warning: Using a password on the command line interface can be insecure.


若要设置root用户可以远程访问,执行

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

红色的password为远程访问时,root用户的密码,可以和本地不同。


配置防火墙

防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

打开/etc/sysconfig/iptables

在"-A INPUT -m state --state NEW -m tcp -p -dport 22 -jACCEPT",下添加:


-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT


然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

service iptables restart

OK,一切配置完毕,你可以访问你的MySQL了~


1.2.3编译安装PHP5.6

添加依赖应用

yum install -y gcc \gcc-c++ \autoconf \libjpeg \libjpeg-devel \libpng \libpng-devel \freetype \freetype-devel \libpng \libpng-devel \libxml2 \libxml2-devel \zlib \zlib-devel \glibc \glibc-devel \glib2 \glib2-devel \bzip2 \bzip2-devel \ncurses \curl \openssl-devel \gdbm-devel \db4-devel \libXpm-devel \libX11-devel \gd-devel \gmp-devel \readline-devel \libxslt-devel \expat-devel \xmlrpc-c \xmlrpc-c-devel \libcurl \libcurl-devel

安装加密扩展库,先安装Libmcrypt

tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8./configuremakemake install


编译安装

./configure \--prefix=/usr/local/php \--with-config-file-path=/etc \--with-apxs2=/usr/sbin/apxs \--with-mysql=/usr/local/mysql \--with-mysqli=/usr/local/mysql/bin/mysql_config \--enable-inline-optimization \--enable-fpm \--enable-soap \--with-libxml-dir \--with-xmlrpc \--with-openssl \--with-mcrypt \--with-mhash \--with-pcre-regex \--with-sqlite3 \--with-zlib \--enable-bcmath \--with-iconv \--with-bz2 \--enable-calendar \--with-curl \--with-cdb \--enable-dom \--enable-exif \--enable-fileinfo \--enable-filter \--with-pcre-dir \--enable-ftp \--with-gd \--with-openssl-dir \--with-jpeg-dir \--with-png-dir \--with-zlib-dir  \--with-freetype-dir \--enable-gd-native-ttf \--with-gettext \--with-gmp \--with-mhash \--enable-json \--enable-mbstring \--disable-mbregex \--disable-mbregex-backtrack \--with-libmbfl \--with-onig \--enable-pdo \--with-pdo-mysql \--with-zlib-dir \--with-pdo-sqlite \--with-readline \--enable-session \--enable-shmop \--enable-simplexml \--enable-sockets \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-wddx \--with-libxml-dir  \--with-xsl \--enable-zip \--enable-mysqlnd-compression-support \--with-pear


注:

--with-mysql=/usr
--with-mysqli=/usr/bin/mysql_config
--with-apxs2=/usr/sbin/apxs
--enable-gd-jis-conv 会让中文乱码的不需要这个参数的

其中--with-apxs2是用来生成Apache的PHP模块libphp5.so的,不需要可以去掉。


php配置

php.ini是php运行核心配置文件
php-fpm.conf是php-fpm进程服务的配置文件


# cd php-5.6.28# cp php.ini-production /etc/php.ini# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm# chmod +x /etc/init.d/php-fpm
fpm测试php配置
# /usr/local/php/sbin/php-fpm -t[23-May-2016 20:03:52] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful # chkconfig --add php-fpm# chkconfig php-fpm on# service php-fpm startStarting php-fpm  done netstat -anpttcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      705/php-fpm


修改默认端口:

vi /usr/local/php/etc/php-fpm.conf
listen = 127.0.0.1:8000


1.3配置apache访问PHP

配置 httpd.conf apache支持PHP

# vi /usr/local/apache/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz (369)在其下添加如下内容

AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps DirectoryIndex index.php index.html   //调整首页文件设置LoadModule php5_module        /usr/lib64/httpd/modules/libphp5.so


测试页面:

vi /var/www/html/test.php 


2.1 下载zabbix源码包

官网:http://www.zabbix.com/download.php
下载zabbix-3.2.1.tar.gz


安装zabbix所需的组件(server,agent)

yum -y install curl libcurl-devel net-snmp net-snmp-develperl-DBI libdbi-dbd-mysql mysql-devel gcc gcc++ make libxml2 libxml2-devel

2.2 编译安装zabbix

server: 172.28.3.103)服务端

创建zabbix用户组与用户:

# groupadd zabbix

# useradd -g zabbix -s /sbin/nologin zabbix

# tar xzvf zabbix-3.2.1.tar.gz


编译安装:

# cd zabbix-3.2.1 # ./configure --prefix=/usr/local/zabbix-server --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-agent --enable-ipv6 make && make install


编译时加 --prefix=/usr/local/zabbix-server 参数,则zabbix配置文件默认在/usr/local/zabbix-server/etc目录下。(若编译时没有指定路径,则zabbix配置文件使用的默认路径,在/usr/local/etc/下)

创建数据库和授权用户

说明:

数据文件导入的顺序不能变,也可以在命令行使用mysql命令导入数据文件

[root@test ~]# service mysqld start

修改数据库的root密码
[root@test ~]# mysqladmin -u root -p password 123qwe
Enter password: 这里不用填写直接回车即可

mysql> create database zabbix character set utf8; mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123456'; mysql> flush privileges;mysql> grant all on zabbix.* to zabbix@'%' identified by 'zabbix';


导入数据库sql脚本:

# cd zabbix-3.2.1

在解压的zabbix目录下,将database/mysql目录下三个sql文件导入到zabbix数据库里。(下面用的是zabbix用户来导入文件,这个用户在数据库是默认存在的)

# mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql

# mysql -uzabbix -p123456 zabbix < database/mysql/p_w_picpaths.sql

# mysql -uzabbix -p123456 zabbix < database/mysql/data.sql


或是

mysql> use zabbix;
Database changed

mysql> source /root/zabbix-3.2.1/database/mysql/schema.sql;

mysql> source /root/zabbix-3.2.1/database/mysql/p_w_picpaths.sql;

mysql> source /root/zabbix-3.2.1/database/mysql/data.sql;


修改配置文件并启动

mkdir -p /var/www/zabbix

cp -R frontends/php /var/www/zabbix

chmod 777 /var/www/zabbix/php/conf


编辑配置文件(server,agent)

# cd /usr/local/zabbix-server/etc


去掉配置文件里的注释:

# cat zabbix_server.conf |grep -v"#" |grep -v "^$" > zabbix_server.conf.bak

# cp zabbix_server.conf.bak zabbix_server.conf

# cat zabbix_agentd.conf |grep -v"#" |grep -v "^$" > zabbix_agentd.conf.bak

# cp zabbix_agentd.conf.bak zabbix_agentd.conf


我们只需要关注DBHost、DBName、DBUser、DBPassword几项即可。这几项是配置zabbix server连接mysql数据库的参数。


服务端配置:

# vim /usr/local/zabbix-server/etc/zabbix_server.conf  LogFile=/var/log/zabbix/zabbix_server.log  DBHost=localhost  DBName=zabbix  DBUser=zabbix  DBPassword=123456


客户端配置:

# vi /usr/local/zabbix-server/etc/zabbix_agentd.confLogFile=/var/log/zabbix/zabbix_agentd.logServer=172.28.3.103ServerActive=172.28.3.103Hostname=172.28.3.103


创建日志文件存放位置:
mkdir /var/log/zabbix

chown -R zabbix:zabbix /var/log/zabbix

启动zabbix服务:
/usr/local/zabbix-server/sbin/zabbix_server



server来管理启动zabbix服务:

# cd zabbix-3.2.1# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/# chkconfig --add zabbix_server# chkconfig --add zabbix_agentd# chkconfig zabbix_server on# chkconfig zabbix_agentd on

创建软链接:

ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/ ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/


启动服务:
service zabbix_server start
service zabbix_agentd start


agent: 172.28.3.100)客户端

创建zabbix用户组与用户:

# groupadd zabbix

# useradd -g zabbix -s /sbin/nologin zabbix


编译安装:

# cd zabbix-3.2.1# ./configure --prefix=/usr/local/zabbix-agent  --enable-agentmake && make install # cd /usr/local/zabbix-agent# vi etc/zabbix_agentd.confLogFile=/var/log/zabbix/zabbix_agentd.logServer=172.28.3.103ServerActive=172.28.3.103Hostname=172.28.3.100


server来管理启动zabbix服务:

# cd zabbix-3.2.1# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/# chkconfig --add zabbix_agentd# chkconfig zabbix_agentd on

创建软链接:

# ln -s /usr/local/zabbix/sbin/zabbix_agentd/usr/local/sbin/


启动服务:
service zabbix_agentd start


2.3 配置zabbix web页面

vim /etc/httpd/conf.d/zabbix.conf ## Zabbix monitoring system php web frontend# #Alias /zabbix/usr/share/zabbixAlias /zabbix /var/www/zabbix/php     Options FollowSymLinks    AllowOverride None    Order allow,deny    Allow from all    #Require all granted             php_value max_execution_time 300        php_value memory_limit 128M        php_value post_max_size 16M        php_value upload_max_filesize 2M        php_value max_input_time 300        php_value always_populate_raw_post_data -1        # php_value date.timezone Europe/Riga        php_value date.timezone Asia/Chongqing    

其中php_value date.timezone Asia/Chongqing主要是定义php的时区。

最后重启apache,zabbix服务,如下:

services httpd restart

services zabbix_server restart

然后访问http://172.28.3.103/zabbix/setup.php这个地址,如下进行安装:



完成后即可登录:zabbix默认的用户名和密码是Admin/zabbix

如果创建zabbix.conf.php文件这一步有报错话,可以手动下载好那个文件在相应目录创建zabbix.conf.php文件复制里面的内容即可:

vi /var/www/zabbix/php/conf/zabbix.conf.php


0