0%

全文翻译自zabbix官方文档https://www.zabbix.com/documentation/2.4/manual/quickstart/host

并有删改编辑

 

在本文中,我们将了解如何新建一台主机。

在zabbix中,主机是一台你希望监测的(物理或者虚拟)网络对象,主机的定义十分灵活,它可以是一台物理服务器,一台网络交换机,一台虚拟机或者其他的应用。

设置主机的条目在zabbix的Configuration→Hosts中。点击即可看到系统已经预设的一台主机——zabbix server。但是日常工作要求我们仍然需要学着如何新建另外一台主机。

首先点击Create host,在新页面按照要求填入如下新主机的信息

最小化的输入内容包括:

Host name

  输入一个主机名,只允许字母数字,空格,句号(E)以及下划线

Groups

  从右边的已有项中选择一个或多个组并点击«将选中组移动至in groups。

IP address

  输入主机的IP地址。需要注意的是,如果该IP是zabbix server的IP地址,则需要在zabbix客户端的配置文件zabbix_agentd.conf中修改Server项的IP地址。

各参数详解

                参数

        </td>
        <td>

                描述

        </td>
    </tr>
    <tr>
        <td>

                Host name

        </td>
        <td>

                输入一个唯一的主机名,只允许数字,空格,句号(E),下划线。zabbix客户端配置文件zabbix_agentd.conf中的hostname参数一定要与这个名字一致。

        </td>
    </tr>
    <tr>
        <td>

                Visible name

        </td>
        <td>

                显示名称,可选项。主机名的别名。支持UTF-8

        </td>
    </tr>
    <tr>
        <td>

                Groups

        </td>
        <td>

                主机要加入的组,一个主机至少要加入一个组。

        </td>
    </tr>
    <tr>
        <td>

                New host group 

        </td>
        <td>

                添加一个新组并将主机添加至该组。如果该项为空则忽略

        </td>
    </tr>
    <tr>
        <td>

                Interfaces

        </td>
        <td>

                主机接口,支持Agent, SNMP, JMX and IPMI。添加一个新接口,则点击Add并输入IP/DNS,连接方式以及端口等信息。

                注:所有使用中的接口不能被删除

        </td>
    </tr>
    <tr>
        <td>

                IP address

        </td>
        <td>

                主机IP地址(可选)

        </td>
    </tr>
    <tr>
        <td>

                DNS name

        </td>
        <td>

                主机DNS地址(可选)

        </td>
    </tr>
    <tr>
        <td>

                Connect to

        </td>
        <td>

                点击相应的按钮,选择相应的方式定义zabbix server如何从客户端获取数据,推荐使用IP

        </td>
    </tr>
    <tr>
        <td>

                Port

        </td>
        <td>

                TCP端口号,zabbix客户端默认10050

        </td>
    </tr>
    <tr>
        <td>

                Default

        </td>
        <td>

                使用单选按钮设置默认的接口

        </td>
    </tr>
    <tr>
        <td>

                Description

        </td>
        <td>

                输入主机的描述信息

        </td>
    </tr>
    <tr>
        <td>

                Monitored by proxy

        </td>
        <td>

                主机可以使用被zabbix server或者zabbix proxy监控。默认no proxy,由zabbix server直接监控。如果选择了'proxy name'(你的代理名称),那么客户机由代理代为收集数据

        </td>
    </tr>
    <tr>
        <td>

                Enabled

        </td>
        <td>

                勾选使主机设置成活动,并准备被监控。如果未勾选,则主机为非活动状态,不会被监控

        </td>
    </tr>
</tbody>

 

新建Host所需参数编辑完毕后,切换到Templates标签页选择现有的模版,链接至新主机。

我们可以输入关键字或者点击Select,在弹出的对话框从现有模版中选择合适的监控模版,比如我需要监控的是Linux服务器,则勾选Template OS Linux并点击select确认选择,最后点击Add→Update,使设置生效。

若要取消对某个模版的链接,有两种方式

  Unlink:取消模版,但保留它的项目、触发器和图表

  Unlink and clear:取消模版并删除它的项目、触发器和图表

新建主机后,客户端的配置,请见http://www.yvanz.com/2014/11/24/zabbix-ins.html

全文翻译自zabbix官方文档https://www.zabbix.com/documentation/2.4/manual/quickstart/login

并有删改编辑

 

在这一节,我们将了解如何登陆并且在zabbix中设置一个系统账户。

