环境简介: 虚拟机版本:CentOS Linux release 7.4.1708 httpd版本:httpd-2.2.34 PHP版本:php-5.5.38 zabbix版本:zabbix-3.0.3 目录说明: httpd、php、zabbix均安装在了/test下了,所有和目录相关的配置项可根据自己的目录进行更改。 一、首先安装zabbix可能依赖的包 yum install -y libxml2 libxml2-devel curlcurl-devel libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel yum install -y libssh2-devel net-snmp-devel OpenIPMI-devel yum install -y apr apr-devel apr-uti apr-util-devel
二、安装httpd
1.编译: ./configure --prefix=/test/httpd--enable-module=so 2.安装: make install 3.将zabbix下的PHP文件拷贝到httpd目录下: cp zabbix-3.0.3/frontends/php/*httpd/htdocs/ -r 4.将httpd/htdocs/include/下的db.inc.php替换为dm的。 5.修改httpd.conf配置文件,修改详情见附件httpd.conf。 三、安装php
1.编译: ./configure --prefix=/test/php--with-config-file-path=/test/php/etc --enable-fpm --with-fpm-user=php-fpm--with-fpm-group=php-fpm --with-oci8=/install_pkg/oracle_tmp--with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir--with-iconv-dir --with-zlib-dir --enable-soap --enable-gd-native-ttf--enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-pear--with-curl --enable-bcmath --enable-sockets --with-gettext --with-apxs2=/test/httpd/bin/apxs
2.安装: make install
3.配置dm php(详情可参考DM7_Program.pdf手册): a.将ext目录拷贝到php目录下: cp ext/ /test/php/ -r b.在httpd.conf文件中添加 DirectoryIndex default.php default.phtmldefault.php3 default.html default.htm AddType application/x-httpd-php .php.phtml .php3 .inc AddType application/x-httpd-php-source.phps c.修改php.ini配置文件 定位php.ini文件: [root@cc2 other]# locate php.ini /install_pkg/other/php.ini /install_pkg/php-5.5.38/php.ini-development /install_pkg/php-5.5.38/php.ini-production [root@cc2 other]# cp/install_pkg/php-5.5.38/php.ini-development /test/php/etc/php.ini 修改/test/php/etc/php.ini文件: Directory in which the loadable extensions(modules) reside. extension-dir extension_dir = "./" On windows: extension_dir=/test/php/ext //注意路径为绝对路径 extension=libphp55_dm.so 注:这部分添加到最后,以免被开启的默认值覆盖掉 post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Shanghai always_populate_raw_post_data = -1 添加dm模块: [dm] dm.allow_persistent = 1 dm.max_persistent = -1 dm.max_links = -1 dm.default_host = localhost dm.default_user = SYSDBA dm.default_pw = SYSDBA dm.connect_timeout = 10 dm.defaultlrl = 4096 dm.defaultbinmode = 1 dm.check_persistent = ON
四、安装zabbix
1.修改源码 vim zabbix-3.0.3/src/libs/zbxdb/db.c ,共两处:
2.修改dm_svc.conf内容(屏蔽关键字): KEYWORDS=(function,object,value)
3.修改SQL脚本: zabbix-3.0.3/database/oracle/images.sql中的目录路径为/install_pkg/zabbix-3.0.3/misc/images
4.导入zabbix数据: sp_set_para_value(1,'PWD_POLICY',0); create user ZABBIX identified by"ZABBIX"; grant resource to zabbix; 利用disql(zabbix用户)依次执行zabbix-3.0.3/database/oracle/下三个脚本: schema.sql images.sql data.sql
创建两个视图: create or replace view col as selecttable_name tname,column_name cname from USER_TAB_COLUMNS; create or replace view tab as selecttable_name tname,'TABLE' tabtype from USER_TABLES;
5.编译zabbix: 编译之前需先配置环境变量,oracle_tmp文件夹下是编译zabbix所需的oracle库文件: exportLD_LIBRARY_PATH=/install_pkg/oracle_tmp:$LD_LIBRARY_PATH ./configure --prefix=/test/zabbix--with-oracle=/install_pkg/oracle_tmp --with-net-snmp --with-libcurl--with-libxml2 --enable-server --enable-agent --enable-proxy --with-ssh2--with-openipmi --enable-java
6.安装: make install
7.配置zabbix服务端,修改 /test/zabbix/etc/zabbix_server.conf文件这几项: SourceIP=127.0.0.1 DBHost=127.0.0.1 DBName=zabbix DBUser=zabbix DBPassword=ZABBIX DBPort=5236 AllowRoot=1
8.安装时依赖的是oracle的客户端库文件libclntsh.so.11.1,启动时需替换成达梦的,方式是:将附件中的 libclntsh.so.11.1.dm_debug (记得改为和oracle同名)拷进dm的bin文件夹下,然后设置环境变量: exportLD_LIBRARY_PATH=/opt/dmdbms/bin:$LD_LIBRARY_PATH 并通过 ldd /test/zabbix/sbin/zabbix_server查看是否已指向dm的库。
9.确认环境无误后,可启动服务端: /test/zabbix/sbin/zabbix_server
10.在浏览器中输入地址 http://你的IP/setup.php,进入以下页面:
按照提示填写相关信息,最后跳转到以下页面,即说明配置完成:
注:编译zabbix时提示缺什么包就安装什么包即可,我的系统在配置时最小化安装,所以把开头那些安装了以后,应该就不会缺什么了。 注:通过以下方式可确认php.ini文件路径是否正确 在/test/httpd/htdocs目录下,新建文件vim phpinfo.php,内容为:<?php phpinfo();?>,在http://localhost/phpinfo.php页面中可查看php相关信息 注:测试PHP是否连上dm,在httpd/htdocs下创建dmtest.php,内容如下: <?php $link = dm_connect("localhost","SYSDBA", "SYSDBA") or die("Could not connect : " .dm_error()); print "Connected successfully"; dm_close($link);
原创:达梦
|