ubuntu基于apache+postgresql编译安装zabbix

一、安装环境

  ubuntu 14.04LTS Postgresql-9.4.3 zabbix-2.4.5 httpd-2.4.12 php-5.6.10

二、选择原因

  选择postgresql数据库的原因,除了是因为 zabbix 的数据业务相对复杂,比使用 mysql 更加优势,而且mysql的数据表容易坏,时常需要修复。现在虽然nginx比较流行,但对于高稳定,且不需要高并发的应用,推荐还是用apache,且使用 prefork 模式。

三、安装准备

  创建zbx系统用户用于管理与zabbix运行相关的软件

$ useradd -M -r -d /zbx zbx
$ apt-get install build-essential # 安装编译环境

  接下来为系统添加语系,只有这样zabbix的多语言选项才会生效:

$ vim /var/lib/locales/supported.d/zabbix #建立一个新文件,内容如下:
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
bg_BG.UTF-8 UTF-8
fr_FR.UTF-8 UTF-8
de_DE.UTF-8 UTF-8
id_ID.UTF-8 UTF-8
it_IT.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
pt_BR.UTF-8 UTF-8
pt_PT.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
sk_SK.UTF-8 UTF-8
uk_UA.UTF-8 UTF-8
$ locale-gen #立即更新系统的语系

四、安装Postgresql

  下载并安装

$ apt-get install libreadline-dev zlib1g-dev libssl-dev libxml2-dev libxslt-dev python-dev # 安装依赖
$ wget http://ftp.postgresql.org/pub/source/v9.4.3/postgresql-9.4.3.tar.bz2
$ tar –jxvf postgresql -C /usr/local/src
$ cd postgresql-9.4.3
$ ./configure
--prefix=/usr/local/postgresql
--with-segsize=8
--with-wal-segsize=64
--with-wal-blocksize=64
--with-python
--with-openssl
--with-libxml
--with-libxslt
--enable-thread-safety
$ make
$ make install

  设置环境变量

$ vim /etc/profile.d/pgsql.sh
export PGHOME=/usr/local/postgresql
export PGDATA=$PGHOME/data
export PATH=$PATH:$PGHOME/bin
export LD_LIBRARY_PATH=$PGHOME/lib/
alias pg_stop=‘su - fmc -c "pg_ctl -D $PGDATA stop"‘
alias pg_start=‘su - fmc -c "pg_ctl -D $PGDATA -l $PGHOME/pgsql.log start"‘$ source /etc/profile.d/pgsql.sh

  初始化数据库

$ su - zbx
No directory, logging in with HOME=/
$ initdb -D /usr/local/postgresql/data -E UTF8 --locale=C -U zbx -W

  将postgresql的动态链接库为系统共享,编译zabbix时需要:

$ vim /etc/ld.so.conf.d/pgsql.conf
/zabbix/postgresql/lib
$ ldconfig # 让其立即生效

  启动 postgresql,并为 zabbix 建立数据库及用户:

$ pg_start
$ psql -U zbx --dbname=postgres
create database zabbix;
create user zbx;
grant all on database zabbix to zbx;
\q

五、安装apache

  安装依赖

$ apt-get install libpcre3-dev
$ wgethttp://mirror.bit.edu.cn/apache/apr/apr-1.5.2.tar.gz
$ tar -zxvf apr/apr-1.5.2.tar.gz
$ cd apr-1.5.2/
$ ./configure && make
$ make install
$ wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
$ tar -zxvf apr-util-1.5.4.tar.gz
$ cd apr-util-1.5.4/
$ ./configure --with-apr=/usr/local/apr && make
$ make install

  编译安装 apache:

$ wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.12.tar.gz
$ tar -zxvf /httpd-2.4.12.tar.gz
$ cd httpd*
$ ./configure --prefix=/usr/local/httpd --enable-so --enable-mods-shared=most --with-mpm=prefork
$ make  && make install

  配置vim /usr/local/httpd/conf/httpd.conf,请根据默认配置添加替换或注释以下关键字段:

