源码方式配置环境及安装zabbix

最近,自己学着装了下zabbix,颇费了些周折,特此记录一下。


开始时,按照网上提供的一体化安装教程,使用yum install一站式安装LNMP环境,但是在配置zabbix时各种提示找不到相关组件,可能是我安装的时候的问题吧,举个例子如下:

配置zabbix时,提示 libxml2未找到。我根据度娘的指示yum install了php相关的环境:

yum install php php-common php-gd php-mcrypt php-pear php-pecl-memcache php-mhash php-mysql php-xml

但是也没有解决了问题。


没办法,我只好采用源码安装的方式,一步步的自己搭建LNMP环境。


1、源码安装mysql

   安装mysql过程并不复杂,网上教程一搜一大片,这里不在赘述。


   主要说一下用户,我开始时想让zabbix通过root用户访问数据库,可是由于有个空密码root用户的问题,导致zabbix怎么也连不上数据库,报错如下:

   34734:20150924:141539.986 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'root'@'localhost' (using password: NO)


   后来改用其他用户,这个问题解决。附上用户创建及授权等操作:


   Mysql操作:


     1、新建用户

        insert into mysql.user(Host,User,Password) values("%","zabbix",password("zabbix"));

        这么做是不行的,会报错:Field 'ssl_cipher' doesn't have a default value


        应该:1)created user zabbix;

              2)  update user set Password values PASSWORD("zabbix") where user='zabbix';


     2、授权

        grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';

     3、刷新

        flush privileges


    mysql装好后,需要为zabbix导入相关脚本,如果仅作为proxy,只导入第一个脚本即可;如果作为server,需要导三个脚本:


    mysql -uroot -p123 zabbix < database/mysql/schema.sql

    mysql -uroot -p123 zabbix < database/mysql/images.sql

    mysql -uroot -p123 zabbix < database/mysql/data.sql


    注意:这里-u和root之间不能有空格;-p亦然。


2、安装nginx:

   参照www.ttlsa.com


  1、yum install pcre*    #安装pcre,为了支持rewrite

  2、yum install openssl* #安装ssl

  3、安装nginx

    1)./configure --prefix=/usr/local/nginx-1.9.5 \

       --with-http_ssl_module  \

       --with-http_stub_status_module --with-pcre


       --with-http_stub_status_module:支持nginx状态查询

       --with-http_ssl_module:支持https

       --with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持,我使用1.9.5版本,提示不支持这个选项

       --with-pcre:为了支持rewrite重写功能,必须制定pcre


    2)编译成功后,make && make install 安装


   4、启动:/usr/local/nginx-1.9.5/sbin/nginx


      在浏览器中输入 http://localhost,出现欢迎界面,表示nginx安装成功。


3、安装php:

   参考:http://www.ttlsa.com/nginx/nginx-php-5_5/


   ./configure --prefix=/usr/local/php-5.5.29 \

   --with-config-file-path=/usr/local/php-5.5.29/etc --with-bz2 --with-curl \

   --enable-ftp --enable-sockets --disable-ipv6 --with-gd \

   --with-jpeg-dir=/usr/local --with-png-dir=/usr/local \

   --with-freetype-dir=/usr/local --enable-gd-native-ttf \

   --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar \

   --with-gettext --with-libxml-dir=/usr/local --with-zlib \

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

   --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath


    配置:

    cp php.ini-production /usr/local/php-5.5.29/etc/php.ini

    cp /usr/local/php-5.5.29/etc/php-fpm.conf.default /usr/local/php-5.5.29/etc/php-fpm.conf


    启动:

    /usr/local/php-5.5.29/sbin/php-fpm

    php-fpm 关闭:

    kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

    php-fpm 重启:

    kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`


4、前提环境部署好了,测试也没问题了,可以开始安装zabbix了

   设定并安装:

   1、 ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-server \

       --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2

   2、 make && make install


   3、创建用户

      我在这里走了一个弯路,我把用户名设为zab,但是zabbix后来只认zabbix这个用户名,也可能是我不会配置zabbix识别其他用户名。我只好把zab这个用户名改为zabbix,变更方法网上有。


   4、修改配置文件

      # mkdir /etc/zabbix

      # cp config/zabbix_server.conf /etc/zabbix/

      # vim /etc/zabbix/zabbix_server.conf

      DBName=zabbix

      DBUser=root          #这个是用户名

      DBPassword=ttlsapwd  #这个是登录数据库的密码

      DBPort=3306


   5、记录服务名及对应端口号/协议

      cat >> /etc/services <<eof

      zabbix-agent    10050/tcp                           

      zabbix-agent    10050/udp                          

      zabbix-trapper  10051/tcp                            

      zabbix-trapper  10051/udp                             

      eof


    6、zabbix启动:

      /home/zabbix/zabbix222/sbin/zabbix_server


    7、配置管理网站

       # mkdir -p /data/logs/nginx  #创建目录,这个用来存放zabbix的日志

       # mkdir -p /data/site/       #这个存放网站

       # cp -rp frontends/php/* /data/site/php  把zabbix自带的网站内容拷贝到指定目录


    8、在nginx中配置zabbix服务

       server {

         listen 80;

         server_name localhost;

         access_log /data/logs/zabbix.log;

         index index.html index.php index.html;

         root /data/site/php;

         location /

         {

           try_files $uri $uri/ /index.php?$args;

         }

         location ~ ^(.+.php)(.*)$ {

           fastcgi_split_path_info ^(.+.php)(.*)$;

           include fastcgi.conf;

           fastcgi_pass 127.0.0.1:9000;

           fastcgi_index index.php;

           fastcgi_param PATH_INFO $fastcgi_path_info;

         }

       }


     9、如果上述步骤都没问题的话,现在可以在浏览器中输入 http://localhost,出来zabbix的在线配置向导了。

        在向导的第二步,会对相关的配置进行检查,如果有不符合项,比照着更正即可。


     10、一切都OK了,就可以登录了。

        默认用户名:Admin,密码:zabbix。     

评论

© 听雨残荷 | Powered by LOFTER