安装zabbix 5.0

Posted 雅冰石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装zabbix 5.0相关的知识,希望对你有一定的参考价值。

一 实验环境

ip

部署组件

备注

192.168.144.251

nginx+php+mysql+zabbix_server

php版本必须是7.2.0以上

二 实验步骤

#先将所有安装包上传到/opt下:

 #解压

tar zxf nginx-1.14.0.tar.gz -C /usr/local/src/

tar zxf zlib-1.2.11.tar.gz -C /usr/local/src/

tar zxf openssl-1.0.2k.tar.gz -C /usr/local/src/

tar zxf ngx_devel_kit-0.3.1rc1.tar.gz -C /usr/local/src/

tar zxf lua-nginx-module-0.10.13.tar.gz -C /usr/local/src/

2.1 安装nginx

2.1.1 安装依赖包

yum -y install gcc  gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel lua-devel

2.1.2 创建nginx用户

chattr -ia /etc/passwd

chattr -ia /etc/group

chattr -ia /etc/shadow

chattr -ia /etc/gshadow

useradd nginx -s /sbin/nologin

2.1.3 解压安装包

2.1.4 编译安装

cd /usr/local/src/

cd nginx-1.14.0 &&     ./configure --prefix=/opt/nginx     --user=nginx     --group=nginx     --with-http_stub_status_module     --without-http_memcached_module     --with-http_ssl_module     --with-http_gzip_static_module     --with-openssl=/usr/local/src/openssl-1.0.2k     --with-zlib=/usr/local/src/zlib-1.2.11      --with-pcre     --add-module=/usr/local/src/ngx_devel_kit-0.3.1rc1     --add-module=/usr/local/src/lua-nginx-module-0.10.13 && make && make install;

#判断是否安装成功

echo $?

输出0表示安装成功

2.1.5 配置nginx文件

cd /opt/nginx/conf/

mv nginx.conf nginx.conf_bak

vi nginx.conf

添加如下内容:


#user  nobody;
user nginx nginx;
worker_processes  32;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events 
    use   epoll;
    worker_connections  10240;



http 
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server 
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / 
            root   html;
            index  index.html index.htm index.php;
        

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html 
            root   html;
        

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \\.php$ 
        #    proxy_pass   http://127.0.0.1;
        #

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \\.php$ 
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\\.ht 
        #    deny  all;
        #
    


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server 
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / 
    #        root   html;
    #        index  index.html index.htm;
    #    
    #


    # HTTPS server
    #
    #server 
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / 
    #        root   html;
    #        index  index.html index.htm;
    #    
    #


#验证配置文件

/opt/nginx/sbin/nginx -t

正常情况下会输出:

nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /opt/nginx/conf/nginx.conf test is successful

2.1.6 启动nginx

/opt/nginx/sbin/nginx

#验证

[root@Centos7-Mode-V8 ~]# netstat -nltp |grep 8080

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      5726/nginx: master

能看到8080端口,说明启动成功。

#设置nginx开机自启

vi /etc/rc.d/rc.local

添加

/opt/nginx/sbin/nginx

#给该文件赋予执行权限

chmod +x /etc/rc.d/rc.local

2.1.7 测试能否正常访问nginx

访问nginx地址:

192.168.144.251:8080

2.2 安装php

2.2.1 安装依赖包

yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel \\

               libjpeg libjpeg-devel libpng libpng-devel \\

               freetype freetype-devel libxml2 libxml2-devel \\

               glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \\

               ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \\

               openssl openssl-devel sqlite-devel libxslt-devel \\

               openldap openldap-devel

2.2.2 安装php

cd /opt/

tar zxvf php-7.2.26.tar.gz

cd php-7.2.26

