您的位置:首页 > 运维架构 > Linux

linux6+mysql5.6+php5.6+zabbix3.4安装文档

2017-12-15 10:29 281 查看

1.  基础软件清单及版本列表

软件

下载链接

httpd-2.2.23

 
php-5.6.25

 
mysql-5.6.29

 
zabbix-3.4.4

http://www.zabbix.com/download.php
nginx-1.9.9

 
 

2.  安装Apache

# cd /usr/local
l  上传httpd-2.2.23.tar.gz安装包
# tar zxvf httpd-2.2.23.tar.gz
# cd httpd-2.2.23
# ./configure --prefix=/usr/local/apache2--enable-module=shared
# make && make install

3.  安装nginx

3.1. 基础支持套件

gcc gdb strace libgcc gcc-c++ libpnglibpng-devel freetype libxml2 libxml2-devel zlib zlib-devel glibc glibc-develglib2 glib2-devel bzip2 bzip2-devel curl libevent mysql-devel pcre pcre-devel
# rpm -q gcc gdb strace libgcc gcc-c++libpng libpng-devel freetype libxml2 libxml2-devel zlib zlib-devel glibcglibc-devel glib2 glib2-devel bzip2 bzip2-devel curl libevent mysql-devel pcrepcre-devel

# yum install -y gcc gdb strace libgccgcc-c++ libpng libpng-devel freetype libxml2 libxml2-devel zlib zlib-develglibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl libevent mysql-develpcre pcre-devel
 opensslopenssl-devel 

3.2. 安装

 wgethttp://nginx.org/download/nginx-1.9.9.tar.gz

# cd /usr/local/src

l  上传nginx-1.9.9.tar.gz安装包

# tar zxvf nginx-1.9.9.tar.gz

# cd nginx-1.9.9

#./configure --prefix=/usr/local/nginx --with-http_stub_status_module--with-http_ssl_module
# make && make install

3.3. 检查是否安装成功

 # cd  /usr/local/nginx/sbin

 # ./nginx -t 结果显示:
nginx: the configuration file/usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file/usr/local/nginx/conf/nginx.conf test is successful

3.4. 配置

# vi /usr/local/nginx/conf/nginx.conf

l  在index 后面加上index.php

index index.html index.htm index.php;

l  location项

location ~ \.php$ {

            expires -1s;

            fastcgi_split_path_info ^(.+\.php)(/.+)$;

            include fastcgi_params;

            fastcgi_param PATH_INFO $fastcgi_path_info;

            fastcgi_index index.php;

            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            fastcgi_pass  10.1.34.4:9000;

}

3.5. 启动

 # /usr/local/nginx/sbin/nginx -c/usr/local/nginx/conf/nginx.conf

4.  安装Php

4.1. 基础支持套件

bzip bzip2-devel gcc  gcc-c++ glibc-devel
# rpm -q bzip bzip2-devel  gcc gcc-c++ glibc-devel

# yum install bzipbzip2-devel.x86_64  gcc  gcc-c++ glibc-devel

4.2. 安装

# cd /usr/local/src

l  上传php-5.6.25.tar.gz安装包
# tar zxvf php-5.6.25.tar.gz

# cd php-5.6.25

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

--with-config-file-path=/usr/local/php/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

如果需要支持apache 编译加上--with-apxs2=/usr/local/apache2/bin/apxs

# make && make install

4.3. 复制启动文件

# cd /usr/local/src/php-5.6.25

# cp php.ini-development/usr/local/php/etc/php.ini

 

4.4. PHP配置参数

打开php.ini配置文件,修改如下参数为如下值,否则zabbix安装不了

# vi /usr/local/php/etc/php.ini

max_execution_time= 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize= 2M
max_input_time =300
date.timezone =Asia/Shanghai
 

4.5. 配置apache以支持PHP

# vi /usr/local/apache2/conf/httpd.conf

修改索引页,找到:

<IfModuledir_module>
DirectoryIndex index.html
</IfModule>
 
修改为
<IfModuledir_module>
DirectoryIndex index.html index.php

</IfModule>
接着增加如下内容:

AddTypeapplication/x-httpd-php .php

4.6. 测试php是否安装成功

在Apache安装目录下的htdocs文件夹下新建index.php文件,编辑文件添加如下代码

<?php
phpinfo();?>
重启Apache服务器,在地址栏输入 http://10.1.34.4/index.php 看到PHP相关配置,说明配置成功。

 

5.  安装mysql

5.1. 安装依赖的套件

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

l  新增mysql用户组和组

#groupadd mysql

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

l 新建mysql安装目录

# mkdir -p /usr/local/mysql 新建mysql数据库数据文件目录:

# mkdir -p /data/mysqldb 

5.2. 编译安装

# cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data/mysqldb/ \

-DMYSQL_UNIX_ADDR=/usr/local/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

 l  修改mysql安装目录

# chown -R mysql:mysql /usr/local/mysql

l  修改mysql数据库文件目录

# chown -R mysql:mysql/data/mysqldb

5.3. 启动MySQL

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

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

l   设置开机启动

# chkconfig mysqld on

# service mysqld start

l  配置用户

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

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

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

# vi /etc/profile

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

 export PATH

 l  让配置立即生效

# source /etc/profile

l  修改数据库的root密码:

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

l  或是

# mysqladmin -uroot -p password 123456

Enter password:        这里直接回车

Warning: Using apassword on the command line interface can be insecure.

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

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

6.  zabbix安装

6.1. 监控机安装

6.1.1.  安装依赖套件

net-snmp-devel libxml2-devel libcurl-develpcre-devel gcc gcc-c++ glibc-devel

# rpm -q net-snmp-devel libxml2-devellibcurl-devel pcre-devel gcc gcc-c++ glibc-devel

# yum install net-snmp-devel libxml2-devellibcurl-devel pcre-devel gcc gcc-c++ glibc-devel

6.1.2.  编译安装libevent

# cd /usr/local/src/

l  使用winscp上传libevent-2.0.21-stable.tar.gz安装包

# tar zxvf libevent-2.0.21-stable.tar.gz

# cd libevent-2.0.21-stable

# ./configure

# make && make install

 

6.1.3.  安装服务端及客户端

# cd /usr/local/src

l  上传zabbix安装包

# tar -xzvf zabbix-3.4.4.tar.gz

# cd zabbix-3.4.4

# ./configure --prefix=/usr/local/zabbix/--enable-server \

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

# make

# make install

6.1.4.  创建用户

# groupadd zabbix

# useradd -g zabbix zabbix

6.1.5.  初始化数据库

zabbix server与proxy需要数据库,angent不需要。尤其要注意的是proxy只需要导入一个sql文件,而server一共要导入3个sql文件。

# mysql -uroot -p123456

# mysql> create database zabbix defaultcharset utf8;

# mysql> quit;

# mysql--default-character-set=utf8 -uroot -p123456 zabbix </usr/local/src/zabbix-3.4.4/database/mysql/schema.sql
# mysql--default-character-set=utf8 -uroot -p123456 zabbix </usr/local/src/zabbix-3.4.4/database/mysql/images.sql
# mysql--default-character-set=utf8 -uroot -p123456 zabbix </usr/local/src/zabbix-3.4.4/database/mysql/data.sql

6.1.6.  配置zabbix服务端

# vi/usr/local/zabbix/etc/zabbix_server.conf

ListenPort=10051

SourceIP=10.1.34.4

DBHost=127.0.0.1

DBName=zabbix

DBUser=root

DBPassword=123456

DBPort=3306

 

6.1.7.  启动zabbix server

# cp/usr/local/src/zabbix-3.4.4/misc/init.d/fedora/core5/zabbix_server /etc/init.d/zabbix_server

# /etc/init.d/zabbix_server start

