ubuntu基於apache+postgresql編譯安裝zabbix

1、安裝環境php

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

2、選擇緣由前端

  選擇postgresql數據庫的緣由,除了是由於 zabbix 的數據業務相對複雜,比使用 mysql 更加優點,並且mysql的數據表容易壞,時常須要修復。如今雖然nginx比較流行,但對於高穩定,且不須要高併發的應用,推薦仍是用apache,且使用 prefork 模式。python

3、安裝準備mysql

  建立zbx系統用戶用於管理與zabbix運行相關的軟件nginx

$ useradd -M -r -d /zbx zbx $ apt-get install build-essential # 安裝編譯環境

  接下來爲系統添加語系,只有這樣zabbix的多語言選項纔會生效:sql

$ 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 #當即更新系統的語系

4、安裝Postgresql數據庫

  下載並安裝apache

$ 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

  設置環境變量ubuntu

$ 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

5、安裝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 you@example.com 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

6、安裝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 ...

7、安裝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。

8、設置開機啓動

$ 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中不能刪除,不然不會生效。
相關文章
相關標籤/搜索