使用Admin以及密码zabbix以zabbix的super admin登陆。zabbix的用户分如下几种类型

                用户类型

        </td>
        <td>

                描述

        </td>
    </tr>
    <tr>
        <td>

                Zabbix User

        </td>
        <td>

                The user has access to the Monitoring menu. The user has no access to any resources by default. Any permissions to host groups must be explicitly assigned

                该用户可以查看监测项,但没有进入任何资源的权限。并且只有配置权限后才能进入相应主机组

        </td>
    </tr>
    <tr>
        <td>

                Zabbix Admin

        </td>
        <td>

                The user has access to the Monitoring and Configuration menus. The user has no access to any host groups by default. Any permissions to host groups must be explicitly given.

                该用户可以查看监测和设置项,但默认没有进入任何主机组的权限,必须后期设置权限才可读

        </td>
    </tr>
    <tr>
        <td>

                Zabbix Super Admin

        </td>
        <td>

                The user has access to everything: Monitoring, Configuration and Administration menus. The user has a read-write access to all host groups. Permissions cannot be revoked by denying access to specific host groups.

                该用户可以进入监测、设置以及管理等所有项目,该用户对所有主机组可读写,并且权限不能被阻止进入的特殊主机组所撤销。

        </td>
    </tr>
</tbody>
 

登陆成功之后,我们可以在网页右下角看到“Connected as Admin”,该用户可以进入设置和管理项。

保护免受暴力攻击

连续五次登陆失败,zabbix登录页会暂停登陆30秒,以此阻止暴力攻击以及字典破解。而登陆失败的IP地址,在下次成功登陆后会及时显示。
 

新增用户

需要查看所有用户的相关信息,可以在Administration→Users菜单查看

按上图点击顺序,可得到下图的详细信息

若需要新增用户,可以点击右侧的Create user,并在新页面中填写新用户信息

默认情况下,新建用户没有设置媒介(通知送达方式),所以需要跳转至Media菜单并点击Add,在弹窗中为新用户设置Email地址

信息填写完毕,点击Add确认新增。此时就可以在用户列表看到新建的用户了。


 

新增权限

系统默认新建用户没有权限访问hosts。若需要设置用户权限,可以单击用户行所在的Groups列(例如这里点击Zabbix administrators),并在新页面点击Permissions。

例如该用户只有对Linux servers组的Read-only权限,则先点击Read only下的Add,并在弹窗中勾选Linux servers

然后点击Select,便可以看到Linux servers在Read only分组中。最后点击Update更新设置使其生效。

zabbix的使用,是基于LAMP或者LNMP架构运行的,所以在安装zabbix之前必须先安装好Apache/Nginx、MySQL以及PHP。其中Apache/Nginx和MySQL的安装没有什么特别的,这里只梳理一下PHP的安装。

下载php源码并解压缩,然后yum安装所需组件

1
yum install gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y

编译安装php

1
2
3
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/iconv --with-freetype-dir=/usr/local --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib --with-libxml-dir=/usr/local --enable-xml --disable-rpath --enable-bcmath --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --with-xmlrpc --enable-zip --enable-mysqlnd --enable-wddx --enable-ftp --enable-calendar --with-libdir=lib64 --with-gettext --enable-sockets --with-apxs2=/usr/local/apache2/bin/apxs 
make && make install
cp php.ini-production /usr/local/php/etc/php.ini

注:因为我的系统是64位,所以我在后面的参数中添加了–with-libdir=lib64,并且我使用Apache与php搭配,所以还添加了Apache的参数–with-apxs2=/usr/local/apache2/bin/apxs

按照zabbix要求配置php.ini,修改如下参数。

1
2
3
4
5
6
7
memory_limit=128MB
post_max_size=16MB
upload_max_filesize=2M
max_execution_time=300
max_input_time=300
always_populate_raw_post_data = -1(如果php版本是5.6.0及以上,这一项也需要修改)
date.timezone=Asia/Shanghai

安装zabbix_server

下载zabbix源码压缩包并解压。

创建zabbix用户

1
2
groupadd zabbix
useradd -g zabbix zabbix

创建zabbix相关MySQL库(只有zabbix_server以及zabbix_proxy需要创建数据库)

1
2
3
4
mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";
mysql> exit

进入zabbix源码的database/mysql/目录,按如下顺序导入三个sql文件

