zabbix(音同 z?bix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
1、防火墙的配置
#Firewall configuration written by system-config-securitylevel
#Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
2、关闭 SELINUX,vim /etc/selinux/config
SELINUX=enforcing #注释掉
SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加setenforce 0 #使配置立即生效
1、卸载系统自带的 mysql 和 http 和 openssl
rpm -e --nodeps mysql httpd
2、安装编译工具及库文件(使用yum命令安装)
yum install -y apr autoconf automake bison bzip2 bzip2 cloog-ppl compat cpp curl curl-devel fontconfig fontconfig-devel freetype freetype freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng libpng-devel libjpeg libsepol-devel libselinux-devel libstdc++-devel libtool libgomp libxml2 libxml2-devel libXpm libX libtiff libtiff make mpfr ncurses ntp openssl nasm nasm openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* wget zlib-devel
1、安装 cmake
tar zxvf cmake-3.0.2.tar.gz
cd cmake-3.0.2
./configure
make
make install
2、安装 MySQL
groupadd mysql #添加mysql组
useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql 组,不允许mysql 用户直接登录系统
mkdir -p /data/mysql #创建MySQL数据库存放目录
chown -R mysql:mysql /data/mysql #设置MySQL数据库存放目录权限
mkdir -p /usr/local/mysql #创建MySQL安装目录
tar zxvf mysql-5.5.22.tar.gz
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=gbk -DDEFAULT_COLLATION=gbk_chinese_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DSYSCONFDIR=/etc -DWITH_SSL=yes
make
make installrm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除)
cd /usr/local/mysql/scripts/ #进入 MySQL 安装目录
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成 mysql 系统数据库
ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc 目录的软连接
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启劢
chmod 755 /etc/init.d/mysqld #增加执行权限
chkconfig mysqld on #加入开机启劢vim /etc/rc.d/init.d/mysqld #编辑启动文件
basedir=/usr/local/mysql
datadir=/data/mysqlservice mysqld start #启动mysql服务
vim /etc/profile #把 mysql 服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/mysql/binsource /etc/profile #使配置立刻生效
下面这两行把 myslq 的库文件链接到系统默认的位置,这样你在编译类似 PHP 等软件时可以不用指定 mysql 的库文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysqlmkdir /var/lib/mysql #创建目录
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接
mysql_secure_installation #设置Mysql密码,根据提示按Y回车输入2次密码
编译注解:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装目录
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock #Unix socket 文件路径,自定义此路径防报错
-DDEFAULT_CHARSET=gbk #默认字符
-DDEFAULT_COLLATION=gbk_chinese_ci #校验字符
-DEXTRA_CHARSETS=all #安装所有扩展字符集
-DWITH_MYISAM_STORAGE_ENGINE=1 #安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 #安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 #安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 #安装 blackhole 存储引擎
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1 #安装 frderated 存储引擎
-DWITH_READLINE=1 #快捷键功能
-DENABLED_LOCAL_INFILE=1 #允许从本地导入数据
-DMYSQL_DATADIR=/data/mysql #数据库存放目录
-DMYSQL_USER=mysql #数据库属主
-DMYSQL_TCP_PORT=3306 #数据库端口
-DSYSCONFDIR=/etc #MySQL 配辑文件
-DWITH_SSL=yes #数据库 SSL
3、安装 pcre
tar zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure --prefix=/usr/local/pcre
make && make install
4、安装 openssl
tar zxvf openssl-1.0.1j.tar.gz
cd openssl-1.0.1j
./config --prefix=/usr/local/openssl
make && make installvim /etc/profile #把 openssl 服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/openssl/binsource /etc/profile #使配置立刻生效
5、安装 zlib
tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make && make install
6、安装 Nginx
groupadd www
useradd -g www www -s /bin/false
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/opt/openssl-1.0.1j --with-zlib=/opt/zlib-1.2.11 --with-pcre=/opt/pcre-8.38
make && make install
#把Nginx加入系统启劢
cp /opt/nginx /etc/rc.d/init.d/nginx
#增加执行权限
chmod 755 /etc/init.d/nginx
#加入开机启劢
chkconfig nginx on
#启动Nginx服务
service nginx start注意:--with-openssl=/usr/local/openssl-1.0.1j --with-zlib=/usr/local/zlib-1.2.11 --with-pcre=/usr/local/pcre-8.38 指向的是源码包解压的路径,而不是安装的路径,否则会报错
7、安装 yasm
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && make install
8、安装 libmcrypt
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
9、安装 libvpx
tar -xjf libvpx-v1.3.0.tar.bz2
cd libvpx-1.3.0
./configure --prefix=/usr/local/libvpx --enable-shared --enable-vp9
make && make install
10、安装 tiff
tar zxvf tiff-4.0.4.tar.gz
cd tiff-4.0.4
./configure --prefix=/usr/local/tiff --enable-shared
make && make install
11、安装 libpng
tar zxvf libpng-1.6.34.tar.gz
cd libpng-1.6.34
./configure --prefix=/usr/local/libpng --enable-shared
make && make install
12、安装 freetype
tar zxvf freetype-2.5.4.tar.gz
cd freetype-2.5.4
./configure --prefix=/usr/local/freetype --enable-shared --without-png
make && make install
13、安装 jpeg
tar zxvf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure --prefix=/usr/local/jpeg --enable-shared
make && make install
14、安装 libgd
tar zxvf libgd-2.1.0.tar.gz
cd libgd-2.1.0
./configure --prefix=/usr/local/libgd --enable-shared --with-jpeg=/usr/local/jpeg --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/freetype --with-xpm=/usr/ --with-tiff=/usr/local/tiff --with-vpx=/usr/local/libvpx
make && make install
15、安装 t1lib
tar zxvf t1lib-5.1.2.tar.gz
cd t1lib-5.1.2
./configure --prefix=/usr/local/t1lib --enable-shared
make without_doc
make install
16、安装 php
注意:如果系统是 64 位,请执行以下两条命令,否则安装 php 会出错(32 位系统不需要执行)
cp -frp /usr/lib64/libltdl.so* /usr/lib/
cp -frp /usr/lib64/libXpm.so* /usr/lib/
tar -zvxf php-5.6.3.tar.gz
cd php-5.6.3
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-vpx-dir=/usr/local/libvpx/ --with-zlib-dir=/usr/local/zlib --with-t1lib=/usr/local/t1lib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype
make && make install
cp /opt/php-7.2.3/php.ini-production /usr/local/php/etc/php.ini #复制 php 配置文件到安装目录
rm -rf /etc/php.ini #删除系统自带配置文件
ln -s /usr/local/php/etc/php.ini /etc/php.ini #添加软链接到 /etc 目录下
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf #拷贝模板文件为 php-fpm 配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf #拷贝模板文件
ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf #添加软链接到 /etc 目录下vim /usr/local/php/etc/php-fpm.conf #编辑
user = www #设置 php-fpm 运行账号为 www,第 148 行
group = www #设置 php-fpm 运行组为 www,第 149 行
pid = run/php-fpm.pid #取消前面的分号,第 25 行设置 php-fpm 开机启劢
cp /opt/php-7.2.3/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm 到启劢目录
chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
chkconfig php-fpm on #设置开机启劢vim /usr/local/php/etc/php.ini #编辑配置文件
找到:disable_functions = #第 305 行
修改为:disable_functions =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,etservbyport,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,osix_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
#列出 PHP 可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
找到:;date.timezone = #第 928 行
修改为:date.timezone = PRC #取消前面的分号,设置时区
找到:expose_php = On #第 366 行
修改为:expose_php = Off #禁止显示 php 版本的信息
找到:short_open_tag = Off #第 202 行
修改为:short_open_tag = ON #支持 php 短标签
找到: ;opcache.enable=0 #第 1878 行
修改为 opcache.enable=1 #取消前面的分号,php 支持 opcode 缓存
找到:;opcache.enable_cli=0 #第 1881 行
修改为:opcache.enable_cli=1 #取消前面的分号,php 支持 opcode 缓存
在最后一行添加:zend_extension=opcache.so #开启 opcode 缓存功能配置 nginx 支持 php
vim /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改
user www www; #首行 user 去掉注释,修改 Nginx 运行组为 www www;
必须/usr/local/php/etc/php-fpm.conf 中的 user,group 配置相同,否则 php 运行出错
index index.html index.htm index.php; #添加 index.php,第 45 行
#pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ { #取消前面的注释,第 65 行
root html; #取消前面的注释,第 66 行
fastcgi_pass 127.0.0.1:9000; #取消前面的注释,第 67 行
fastcgi_index index.php; #取消前面的注释,第 68 行
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #取消前面的注释,第 69 行
include fastcgi_params; #取消前面的注释,第 70 行
} #取消前面的注释,第 71 行
#取消 FastCGI server 部分 location 的注释,注意 fastcgi_param 行的参数,改为$document_root$fastcgi_script_name,戒者使用绝对路径/etc/init.d/nginx restart #重启 nginx
service php-fpm start #启劢 php-fpm
cd /usr/local/nginx/html/ #进入 nginx 默认网站根目录
rm -rf /usr/local/nginx/html/* #删除默认测试页
vi index.php #新建 index.php 文件
<?php
$conn=mysql_connect(‘127.0.0.1‘,‘root‘,‘‘);
if ($conn){
echo "LNMP platform connect to mysql is successful!";
}else{
echo "LNMP platform connect to mysql is failed!";
}
phpinfo();
?>
:wq! #保存退出
chown www.www /usr/local/nginx/html/ -R #设置目录所有者
chmod 700 /usr/local/nginx/html/ -R #设置目录权限
1、将 phpMyAdmin 解压到你的网站根目录下:/usr/local/nginx/html/
tar zxvf phpMyAdmin-4.3.11.1-all-languages.tar.gz -C /usr/local/nginx/html/
2、解压后重命名为:phpMyAdmin
cd /usr/local/nginx/html/
mv phpMyAdmin-4.3.11.1-all-languages phpMyAdmin
3、修改 config.default.php 文件
cd /usr/local/nginx/html/phpMyAdmin/libraries/
编辑 config.default.php 文件,依次找到下面各项:
默认配置
$cfg[‘PmaAbsoluteUri‘] = ‘‘; #第 39 行
$cfg[‘Servers‘][$i][‘host‘] = ‘localhost‘; #第 117 行
$cfg[‘Servers‘][$i][‘port‘] = ‘‘; #第 124 行
$cfg[‘Servers‘][$i][‘user‘] = ‘root‘; #第 252 行
fg[‘Servers‘][$i][‘password‘] = ‘‘; #第 259 行
$cfg[‘Servers‘][$i][‘auth_type‘] = ‘cookie‘; #第 230 行
修改配置
$cfg[‘PmaAbsoluteUri‘] = ‘192.168.30.199/phpMyAdmin ‘;
$cfg[‘Servers‘][$i][‘host‘] = ‘127.0.0.1‘;
$cfg[‘Servers‘][$i][‘port‘] = ‘‘;
$cfg[‘Servers‘][$i][‘user‘] = ‘root‘;
$cfg[‘Servers‘][$i][‘password‘] = ‘123456‘;
$cfg[‘Servers‘][$i][‘auth_type‘] = ‘cookie‘;
配置解释
填写 phpmyadmin 的访问网址。
填写 mysql 服务器的 IP,如果 phpMyAdmin 和 mysql 是在同一台服务器,用默认 localhost。因为我的主机名是 yunwei.localadmin 所以我用 127.0.0.1。如果不在一起,就用数据库 IP 地址。
mysql 端口号,默认 3306,可以不填。
填写 mysql 用户名。
填写 mysql 用户名的密码。
在此有四种模式可供选择,cookie,http,HTTP,config
config 方式即输入 phpmyadmin 的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。
当该项设置为 cookie,http 或 HTTP 时,登录 phpmyadmin 需要数据用户名和密码进行验证,,具体如下:
PHP 安装模式为 Apache,可以使用 http 和 cookie;
PHP 安装模式为 CGI,可以使用 cookie
.
4、service nginx restart #重启 nginx 服务
1、创建 zabbix 数据库,创建 zabbix 账号
mysql -u root -p #进入 mysql 控制台,密码为空
create database zabbix character set utf8; #创建数据库 zabbix,并且数据库编码使用 utf8
#创建新账号 zabbix,密码为:123456。新账号对 zabbix 数据库具有所以权限,并且允许账户 zabbix 能从本机连接到数据库 zabbix
grant all on zabbix.* to ‘zabbix‘@‘127.0.0.1‘ identified by ‘123456‘ with grant option;
flush privileges; #刷新系统授权表
2、导入 zabbix 数据库
tar zxvf zabbix-2.2.6.tar.gz #解压
ls /opt/zabbix-2.2.6/database/mysql #列出文件,可以看到有 schema.sql、images.sql、data.sql 这三个文件
mysql -u root -p #进入 MySQL 控制台
use zabbix #进入数据库
source /opt/zabbix-2.2.6/database/mysql/schema.sql #导入脚本文件到 zabbix 数据库
source /opt/zabbix-2.2.6/database/mysql/images.sql #导入脚本文件到 zabbix 数据库
source /opt/zabbix-2.2.6/database/mysql/data.sql #导入脚本文件到 zabbix 数据库
flush privileges; #刷新系统授权表
3、安装 zabbix
groupadd zabbix #创建用户组 zabbix
useradd zabbix -g zabbix -s /in/falsbe #创建用户 zabbix,并且把用户 zabbix 加入到用户组 zabbix 中
yum install net-snmp-deve #安装依赖包
cd /opt/zabbix-2.2.6 #进入安装目录
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/local/mysql/bin/mysql_config
make && make install
4、添加 zabbix 服务对应的端口
vi /etc/services #编辑,在最后添加以下代码
#Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
5、修改 zabbi_server 配置文件
vi /usr/local/zabbix/etc/zabbix_server.conf
DBHost=127.0.0.1 #数据库 IP 第 77 行,这里千万不要用主机名
DBName=zabbix #数据库名称,第 87 行
DBUser=zabbix #数据库账号,第 103 行
DBPassword=123456 #数据库密码,第 111 行
6、修改 zabbi_agentd 配置文件
vi /usr/local/zabbix/etc/zabbix_agentd.conf
Server=127.0.0.1 #修改 Zabbix Server 服务器 IP,第 81 行
ServerActive=127.0.0.1 #修改 Zabbix Server 服务器 IP,第 122 行
Hostname=Zabbix server 第 133 行
7、添加开机启劢脚本
cp /opt/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server
/etc/rc.d/init.d/zabbix_server #服务端
cp /opt/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd
/etc/rc.d/init.d/zabbix_agentd #客户端
chmod +x /etc/rc.d/init.d/zabbix_server #添加脚本执行权限
chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限
chkconfig zabbix_server on #添加开机启劢
chkconfig zabbix_agentd on #添加开机启劢
8、修改 zabbix 开机启劢脚本中的 zabbix 安装目录
vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix 安装目录vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix 安装目录
9、配置 web 站点
cp -r /opt/zabbix-2.2.6/frontends/php/ /usr/local/nginx/html/zabbix/
chown www.www -R /usr/local/nginx/html/zabbix/
service zabbix_server start #启劢 zabbix 服务端
service zabbix_agentd start #启劢 zabbix 客户端
10、修改 php 配置文件参数
vi /etc/php.ini #编辑修改
post_max_size =16M #POST 方法提交最大限制,第 663 行
max_execution_time =300 #脚本超时时间,第 375 行
max_input_time =300 #第 385 行vi /usr/local/php/etc/php-fpm.conf #编辑修改
request_terminate_timeout = 300 #第 446 行service php-fpm restart #重启 php-fpm
访问网址http://IP/zabbix
原文地址:http://blog.51cto.com/13444271/2113081