标签存档: Linux

Installing Cactid/Spine

     Cacti在运行的时候,需要在crontab里添加计划任务,默认是使用cmd.php来执行任务,但效率低下,因此我们用Cactid/Spine来取代cmd.php…

1.编译 Spine/Cactid

编译Spine/Cactid之前,先确认已经安装以下packages:

net-snmp-devel
mysql
mysql-devel
openssl-devel
Compiling Spine

2.下载最新版本的Spine/Cactid 并编译成为二进制可执行文件:

# tar xvzf cacti-spine-0.8.7.tar.gz
# cd spine-0.8.7
# ./configure
# make
# mkdir /usr/local/spine
# cp spine  spine.conf  /usr/local/spine

编辑 spine.conf 文件,输入数据库名、数据库用户名和密码等信息.

3.使用管理员帐号登陆Cacti.在系统参数中制定Spine/Cactid的物理路径.

Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path 
 

Upgrading Cacti

    Cacti已经发布了0.8.7a版本,下午把监控服务器上的cacti从0.8.6j升级到新版本。

    1. 备份数据库.

 # service mysqld stop
 # cp -R /var/lib/mysql/cacti  /var/lib/mysql/cacti_old

   2. 备份cacti程序目录.

# mv cacti cacti_old

    3. 解压新版本压缩包.

# tar xzvf cacti-version.tar.gz

    4. 重命名解压目录.

 # mv cacti-version cacti

    5. 编辑 include/config.php 设定好数据库类型、数据库名、数据库用户名和密码.

 $database_type = "mysql";
 $database_default = "cacti";
 $database_hostname = "localhost";
 $database_username = "cactiuser";
 $database_password = "cacti";

    6. 从原程序目录中复制 *.rrd 文件.

 # cp cacti_old/rra/* cacti/rra/

    7. 备份脚本程序.

 # cp -u cacti_old/scripts/* cacti/scripts/
 # cp -u -R cacti_old/resource/* cacti/resource/

    8. 设置rra文件目录和log目录的权限.

 # chown -R cactiuser rra/ log/

   9. 通过浏览器访问,程序将自动升级数据库:

         http://your-server/cacti/

长假结束

         平时工作,琐事太多,没有时间静下心来学习新东西,趁着难得的长假,学习postfix。猖獗的垃圾邮件让人忍无可忍,邮箱平均一天要收到近300多封邮件,95%以上都是该死的垃圾邮件,发票代开、管理讲座、网上商城等等,原先一直计划架设一台邮局服务器,可以防病毒,又能过滤垃圾邮件等等。前前后后折腾了4天多,postfix+Cyrus-SASL+Courier-IMAP+ClamAV+SpamAssassin+Mysql+webmail,算下来前前后后有几十个软件包,是我所装过系统中最复杂的一个,安装调试过程非常的不顺利,遇到问题无数,还算运气,7成靠搜索3成靠自己,总算给安装调试好。这两天把我垃圾邮件最多的邮箱转发到新邮局,测试垃圾邮件过滤功能,调试过滤规则,现在就等着周末上线试运行……

        去年年底开始学squid,正好因公司的无线网关出问题,便利用squid架设linux网关,架设一台带有缓存功能的代理网关服务器,尔后又增加了HAVP防毒功能,最后又通过内核补丁,封杀局域网内的QQ、MSN和P2p软件等。今年年初开始研究bind,起初只想接触一下DNS系统,利用squid+bind,来实现一个简单的cdn平台,加速一下网站和论坛的访问速度,没想到这个随便玩玩的东西变成了产品推向市场。

        光是学习没有用,还需要有实践的环境,很庆幸自己能有这样的环境和平台,能不断接触和学习到新的东西,并将学到的东西投入到实践中去,让它能创造出新的价值,提高工作效率。

         10.1长假结束,开始上班,很多人问国庆去哪玩了,回答没,在家玩……

WordPress 2.3

        最近Wordpress的升级实在是频繁,2.2.1才升级没有几天,就推出了2.3beta,而后很快就2.3 final放出。新版本几个更新很实用,一个是支持原生的tag了,这样我们就不需要在为了tag功能去安装插件,后台增加了tag导入功能,可以支持Jerome’s Keywords 、Simple Tagging 、Ultimate Tag Warrior 和 Bunny’s Technorati Tags 到导入,导入的时候要注意备份,导入后,原始插件的tag将被删除。另外一个重要的更新是针对插件的,终于可以在插件管理页面,看到插件的升级提示了。

        我原先使用Jerome’s Keywords,通过后台很方便的导入到wordpress中,而且官方的tag也支持TagCloud。目前的模板都是无法支持Wordpress原生tag功能的,需要修改一下模板,很简单,可以参考这里《如何让您当前主题支持 WordPress 2.3 的 Tags 功能》

Centos+iptables+l7-filter 封QQ MSN和P2P

          在网关上如果要封杀 QQ、MSN 或者 P2P 等软件的通讯,单纯用 iptables 逐一封服务端IP或者封通讯端口都不是很好的办法,最简单的方法是使用L7-filter。  

          L7-filter (Application Layer Packet Classifier for Linux), 是 Linux netfilter 的外挂模块, 它能使 Linux 的 iptables 支持 Layer 7 (Application 应用层) 过滤功能, 限制封杀 P2P、即时通讯软件。

  Centos 4.4

  Kernel 2.6.9-42.0.3.EL

  Iptables 1.2.11

1.下载所需软件包:

kernel 2.6.19.7
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.7.tar.bz2

iptables 1.3.7
# wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.7.tar.bz2

L7-filter http://sourceforge.net/project/showfiles.php?group_id=80085
netfilter-layer7-v2.12.tar.gz
l7-protocols-2007-06-22.tar.gz

继续阅读 »

Bind SOA

        Bind的SOA记录:每个Zone仅有一个SOA记录。SOA记录包括Zone的名字,一个技术联系人和各种不同的超时值。例子:

$ORIGIN .
$TTL 3600       ; 1 hour
10235.com               IN SOA  ns1.abc.com.  root.ns1.abc.com. (
                                2007061402 ; serial
                                3600       ; refresh (1 hour)
                                900        ; retry (15 minutes)
                                1209600      ; expire (2 weeks)
                                3600         ; minimum (1 hour)
                                )

  • #Serial 
    数值Serial代表这个Zone的序列号。供Slave DNS判断是否从Master DNS获取新数据。每次Zone文件更新,都需要修改Serial数值。RFC1912 2.2建议的格式为YYYYMMDDnn 其中nn为修订号;
  • #Refresh
    数值Refresh设置Slave DNS多长时间与Master Server进行Serial核对。目前Bind的notify参数可设置每次Master DNS更新都会主动通知Slave DNS更新,Refresh参数主要用于notify参数关闭时;
  • #Retry
    数值Retry设置当Slave DNS试图获取Master DNS Serial时,如果Master DNS未响应,多长时间重新进行检查;
  • #Expire
    数值Expire将决定Slave DNS在没有Master DNS的情况下权威地提供域名解析服务的时间长短;
  • #Minimum
    在8.2版本之前,由于没有独立的 $TTL 指令,所以通过 SOA 最后一个字段来实现。但由于 BIND 8.2 后出现了 $TTL  指令,该部分功能就不再由 SOA 的最后一个字段来负责,由 $TTL 全权负责,SOA 的最后一个字段专门负责 negative answer ttl(negative caching)
    The last field in the SOA is the negative caching TTL. This controls how long other servers will cache no-such-domain(NXDOMAIN)responses from you.

Installing AWstats 6.6

        AWStats 是一个免费的强大而有个性的工具,带来先进的网络,流量,FTP或邮件服务器统计图. 它能分析日志文件来自从各大服务器工具 ,如 Apache日志档案  (NCSA combined or common), WebStar, IIS (W3C),Proxy、Wap、流量服务器、邮件服务器和一些FTP服务器. 

       AWStats官方网址:http://awstats.sourceforge.net/

       从官方网站下载AWStats,目前最新版本是6.6.

继续阅读 »

HAVP+Trend Micro+Squid 防病毒HTTP代理

    HAVP (HTTP Anti Virus Proxy) 可搭载 ClamAV、Kaspersky、Trend Micro、AVG、F-Prot、NOD32、Sophos、Avast!等防病毒软件, 针对 HTTP 传输数据进行实时扫毒, 将病毒拦截于Proxy Server, 让局域网用户上网时多一层安全防护.

    网上很多文章都是使用HAVP搭载 Clamav,虽然Clamav安装简单,有可以自动更新病毒库,但实际使用中发现,Clamav的执行效率不是很好,访问时,明显影响访问速度.测试后,发现Trend Micro效率较高。HAVP在搭载其它的防病毒软件时,大部分都需要防病毒软件先安装运行,而搭载使用Trend Micro,HAVP可以直接调用Trend Micro的扫描引擎和病毒库,不用安装防病毒服务,对于我这样的懒人来说,能省一个是一个,对服务器来说也能省点资源.唯一的缺点是无法自动更新病毒库,有得必有失.

    参考了Jamyy的《使用 HAVP + ClamAV 建置防毒 HTTP Proxy》 

继续阅读 »

Mysql4.0升级到4.1

        MySQL 4.1开始把多国语言字符集分的更加详细,所以导致数据库迁移或者升级后出现乱码问题。MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。

1.导出4.0格式的SQL备份文件
mysqldump -uroot -p --default-character-set=latin1 database > jason.sql

这个是导出为latin1字符集的数据库备份,如果需要导出成为gbk字符集可以使用:

mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk database > jason.sql

2.使用下面语句新建一个latin1字符集的数据库(jason):
CREATE DATABASE `jason` DEFAULT CHARACTER SET latin1 utf8_unicode_ci

3.将上面导出的4.0结构的备份数据导入到刚才新建的mmmm数据库中。
/usr/local/mysql/bin/mysql -uroot -p --default-character-set=latin1 -f jason < jason.sql

架设支持SSL的Vsftpd安全服务器

      用Ftp进行文件上传下载的时候,由于密码和内容都是明文传输,对于安全性要求较高的站点来说,是非常危险的。用SSL配合Vsftpd就能构建一台安全的FTP服务器。

      1.安装和升级Openssl

      使用最新的Openssl库是必须的,可以在官方下载最新的源码包。http://www.openssl.org/  安装和升级方法参考这里:升级openssl

      2.下载安装vsftpd

      到官方下载最新版本的vsftpd源码包 http://vsftpd.beasts.org/

# tar zxvf vsftpd-2.0.5.tar.gz
# cd vsftpd-2.0.5
# vi  builddefs.h
继续阅读 »