先配置好LAMP
1、先安裝好mysql(在此略)
2、yum install openssl*
tar -zxvf httpd-2.2.15.tar.gz
cd httpd-2.2.15
./configure --prefix=/usr/local/apache --enable-modules --enable-ssl --with-mysql=/usr/local/mysql/ --enable-module=so
make ; make install
2、yum install curl*
tar -zxvf zlib-1.2.3.tar.gz
./configure --prefix=/usr/local/zlib
make;make install
64位應該還有點問題。我後面重新編譯了此軟體包。(以下為64位安裝)
cd zlib-1.2.3
CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/zlib/
make clean
yum install gcc
tar -zxvf libpng-1.2.31.tar.gz
cd libpng-1.2.31
./configure --prefix=/usr/local/libpng
tar -zxvf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local/freetype
tar -zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b/
mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
64位出現報錯,按以下安裝
cp /usr/share/libtool/config.guess .
cp /usr/share/libtool/config.sub .
yum install gettext
tar -zxvf fontconfig-2.4.2.tar.gz
cd fontconfig-2.4.2
./configure --with-freetype-config=/usr/local/freetype/bin/freetype-config --with-expat=builtin
yum install fontconfig
tar -zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
CPPFLAGS="-I/usr/local/freetype/include -I/usr/local/jpeg/include -I/usr/local/libpng/include -I/usr/local/gettext/include" ./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-png=/usr/local/libpng/ --with-jpeg=/usr/local/jpeg/ --with-freetype=/usr/local/freetype/ --with-gettext=/usr/local/gettext/
tar -zxvf libxml2-2.6.30.tar.gz
cd libxml2-2.6.30
./configure --prefix=/usr/local/libxml2
yum install libxslt
tar -zxvf php-5.2.6.tar.gz
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --enable-ftp --enable-sockets --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg/ --with-zlib-dir=/usr/local/zlib/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --enable-bcmath --enable-soap --enable-mbstring --with-gettext=/usr/local/gettext
需要安裝gettext
cp php.ini-dist /usr/local/php/lib/php.ini
#cp /root/php-5.2.6/php.ini-dist /usr/local/php/lib/php.ini
#vi /usr/local/php/lib/php.ini
1.将extension=php_mysql.dll前面的#去掉
2.将腳本逾時的30s(PHP max execution time) 改成300s
3.将date.timezone ="asia/shanghai"
注意:/usr/local/apache/conf/httpd.conf加上如下代碼使apache執行PHP
LoadModule php5_module modules/libphp5.so (這段代碼肯定可以在httpd.conf找到,如果找不到則需要重新編譯了)
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
(這兩行是讓apache知道php的檔案類型)
DirectoryIndex index.html 改成DirectoryIndex index.html index.php
讓apache預設的首頁也支援index.php
注意:重新開機apache伺服器,使得其加載php解析
在預設的/usr/local/apache/htdocs下建立info.php(給予777權限可執行權限)
<?php
phpinfo();
?>
yum install libssh
yum install net-snmp net-snmp-devel
或安裝
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath
tar -zxvf zabbix-1.8.9.tar.gz
cd zabbix-1.8.9
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl
mysql> create database zabbix character set utf8;
grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
# cat ./create/schema/mysql.sql |mysql -uroot -proot zabbix
# cat ./create/data/data.sql |mysql -uroot -proot zabbix
# cat ./create/data/p_w_picpaths_mysql.sql |mysql -uroot -proot zabbix
添加zabbix服務對應的端口(可以省略,但是官方建議有)
cat >>/etc/services<<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
mkdir /etc/zabbix
cp misc/conf/*.conf /etc/zabbix/
修改
vi /etc/zabbix/zabbix_server.conf
sed -i 's/^\(DBUser=\).*$/\1zabbix/g' /etc/zabbix/zabbix_server.conf
sed -i 's/^\(.*\)\(DBPassword=\).*$/\zabbix/g' /etc/zabbix/zabbix_server.conf
給Zabbix服務端軟體應用程式做軟連接配接
cd /usr/local/zabbix/bin/
for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done
cd /usr/local/zabbix/sbin/
for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done
添加資料庫Lib檔案位置到/etc/ld.so.conf中,并使其生效
/usr/local/mysql/lib/mysql/加到 /etc/ld.so.conf
ldconfig生效
拷貝相應的web程式到相關WEB服務目錄下
cd /usr/local/src/zabbix-1.8.9
cp -r frontends/php /usr/local/apache/htdocs/zabbix
拷貝必要的zabbix服務端和用戶端啟動腳本到啟動目錄/etc/init.d目錄下,并進行相應修改
cp misc/init.d/redhat/8.0/zabbix_server /etc/init.d/
chmod a+x /etc/init.d/zabbix_server
cp misc/init.d/redhat/8.0/zabbix_agentd /etc/init.d/
chmod a+x /etc/init.d/zabbix_agentd
sed -i 's/^progdir=.*$/progdir="\/usr\/local\/zabbix\/sbin\/"/g' /etc/init.d/zabbix_server
sed -i 's/^progdir=.*$/progdir="\/usr\/local\/zabbix\/sbin\/"/g' /etc/init.d/zabbix_agentd
修改PHP配置檔案php.ini内容使其滿足zabbix安裝配置需求
sed -i 's/^\(.*\)date.timezone =.*$/date.timezone = Asia\/Shanghai/g' /usr/local/php/lib/php.ini
sed -i 's/^\(.*\)post_max_size =.*$/post_max_size = 16M/g' /usr/local/php/lib/php.ini
sed -i 's/^\(.*\)max_execution_time =.*$/max_execution_time = 300/g' /usr/local/php/lib/php.ini
sed -i 's/^\(.*\)max_input_time =.*$/max_input_time = 300/g' /usr/local/php/lib/php.ini
在改為中文時圖檔出現亂碼:
以下方法解決。
1.上傳本地系統的C:\WINDOWS\Fonts\simhei.ttf檔案到zabbixweb目錄的zabbix/fonts下.
2.vi zabbix/include/defines.inc.php把所有的DejaVuSans替換成simhei
報錯處理
報Fatal error: Call to undefined function bcscale()802的錯誤,那麼對PHP進行重新編譯。
p_w_picpathcreatefromstring() [<a href='function.p_w_picpathcreatefromstring'>function.p_w_picpathcreatefromstring</a>]: No PNG support in this PHP build [include/maps.inc.php:461]
:“<br /><b>Fatal error</b>: Call to undefined function p_w_picpathcreate() in <b>/usr/local/projects/ipcn/zabbix/include/classes/graph.inc.php</b> on line <b>1235</b><br />”。這裡的p_w_picpathcreate()是gd庫中用于建立圖像的方法,是以就從gd庫的狀态查起。寫了個phpinfo()頁,發現加載的擴充子產品配置檔案裡有gd.ini,但是卻沒有顯示gd子產品的資訊。于是在php.ini裡開啟錯誤日志記錄,重新開機了一下lighttpd,檢視error.log,發現了錯誤提示如下:“PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20060613+lfs/gd.so’”。
一開始我還以為是缺少了gd.so,但是檢視了下發現檔案是存在的,可是php無論如何都無法成功加載。于是乎上網搜尋解決方法,最後在一個老外的debian論壇上找到了解決方案。其實很簡單,具體操作如下:
首先執行
find / -name libgd.so*
找到了在“/usr/local/lib/”下有libgd.so、libgd.so.2和libgd.so.2.0.0三個檔案。然後切換到這個目錄下,将這個三個檔案移除。當然了,為防萬一最好建立個檔案夾将它們挪過去,以後需要的話還能恢複。指令如下:
cd /usr/local/lib/
mkdir libgd.bak
mv libgd.so* libgd.bak/
然後再次重新開機lighttpd,php就成功加載了gd子產品了。至于為什麼這樣我還不是很清楚,可能是在加載的時候會先從“/usr/local/lib”裡去讀取.so檔案,然後造成與正常的gd.so的沖突吧。嗯這個還有待研究。
server zabbix_server stop
出現報libmysqlclient.so.15 錯誤
那就直接在/目錄下面查找。然後把這個檔案放置/lib下面。
再試着重新開機即可。