1
2
3
mysql -uroot zabbix < schema.sql
mysql -uroot zabbix < images.sql
mysql -uroot zabbix < data.sql

注:如果配置安装的是zabbix_server,则按照上述顺序导入sql文件,若安装的是zabbix_proxy,则只需要导入第一个文件schema.sql

返回zabbix源码根目录,输入以下编译条件

1
2
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl
make install

注:若只开启zabbix的server功能,可以在编译条件中删除–enable-agent –enable-proxy,上面我只是做演示用,具体还是以实际应用环境为主。

安装好zabbix_server,便可以进sbin目录下运行zabbix_server。我在运行的时候还报了个错error while loading shared libraries: libmysqlclient.so.18。于是我妥妥的在MySQL的lib目录下找到了libmysqlclient.so.18,并软连到/usr/lib64,暂时解决。

安装zabbix_agent(Linux)

下载zabbix源码压缩包并解压。

创建zabbix用户

1
useradd zabbix

进入zabbix源码根目录,输入以下编译条件

1
2
./configure --prefix=/usr/local/zabbix --enable-agent
make install

编辑zabbix_agentd.conf,根据实际情况修改Server、ServerActive的IP以及Hostname

运行客户端

1
sbin/zabbix_agentd

安装zabbix_agente(Windows)

下载Zabbix pre-compiled agents中的windows平台客户端

解压至监控主机C盘根目录

复制解压目录中conf/下的zabbix_agentd.win.conf到C盘根目录并改名zabbix_agentd.conf(路径可自定义)

打开命令行,进入刚刚解压的zabbix_agent的目录,根据自己的操作系统,选择进入bin/win32或者bin/win64

如果确定使用默认的配置文件路径,则直接输入命令

1
zabbix_agentd.exe --install

若需要自定义zabbix_agentd.conf的路径,则安装命令为

1
zabbix_agentd.exe --config<你的配置文件路径> --install

安装成功后可以运行命令

1
zabbix_agentd.exe --start

运行agent服务,或者在windows服务面板中开启该服务。

若需要卸载该服务,则运行命令

1
zabbix_agentd.exe --uninstall

至于zabbix_agentd.conf配置文件的编辑,则与上面Linux下的编辑内容一致。

安装zabbix web interface

因为zabbix的前端文件是用php写的,所以需要用支持php的web服务器,我选用的是Apache。所谓安装就是将zabbix源码根目录中frontends/php下的所有文件复制到Apache的网站根目录,我偷了个懒,直接复制到Apache下htdocs了

1
cp -r frontends/php /usr/local/apache/htdocs

复制完成后,在浏览器输入服务器的ip地址,开始在网页上跑一遍安装向导

第二步

确定所有的软件先决条件是达标的。

第三步

输入数据库的详细连接信息并连接成功(zabbix数据库必须是新建完成的)

第四步

输入zabbix服务器的详细信息

第五步

再次确认刚刚输入的信息

第六步

Download the configuration file,然后上传至zabbix网页下conf/文件夹中,比如我的zabbix网页存放在/usr/local/apache/htdocs/,那么就需要将下载下来的文件存放至/usr/local/ apache/htdocs/conf/

第七步

完成安装。

第八步

zabbix前端安装完毕,现在可以使用默认用户和密码登录了

Username:Admin

Password:zabbix

更新启动脚本

安装完毕后,按需在客户端和服务端复制启动脚本至/etc/init.d

1
2
3
4
5
6
7
8
9
10
11
12
13
cp zabbix源码目录/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
cp zabbix源码目录/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

\#给这两个文件加可执行权限
chmod +x /etc/init.d/zabbix_server
chmod +x /etc/init.d/zabbix_agentd

\#修改脚本文件的BASEDIR为zabbix实际安装目录并启动
service zabbix_server start
service zabbix_agentd start
\#加入开机启动项
chkconfig zabbix_server on
chkconfig zabbix_agentd on

今天因为在弄心脏滴血的漏洞修复,于是兴起试了试网站的https连接,麻溜把步骤记下来。

首先准备https连接必须要的组件openssl。因为修复漏洞,我直接在官网下载最新版然后源码安装,源码安装三大金刚命令

1
2
3
/config --prefix=/usr/local/openssl

make && make install

安装完毕配置成本机命令:重命名已有的openssl命令,并在profile文件夹中添加/usr/local/openssl,同时创建软连到/usr/bin/openssl

其次修改Apache配置文件:

启用组件mod_ssl.so和mod_socache_shmcb.so