./configure --prefix=/opt/php \\

            --with-config-file-path=/opt/php/etc \\

            --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \\

            --with-fpm-user=nginx --with-fpm-group=nginx \\

            --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir \\

            --with-iconv-dir \\

            --with-libxml-dir \\

            --with-zlib-dir \\

            --with-curl \\

            --with-gettext \\

            --with-openssl \\

            --with-mhash \\

            --with-xmlrpc \\

            --with-xsl \\

            --without-pear \\

            --with-xpm-dir=no \\

            --enable-libxml \\

            --enable-xml \\

            --enable-bcmath \\

            --enable-mbstring \\

            --enable-mbregex \\

            --enable-sockets \\

            --enable-ctype \\

            --enable-session \\

            --enable-shmop \\

            --enable-sysvsem \\

            --enable-inline-optimization \\

            --enable-fpm \\

            --enable-pcntl \\

            --enable-soap \\

            --enable-short-tags \\

            --enable-static \\

            --enable-ftp \\

            --disable-ipv6 \\

            --enable-exif \\

            --enable-opcache \\

            --enable-zip && make && make install

#判断是否安装成功

echo $?

输出0表示安装成功

2.2.3 配置php

# 启动脚本

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm && chmod +x /etc/init.d/php-fpm

# 配置文件

cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf &&

    sed -e 's#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g' -i /opt/php/etc/php-fpm.conf

cp /opt/php/etc/php-fpm.d/www.conf.default /opt/php/etc/php-fpm.d/www.conf &&

    sed -e 's/pm.max_children = 5/pm.max_children = 50/g' \\

         -e 's/pm.start_servers = 2/pm.start_servers = 20/g' \\

         -e 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' \\

         -e 's/pm.max_spare_servers = 3/pm.max_spare_servers = 35/g' \\

         -i /opt/php/etc/php-fpm.d/www.conf

cp php.ini-production /opt/php/etc/php.ini &&

    sed -r -e 's/^(short_open_tag =).*/\\1 On/g' \\

        -e 's/^(disable_functions =).*/\\1 passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname/g' \\

        -e 's/^(expose_php =).*/\\1 Off/g' \\

        -e 's/^(max_execution_time =).*/\\1 600/g' \\

        -e 's/^(max_input_time =).*/\\1 600/g' \\

        -e 's/^(memory_limit =).*/\\1 1024M/g' \\

        -e 's/^(post_max_size =).*/\\1 32M/g' \\

        -e 's/^;(always_populate_raw_post_data =).*/\\1 -1/' \\

        -e 's/^(upload_max_filesize =).*/\\1 2M/g' \\

        -e 's/^(default_socket_timeout =).*/\\1 120/g' \\

        -e 's/^;(date.timezone =).*/\\1 Asia\\/Shanghai/' \\

        -e 's/^(mysql.connect_timeout =).*/\\1 120/g' \\

        -e 's/^;(opcache.enable=).*/\\11/' \\

        -e 's/^;(opcache.enable_cli=).*/\\10/' \\

        -e '/;curl.cainfo =/azend_extension=opcache.so' \\

        -e 's/^(memory_limit =).*/\\1 1024M/g' \\

        -i /opt/php/etc/php.ini

# 添加systemctl脚本启动文件

cat > /usr/lib/systemd/system/php-rpm.service << EOF

[Unit]

Description=php-fpm

After=network.target

[Service]

Type=forking

ExecStart=/opt/php/sbin/php-fpm

[Install]

WantedBy=multi-user.target

EOF

2.2.4 启动php

systemctl daemon-reload

systemctl enable php-fpm

systemctl start php-fpm

2.2.5 测试能否正常访问php

2.2.5.1 建测试文件

cat << EOF >/opt/nginx/html/phptest.php

<?php

phpinfo();

?>

EOF

2.2.5.2 访问php

http://192.168.144.251:8080/phptest.php

 2.3 安装mysql

2.3.1 安装mysql

安装步骤略

2.3.2 配置mysql

cd /opt/

tar -zxf zabbix-5.0.17.tar.gz

#初始化数据

create database vdms character set utf8 collate utf8_bin;

grant all privileges on vdms.* to servername@'%' identified by 'serverpassword';

use vdms;

source /opt/zabbix-5.0.17/database/mysql/schema.sql;

source /opt/zabbix-5.0.17/database/mysql/data.sql;

source /opt/zabbix-5.0.17/database/mysql/images.sql;

2.4 安装zabbix server

2.4.1 安装依赖包

yum install -y OpenIPMI-devel libssh2-devel net-snmp-devel unixODBC-devel mysql-devel libxml2-devel libcurl-devel libevent-devel