#ServerAdmin [email protected]
ServerName 192.168.45.127:80
User zbx
Group zbx
Include conf/extra/httpd-mpm.conf
<IfModule mime_module>
        AddHandler application/x-httpd-php .php
</IfModule>
DocumentRoot "/usr/share/html/zabbix"
<Directory "/usr/share/html/zabbix">
</Directory>
<IfModule dir_module>
        DirectoryIndex index.php
</IfModule>    

  配置/usr/local/httpd/conf/extra/httpd-mpm.conf,请根据默认配置添加替换或注释以下关键字段:

<IfModule mpm_prefork_module>
StartServers 1
MinSpareServers 2
MaxSpareServers 5
MaxRequestWorkers 30
MaxConnectionsPerChild 100
</IfModule>

  启动apache:

$ cd /usr/local/httpd/
$ ./bin/apachectl start

六、安装PHP

  安装依赖

$ apt-get install libbison-dev re2c libxml2-dev libjpeg-dev libpng-dev libfreetype6-dev

  安装php,将其作为apache的模块运行:

$ wget http://tw1.php.net/distributions/php-5.6.10.tar.bz2
$ tar -jxvf php-5.6.10.tar.bz2
$ cd php*
$ ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/httpd/bin/apxs --with-pdo-pgsql=/usr/local/postgresql --with-pgsql=/usr/local/postgresql --with-gd --with-png-dir --with-jpeg-dir --with-freetype-dir --enable-bcmath --enable-ctype --enable-sockets --enable-mbstring --with-gettext --disable-debug
$ make
$ make install
$ cp php.ini-production /fmc/php/etc/php.ini #复制标准配置文件

  配置php.ini,请根据默认配置添加替换以下关键字段:

$ vim /usr/local/php/etc/php.ini
...
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
...

七、安装zabbix

  安装依赖

$ apt-get install gettext libopenipmi-dev ipmitool libssh-dev fping libcurl4-openssl-dev libiksemel-dev libsnmp-dev

  安装zabbix

$ wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix/zabbix_2.4.5.orig.tar.gz
$ tar -zxvf zabbix* && cd zabbix*
$ ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-postgresql=/usr/local/postgresql/bin/pg_config --with-net-snmp --with-jabber --with-libxml2 --with-libcurl --with-openipmi --enable-ipv6
$ make install

  初始化zabbix数据库:

$ cd database/postgresql # 源目录下
$ psql --username=fmc --dbname=zabbix --file=schema.sql #注意数据导入的顺序
$ psql --username=fmc --dbname=zabbix --file=images.sql
$ psql --username=fmc --dbname=zabbix --file=data.sql

  配置zabbix的文件:

$ vim /usr/local/zabbix/etc/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zbx
DBPassword=zbx

  启动zabbix-server、zabbix-agentd:

$ cd /usr/local/zabbix
$./sbin/zabbix_agentd start #启动代理,用于监视服务器自身
$./sbin/zabbix_server start #启动服务守护进程

  如果启动server时报错:error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory,是在设置postgreSQL环境变量时乜有配置LD_LIBRARY_PATH。

  配置zabbix的前端WEB文件:

$ cd zabbix-2.4.5/frontends/ # 源目录下
$ mkdir -p /usr/share/html/zabbix/
$ cp -ar php/* /usr/share/html/zabbix/
$ chown -R zbx:zbx /usr/share/html/zabbix/

  用浏览器访问 zabbix 吧:http://192.168.45.127t, 前端的安装都是图形化操作的。
  安装完成后,你就可以使用了。默认的超级用户是(注意大小写) Admin,密码是 zabbix。

八、设置开机启动

$ vim /etc/rc.local
su - zbx -c "pg_ctl -D $PGDATA -l $PGHOME/pgsql.log start"
cd /usr/local/zabbix && ./sbin/zabbix_agentd start
cd /usr/local/zabbix && ./sbin/zabbix_server start
cd /usr/local/httpd && ./bin/apachectl start
exit 0 #这句在ubuntu中不能删除,否则不会生效。
时间: 2024-10-10 03:37:32

ubuntu基于apache+postgresql编译安装zabbix的相关文章

基于lamp环境编译安装zabbix

环境:lamp 系统:centos 6 前提:编译安装软件需要安装开发环境,关闭iptables和selinux # yum groupinstall "Development Tools"  "Server Platform Development" 一.编译安装httpd httpd2.4需要apr.apr-util依赖包 1.编译安装apr.apr-util # tar xf apr-1.5.0.tar.bz2  # cd apr-1.5.0 # ./conf

CentOS6上编译安装ZABBIX 3.0

0x00  实验环境 系统:CentOS-6.8-x86_64 httpd:2.4.20 mysql:5.6.31 php:5.6.22 IP:10.0.0.4 0x01  编译安装zabbix3.0 1.下载zabbix源码包 [[email protected] src]# cd /usr/local/src/ [[email protected] src]# wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Late

编译安装zabbix 3.0及分开部署配置详解

实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP及角色分配如拓扑 下载地址:试验中用到mariadb软件的下载地址,http://pan.baidu.com/s/1bnnYiMr 实验拓扑: 一.准备工作 1.修改hostname和hosts文件为如下表格中内容: 说明:mysql是zabbix数据存放主机,server是zabbix主服务主机,web是zabbix前端展示主机,agent是被监控主机.通

编译安装zabbix error: MySQL library not found

本人用编译方式安装的MySQL ,用编译安装zabbix 报checking for mysql_config... configure: error: MySQL library not found 用--with-mysql=/usr/local/mysql/也不行 由"mysql_config... /usr/local/mysql/"得到启发 查找mysql_config #find / -name "mysql_config*" /usr/local/my

postgresql编译安装与调试(二)

接前文postgresql编译安装与调试(一),继续说说postgresql的编译安装与调试. 上一篇已经详细说明了如何在Linux系统上编译安装postgresql,这次我们在此基础上简单讲讲如何在linux系统上调试和追踪代码. 我记得之前看过一篇关于posgresql的文章,postgresql最早只有20万左右的代码量,而如今已经过100万行了,如此巨大的代码量,在没有纲领的前提下简直是盲人摸象. 为方便调试工作,在进入具体的调试之前,我们先来好好了解下postgresql的代码体系结构

编译安装zabbix服务端时遇到的问题

前面在编译安装zabbix时,遇到了不少的问题,通过百度已经解决了,问题如下 在编译时遇到的问题: 问题一:configure: error: unixODBC library not found 解决方法:yum install unixODBC-devel -y 问题二:configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config 解决方法:yum install net-snmp-devel -y

centos7编译安装zabbix

1.安装MySQL 从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!使用系统自带的repos安装很简单:# yum install -y mariadb mariadb-server启动mariadb# systemctl start mariadb之前的服务管理命令还可以用# service mariadb start设置开机自启动# systemctl enable mariadb安全初始化,设置root密码等# mysql_secure_installation测

Apache手工编译安装(内附软件包)

Apache http server 是开源软件的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,apache服务器可以运行在Linux UNIX Windows等多种操作系统平台. Apache的主要特点 开放源代码 跨平台应用 支持各种Web编程语言 模块化设计 运行非常稳定 良好的安全性 环境部署 redhat6.5系统 ip地址:192.168.100.101 相关软件包:百度云 1.查看系统是否安装httpd服务,如有卸载. # rpm -q httpd httpd-2.2.15

PostgreSQL编译安装

一.PostgreSQL简介 PostgreSQL是目前功能最强大的开源数据库,支持丰富的数据类型和自定义类型,且它提供了丰富的接口,可以轻易的扩展它的功能. 与其他数据库相比,PostgreSQL有以下优势: ●PostgreSQL是目前功能最强大的开源数据库 ●稳定可靠:PostgreSQL是唯一能做到数据零丢失的开源数据库 ●支持广泛:PostgreSQL支持大量的主流开发语言,包括C.C++.Perl.Python.Java.PHP等 ●社区活跃:基本上每三个月会推出一个新的补丁版本,这