启用配置文件conf/extra/httpd-ssl.conf

生成ssl证书

1
2
3
4
5
6
#生成私钥key文件
openssl genrsa -des3 -out server.key 1024
#生成证书签名请求csr文件,并按要求填写相关信息
openssl req -new -key server.key -out server.csr
#自签证。或者省略这一步,将csr文件和key文件提交给权威证书颁发机构
openssl x509 -req -days 700 -in server.csr -signkey server.key -out server.crt

将生成好的server.crt以及server.key复制到httpd-ssl.conf配置文件中记录的位置。因为我除了servername之外没修改httpd-ssl.conf中其他的设置项,所以复制到了它默认的conf文件夹下。

准备工作就绪之后重启Apache使上面的配置生效,如此在不出意外的情况下,就能使用HTTPS协议访问网页了。当然,因为我们的网站证书没有注册,所以打开网页的时候IE浏览器会提示网站安全证书存在问题。

Nginx配置

将以下放入server段

1
2
3
4
5
ssl on;
#定义证书crt文件位置
ssl_certificate /root/server.crt;
#定义私钥key文件位置
ssl_certificate_key /root/server.key;

附:常见SSL证书格式转换

大家好我又来科(zhuang)普(bility)了。偶然林俊杰官网的密码泄露风波四起,想想有必要聊聊这方面的问题。

首先我们生活在一个怎样的网络世界呢?来看个链接吧。

http://www.wooyun.org/bugs/

wooyuu所为何物?他们官方的介绍是这样的

WooYun是一个位于厂商和安全研究者之间的安全问题反馈平台,在对安全问题进行反馈处理跟进的同时,为互联网安全研究者提供一个公益、学习、交流和研究的平台。其名字来源于目前互联网上的“云”,在这个不做“云”不好意思和人家打招呼的时代,网络安全相关的,无论是技术还是思路都会有点黑色的感觉,所以自然出现了乌云。

你可以叫他乌云,或者巫云,或者我晕,但是我们坚信它是汇聚互联网安全研究者力量的,将带来暴风雨清洗一切的乌云。

如果你点进链接大致浏览一遍,你就会发现几乎所有常用的互联网应用,都多多少少被爆过漏洞。这里不是想说网站存在漏洞是理所当然,而是想解释网站存在漏洞这个可能性在所难免,攻与防往往是相对发展的。加上互联网发达的今天,所谓的黑客技术门槛已然有所降低,有些零基础的有心之人拿着下载到的工具在线搜寻漏洞,然后根据漏洞再进行入侵已经变得不像想象中的那么困难。

在这里我应该可以拿图举证:

hacked1

这是我某一天例行检查服务器日志的时候看到的记录,这里有位仁兄在凌晨12点半的时候花了一个多小时的时间通过各种方式想找到我们服务器的漏洞(这大半夜的不睡觉想必也是蛮拼的),虽然无功而返,可是能发现漏洞信息交换的便捷,当某一个系统组件被爆出漏洞时,这些人就会根据自己掌握的这些信息在互联网上广撒网,如果网站的运维人员不及时跟进相关的漏洞信息,就容易让有心之人得逞。所以这需要网站背后的公司或个人进行持续的资金与人力投入,成本可谓大大的。

接下来进入正题。

虽然我不知道黑林俊杰官网的人是出于什么目的,但是大致有以下几个方面:

  1. 对于自己所掌握的技术的自豪感,驱使有些人想通过拿下别人的网站获得自我认同。

  2. 增加自己手中用户数据库的内容

  3. 帮助网站寻找漏洞并提供解决方案,升级网站安全性

这里就主要说说第二点吧。不出意外的情况下,国内各种黑客的手中都有一些记录了别人账号和密码等敏感信息的数据库,他们拿着这些隐私数据能做很多事情,比如进你的网银花你的钱,用你的微信勾搭你的妹子(以上场景纯属虚构,如有雷同我不负责=。=)。如果顺利拿到林俊杰官网的用户数据,可以增加自己的数据库内容,因为很多用户的习惯是所有网站都使用相同的用户名和密码,如果顺利,黑客们就能用拿到的林俊杰官网的数据去撞库,测试他们想要的网站的信息。所以一再强调,我们要养成密码分级以及勤改密码的好习惯。

比如你会遇到这样的场景:我一个很久很久没用的QQ号,为什么今天登陆上去被提示密码错误?没错啦,大致就是你的一些信息在别的地方被别人窃取,然后试出了你QQ的密码然后被修改了。