2.4.2 安装zabbix

将zabbix安装包上传至/usr/local/src下

useradd zabbix -s /sbin/nologin

cd /opt/

cd zabbix-5.0.17

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

/*

假如报错:configure: error: Not found mariadb library

则:

yum -y remove MariaDB*

rpm -qa |grep Maria

mv /etc/yum.repos.d/7-mariadb.repo /etc/yum.repos.d/7-mariadb.repo.bak

yum clean all

yum makecache

yum -y install mariadb-devel 

yum -y install net-snmp-devel

然后重新执行上面的configure命令。

*/

make && make install

echo $?

输出0表示安装成功

2.4.3 配置zabbix

cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/ &&

    sed -ri 's#ZABBIX_BIN=(.*)$#ZABBIX_BIN="/opt/zabbix/sbin/zabbix_server"#' /etc/init.d/zabbix_server

cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/ &&

    sed -ri 's#ZABBIX_BIN=(.*)$#ZABBIX_BIN="/opt/zabbix/sbin/zabbix_agentd"#' /etc/init.d/zabbix_agentd

[[ ! -d /opt/zabbix/etc/zabbix_server.conf ]] &&

    sed -i '/# DBHost=/aDBHost=192.168.144.251' /opt/zabbix/etc/zabbix_server.conf

    sed -i 's/^DBName=zabbix/DBName=vdms/' /opt/zabbix/etc/zabbix_server.conf #库名

    sed -i 's/^DBUser=zabbix/DBUser=servername/' /opt/zabbix/etc/zabbix_server.conf #用户名

    sed -i '/# DBPassword=/aDBPassword=serverpassword' /opt/zabbix/etc/zabbix_server.conf  #密码

sed -i '/# DBPort=/aDBPort=3307' /opt/zabbix/etc/zabbix_server.conf #数据库端口

    sed -i '/# PidFile=/aPidFile=/tmp/zabbix_server.pid' /opt/zabbix/etc/zabbix_server.conf

    grep -Ev "^$|#" /opt/zabbix/etc/zabbix_server.conf

[[ ! -d /opt/zabbix/etc/zabbix_agentd.conf ]] &&

    sed -ri "s/^Server=(.*)$/Server=\\1,`ifconfig |grep 192.168.144 |awk 'print $2'`/" /opt/zabbix/etc/zabbix_agentd.conf

    sed -ri "s/^ServerActive=(.*)$/ServerActive=`ifconfig |grep 192.168.144 |awk 'print $2'`/" /opt/zabbix/etc/zabbix_agentd.conf

    sed -ri "s/^Hostname=(.*)$/Hostname=`ifconfig |grep 192.168.144 |awk 'print $2'`/" /opt/zabbix/etc/zabbix_agentd.conf

    sed -ri "263aInclude=/opt/zabbix/etc/zabbix_agentd.conf.d/*.conf" /opt/zabbix/etc/zabbix_agentd.conf

    grep -Ev "#|^$" /opt/zabbix/etc/zabbix_agentd.conf

ln -s /opt/zabbix/bin/* /usr/local/bin/

chkconfig zabbix_server on

chkconfig zabbix_agentd on

service zabbix_server start

service zabbix_agentd start

cd /opt/zabbix-5.0.17/ui/

cp -axv ./ /opt/nginx/html/zabbix

chown -R nginx.nginx /opt/nginx/html/zabbix

#访问setup.php页面,设置zabbix

http://192.168.144.251:8080/zabbix/setup.php

数据库servername的密码是serverpassword

 登录zabbix默认账号:Admin,密码:zabbix,这是一个超级管理员

2.4.4 登录zabbix

以后登录zabbix,访问如下网址:

http://192.168.144.252:8080/zabbix/index.php

#设置语言为中文

点击左下角的User settings,在Language处选择Chinese

以上是关于安装zabbix 5.0的主要内容,如果未能解决你的问题,请参考以下文章

安装zabbix 5.0

安装zabbix 5.0

zabbix 5.0 的安装

CentOS 7 源码安装Zabbix 5.0 LTS

CentOS 7 源码安装Zabbix 5.0 LTS

CentOS 7 二进制安装Zabbix 5.0 LTS