6.1.8.  配置zabbix客户端

# vi/usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1

ListenPort=10050

ServerActive=10.1.34.4

Hostname=Zabbix server

6.1.9.  zabbix客户端启动

# cp/usr/local/src/zabbix-3.4.4/misc/init.d/fedora/core5/zabbix_agentd/etc/init.d/zabbix_agentd
# /etc/init.d/zabbix_agentd start

 

6.2.  zabbix管理网站配置

# cd /usr/local/src/zabbix-3.4.4

# mkdir -p /var/www/html/zabbix

# cp -a frontends/php/*/var/www/html/zabbix

l  重启apache

#/usr/local/apache2/bin/apachectl restart          

6.3. 被监控机安装客户端

6.3.1.  安装依赖套件

pcre-devel gcc gcc-c++ glibc-devel

# rpm -q pcre-devel gcc gcc-c++ glibc-devel

# yum install -y pcre-devel gcc gcc-c++glibc-devel

# cd /usr/local/src

l  上传zabbix安装包

# tar -xzvf zabbix-3.4.4.tar.gz

# cd /usr/local/src/zabbix-3.4.4

# ./configure --prefix=/usr/local/zabbix/--enable-agent

# make && make install

6.3.2.  创建用户

# groupadd zabbix

# useradd -g zabbix zabbix

6.3.3.  配置zabbix客户端

# vi/usr/local/zabbix/etc/zabbix_agentd.conf

Server=10.1.34.4

ListenPort=10050

ServerActive=10.1.34.4

Hostname=10.1.54.1(在页面添加主机的Hostname)

# sed -i's/Server=127.0.0.1/Server=10.1.34.4/g'/usr/local/zabbix/etc/zabbix_agentd.conf (更改监控机IP)

# sed -i 's/#ListenPort=10050/ListenPort=10050/g' /usr/local/zabbix/etc/zabbix_agentd.conf (打开监听端口)

# sed -i's/ServerActive=127.0.0.1/ServerActive=10.1.34.4/g'/usr/local/zabbix/etc/zabbix_agentd.conf (更改监控机IP)
# sed -i's/Hostname=Zabbix server/Hostname=10.1.54.1/g'/usr/local/zabbix/etc/zabbix_agentd.conf             (更改被监控机 Hostname,Hostname为在zabbix网页上添加主机的Hostname,注意更改对应的Hostname)
 
 

6.3.4.  zabbix客户端启动

# cp/usr/local/src/zabbix-3.4.4/misc/init.d/fedora/core5/zabbix_agentd/etc/init.d/zabbix_agentd
# sed -i's#ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"#ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"#g'/etc/init.d/zabbix_agentd
# /etc/init.d/zabbix_agentd start

  

6.4. 在线配置zabbix

浏览器打开http://10.1.34.4/zabbix

安装界面,包括欢迎界面一共6步.

6.4.1.  登陆zabbix

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



如下是zabbix首页

 

7.  邮件报警

7.1. 使用Zabbix服务端本地邮箱账号发送邮件

7.1.1.  安装sendmail或者postfix

yum install sendmail #安装

service sendmail start #启动

chkconfig sendmail on #设置开机启动

yum install postfix

service postfix start

chkconfig postfix on

CentOS 5.x 默认已经安装好sendmail

CentOS 6.x 默认已经安装好postfix

sendmail和postfix只需要安装一个即可并开启服务即可。

7.1.2.  安装邮件发送工具mailx

yum install mailx #安装

CentOS 5.x 编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。

yum remove mailx #卸载系统自带的旧版mailx

下载mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解压

cd mailx-12.4 #进入目录

make #编译

make installUCBINSTALL=/usr/bin/install #安装

ln -s /usr/local/bin/mailx /bin/mail #创建mailx到mail的软连接

ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接

whereis mailx #查看安装路径

mailx -V #查看版本信息