更多密码泄露的原因可以点这里了解:http://blog.unnoo.com/?p=2181

最后,据说林俊杰官网泄露的数据是去年关站维护之前被拿到的数据,里面只包括用户名和密码。理论上不必有太大的恐慌。不过因为关站维护之后更新官网网站程序,用的数据库包含了旧官网的数据,所以维护好之后的新官网我们可以用之前注册的账号密码进行登陆。具体猜测可见我去年的一条微博,链接为http://weibo.com/1686295857/Al296qPTI

hacked3

大概也是因为知道旧官网有被拖库吧,所以新官网开放之后,在我们登陆网站进入会员中心,时常提示修改密码,不知道各位还有没有印象。
 

题外话:

国内的环境是当有网站被爆出漏洞,一般容易开启某些不相关人员的嘲讽模式,可是嘲讽从来都不能解决问题,因为某一天你所依附的网络也有可能被入侵,被拖库,毕竟一般人用的网站程序,都是别人写好公布在网上的。

如果你不作为,那么在那些有所作为的黑客面前,你将一无所有。这里的“你”包括所有互联网用户以及网站维护人员,peace~

(本文如有技术逻辑错误,欢迎拍砖)

那么多的喜欢,还没来得及表达就被丢弃;那么多的道理,回到生活里很快就被忘记。 一部看似叙事性不佳的片子,里面却包含了那么多的故事。一段路一个人,每次还没来得及说再见,就再也不见了。所谓后会无期,或许还可以称之为——转身一世。这部电影让我依稀的想起高二那年写的一个音乐剧。我挑了几个片段穿插在剧本里面,初心是想着把班级生活里面遇到的感动通过那出戏讲出来,另外憧憬一下即将来临的高三,我们会用一种什么样的方式面对。可惜舞台时限,我在剧本里面掐掉了很多细节。而最后,在评委老师的认真关切下,还是因为他们觉得故事性不强被毙,哈哈哈~

【就走吧,无论去哪,就算你被夺走什么。】

Apache版本号隐藏:

1.修改Apache主配置文件httpd.conf,将#Include conf/extra/httpd-default.conf前的#去掉。

2.修改extra/httpd-default.conf,找到

ServerTokens Full修改成ServerTokens Prod

ServerSignature On修改成ServerSignature Off

3.重启Apache使配置生效

PHP版本号隐藏:

编辑配置文件php.ini,将expose_php = On改为off

今天发现Linux服务器上面Apache的日志有点疑问,很多不知名的IP从我的服务器上get别的网站。在查找原因的过程中,也顺便把Apache日志分析工具搭起来了。这里我选的是goaccess。趁着没下班整理一下大概,有空再补充完善

首先在goaccess官方网站http://goaccess.io/ 下载最新的源码进行安装

在安装之前需要ncurses-devel以及ncurses-devel的支持。同时如果需要加入解析IP的功能,可以安装geoip-devel(不过我在试图安装geoip的过程中遇到了点疑惑,没有安装该组件)。

现在对下载的源码进行解压并编译

1
2
3
4
5
6
7
8
./configure --enable-geoip --enable-utf8 --没有安装geoip的话可以不选enable-geoip
make && make install
``

安装完毕可以直接使用goaccess命令查看Apache日志,一般配合如下参数

```bash
goaccess -a -f <日志文件路径>

更多参数可以参见man goaccess或者http://goaccess.io/man

当然goaccess最吸引我的是可以生成html、csv、jscon之类的文件。直接在读取数据的时候导出成html等格式便可,如

1
goaccess -a -f &lt;日志文件路径&gt; &gt; test.html

需要注意的前提是必须设置好goaccess日志格式,配置文件默认路径为/usr/local/etc/goaccess.conf。

1
2
3
#date-format %d/%b/%Y
#log-format %h %^[%d:%^] "%r" %s %b
##删除上述两行前面#并保存即可

#无冕歌王林俊杰#第18届、第21届、第22届、第25届,四次冲击金曲奖。第18届的时候或许太年轻。而这些年,我们见证过21届堪称完美的表演却失之交臂,我们体会过22届颁奖时那段被拉长的J音把心吊到嗓子眼的感觉。终于在第25届,我们如愿了。你因我们而在,and we are yours。JJ x JM。你好,歌王@林俊杰

这条微博在今天空闲的时候就酝酿着,大概是颁奖前半小时梳理好的。我抱着最美好的期待写着这条微博,因为熬过这么多年金曲奖,之前每一次的等待之后都告诉自己,不需要这个奖做证明,在我们心里你已经是歌王了。可是好像骗不了自己,每一年的金曲奖我们还是会期待,而且看得到你也在期待,否则你不会在致辞时说到前四年时,略带哽咽的声音。

还记得第一次守金曲奖,是第21届的时候,我特意跑到网吧通宵,在看完他那段表演之后觉得,这金曲歌王非你莫属了吧,可是没想到那一年,得奖的是陶喆。之后的第22届,当陶喆在念名单时,那吊胃口的J….ay Chou,让我们看到了他眼神中的那一瞥喜出望外,可是最终却是失望的神情。大概也是那次之后他意识到必须让自己的内心更加强大,不那么轻易的将心里的想法表现出来吧。我们总是得不断经历各种各样的事情,逼着自己快点长大的。

好在他一直有这样一个目标作为他做音乐的动力之一,虽然波折这么多,可是今天的结果证明了,有梦想谁都了不起~

“远远超出45秒,但是我不管”,一句很纯粹很直白的话,看得出你心里是有多开心,就像听到自己得奖时笑起来的表情一样。这么多年这么多颁奖礼,我还是第一次看到你得奖时笑起来这么像个孩子。

QQimage201406290025491

而我又想了想,大概父母长辈们,在看到我们获得学业或者事业上的成功时,那种激动安慰的心情与我们此时此刻的心情大致相同吧。毕竟只有最亲近我们的人,才看得到我们为既定目标做了多少努力,才懂我们对既定目标有多大的期望。

扯偏了,最后补一下金曲奖评审团对林俊杰的评价吧,我骄傲。

林俊杰,兼具明星特质和演唱实力。诠释的细腻度和音乐掌控功力精湛,在音色展现上无可挑剔,唱功不容置疑。

而这段获奖视频,应该值得永久收藏。

这两天公司因为计划将网页追溯系统迁移到电话追溯系统的sql server 2000数据库,于是我苦逼的开始了将PHP连接sql server数据库的任务。

化繁为简,先说说Linux平台的php怎么连接:

首先下载freeTDS,解压安装。

1
2
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
make && make install

配置freeTDS

1
vim /usr/local/freetds/etc/freetds.conf

在A typical Microsoft server下配置自己的sql server数据库连接,如:

[192.168.0.254]
  host=192.168.0.254
  port=1433
  tds version=8.0

配置完成,使用tsql测试连接是否成功

1
/usr/local/freetds/bin/tsql -S 192.168.0.254 -U sa

之后输入密码,若显示以下信息则配置成功。

locale is “zh_CN.UTF-8”
locale charset is “UTF-8”
using default charset “UTF-8”
1>

 
其次设置PHP,这里需要先安装mssql extension,可以在php源码的ext/mssql下找到。

进行编译

1
2
phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/

将安装好的插件加入php.ini的extension部分,如

extension_dir =/usr/local/php/lib/php/extensions/no-debug-zts-20121212
extension=mssql.so

重启Apache或者nginx重新应用php使用最新配置即可。

接下来可以新建一个db.php测试php是否正常连接sql server

1
2
3
4
5
6
7
8
9
<?php
$mssql=mssql_connect("DBhost","DBuser","DBpasswd");
if ($mssql) {
echo "Connent Mssql Succeed";
}
else {
echo "connent Mssql Error!";
}
?>

连接成功后,若要对数据库进行操作,可使用如下函数:

http://blog.sina.com.cn/s/blog_5c7a517801012etb.html

 
接着再来看看windows平台,我使用的方法是通过OBDC连接sql server。

一、编辑php.ini,将;extension=php_pdo_odbc.dll前的;去掉,重启Apache或者Nginx,让php启用pdo_odbc。

二、新建db.php

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
$dbhost = 'DBhost';
$dbuser = 'DBuser'; //你的mssql用户名
$dbpass = 'DBpasswd'; //你的mssql密码
$dbname = 'DB'; //你的mssql库名
$connect=@odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass");
if($connect){
echo "Connent Mssql Succeed";
}
else {
echo "connent Mssql Error!";
}
?>

连接成功之后,若要使用数据库,可参加以下函数

http://blog.csdn.net/shaobingj126/article/details/5678009