echo "zabbix test mail" |mail -s"zabbix" xxx@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbixtest mail,发送到的邮箱:xxx@163.com

7.1.3.  配置Zabbix服务端邮件报警

7.1.3.1.       打开Zabbix

管理-示警媒介类型-Email

名称:Email

类型:电子邮件

SMTP伺服器:zabbix.sa.huanqiu.com

SMTP HELO:zabbix.sa.huanqiu.com

SMTP电邮:zabbix@zabbix.sa.huanqiu.com

已经用:勾选

存档

备注:zabbix.sa.huanqiu.com为Zabbix监控端主机名称,建议修改,否则使用默认的localhost.localdomain发送邮件会被当做垃圾邮件拦截。

7.1.3.2.       设置Zabbix用户报警邮箱地址

组态-用户-Admin (Zabbix Administrator)

切换到示警媒介

添加

类型:Email

收件人:xxx@163.com

其他默认即可,也可以根据需要设置

状态:已启用

存档

7.1.3.3.       设置Zabbix触发报警的动作

组态-动作-创建动作

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

切换到操作选项

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

用户:勾选Admin

选择

仅送到:Email

存档

7.1.4.  测试Zabbix报警

关闭Zabbix客户端服务

service zabbix_agentd stop

查看xxx@163.com邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件

使用Zabbix服务端本地邮箱账号发送邮件设置完成。

7.2. 使用外部邮箱账号发送报警邮件设置

7.2.1.  关闭sendmail或者postfix

service sendmail stop #关闭

chkconfig sendmail off #禁止开机启动

service postfix stop

chkconfig postfix off

备注:

使用外部邮箱账号时,不需要启动sendmail或者postfix

如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱

配置信息。

7.2.2.  安装邮件发送工具mailx

yum install mailx #安装

CentOS 5.x 编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。

yum remove mailx #卸载系统自带的旧版mailx

下载mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解压

cd mailx-12.4 #进入目录

make #编译

make installUCBINSTALL=/usr/bin/install #安装

ln -s /usr/local/bin/mailx /bin/mail #创建mailx到mail的软连接

ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接

whereis mailx #查看安装路径

mailx -V #查看版本信息

7.2.3.  配置Zabbix服务端外部邮箱

vi /etc/mail.rc #编辑,添加以下信息

set from=xxx@163.com smtp=smtp.163.com

setsmtp-auth-user=xxx@163.com smtp-auth-password=123456

set smtp-auth=login

:wq! #保存退出

echo "zabbix test mail" |mail -s"zabbix" yyy@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbixtest mail,发送到的邮箱:yyy@163.com

#这时候,邮箱yyy@163.com会收到来自xxx@163.com的测试邮件

7.2.4.  配置Zabbix服务端邮件报警

7.2.4.1.       打开Zabbix

管理-示警媒介类型-创建媒体类型

名称:Sendmail

类型:脚本

脚本名称:sendmail.sh

已启用:勾选

存档

7.2.4.2.       设置Zabbix用户报警邮箱地址

组态-用户-Admin (Zabbix Administrator)

切换到示警媒介-添加

类型:Sendmail

收件人:xxx@163.com

其他默认即可,也可

以根据需要设置

状态:已启用

存档

7.2.4.3.       设置Zabbix触发报警的动作

组态-动作-创建动作

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

切换到操作选项

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

选择用户:Admin

选择

仅送到:Sendmail

存档

7.2.4.4.       添加Zabbix服务端邮件发送脚本

cd/usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录

vi sendmail.sh #编辑,添加以下代码

#!/bin/sh

echo "$3" | mail -s"$2" $1

:wq! #保存退出

chown zabbix.zabbix/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本所有者为zabbix用户

chmod +x/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本执行权限

五、测试Zabbix报警

关闭Zabbix客户端服务

service zabbix_agentd stop

查看xxx@163.com邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件

使用外部邮箱账号发送报警邮件设置完成。

至此,Zabbix邮件报警设置完成。

          
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: