SuperTaoer::Thanksgiving

蜡烛:燃烧了自己,照亮了他人;香烟:燃烧了自己,也燃烧了他人。

八月 26, 2005

慢慢死去的方法

文章类别: 生活 情感, 随来而去 随笔随想 — SuperTaoer @ 9:17 am

脚扎了一个十字的口子到现在还不好
天天只能以屁股为支点
在这样下去就该传说中的褥疮了吧?

不敢想象
在当时我情绪那么激动地情况下
如果没有朋友和她在现场
血流了一地止不住

自己当时也没有办法走动了
就看着自己的鲜血往外的
流着
流着
… …

直到自己的双眼睁不开了
眼皮沉沉的
闭上了双眼
看到了天使
带我飞向天堂
何等的闲逸
… …



人性的贪婪

文章类别: 生活 情感 — SuperTaoer @ 2:43 am

明明不是属于自己的,
却贪婪的还想占有。
知道已经成为过去,
为什么还是不断的给自己安慰?
曾经说过
海枯石烂,也不会再爱她了。
但是,她来了,
已经安静的心,
。。。。。。
为什么???

朋友对我说:
两个分分手了,就不要再试着成为好朋友了,
那样是再为自己找借口,
现在,明白了这句话的意思。

有人说我是寂寞才这样,
有人说我是因为曾经也是我的,現在还沒有过适应她不是我的,所以会紧张啊。
朋友告诉我,试着完全放弃,心里很痛,但这也是一种享受,这种心痛我也已经享受过了,还是不能放弃。

是不是你是我的魔?
是我一生一世逃不开的牢笼?
不得而知。

他们告诉我要顺其自然,
我不知道怎么做,
你说你来让我快乐,
但是比快乐多的是烦恼,
可能真的是庸人自扰吧?

有时候也很羡慕你,
你很快乐,也很理性
不像我,是个感性的低级动物
不知道你是不是真的快乐,
因为你的事情从来不和我说,
希望你是发自内心的快乐。

感觉你在上海有了新的男朋友
和你应该是同个公司的?
不知道我这个男人的直觉准不准? 呵呵
如果他人很好,就好好的珍惜吧。
好男人现在已经不多了
和我在一起只是10天的时间
回到上海就忘了吧
和他在一起,可能你会感觉到快乐和幸福吧。
毕竟你们是生活在同一个城市的,生长的环境也差不多,交流起来也会容易些吧?
不像我,还是东方文化的思想,可能你觉得很封建吧?

不想在blog上说再多了
下次见面
不知何时
可能那个时候都已经有了很大的变化了吧?
谁知道呢?
一切随缘吧 (不知道自己能不能做到)

祝你一切幸福快乐
也谢谢你这些日子照顾我,帮我上药。

See you … …

八月 8, 2005

文章类别: 新旧约 — SuperTaoer @ 9:01 pm

神用与人立约定的形式祝福,管理人。双方按着信实履行约定。比如:人类第一个约,就是伊甸园之约。上帝造了人,把人放在伊甸园里,使人管理这个舒适的美好世界。神负出了他的信实,就是给予人类大的赐福,而人类的始祖(代表)亚当、夏娃只要遵守上帝唯一的命令,就可以管理这世界。这就是上帝和人类之间因为信实与爱而定的约。但夏娃、亚当吃了禁果,破坏了这蒙福之约,导致人类陷入今天没有盼望的光景。后来神不断拣选人来与他立约,以赐福人类。神与摩西立下律法之约,显明了上帝对人的旨意,可惜人无法完全遵行律法,所以神与人另立了新约。耶稣代表人类立了最后之约——就是信之约。凡悔改信耶稣为救主,遵守新约的人,上帝将国赐给他们。在此之前与摩西立的“律法之约”,就自然被称为旧约。我们今天在新约里的人,当明白新约的内容,努力遵行新约的教训。上帝会在我们生命中,给我们极大的祝福。

shell读取目录下的文件

文章类别: 程序 技术 — SuperTaoer @ 3:23 pm
  1. readpath = "/tmp"
  2. for file in $readpath/*
  3. do
  4.     echo "$file"
  5. done

linux使用grep或者vim删除空行

文章类别: 程序 技术 — SuperTaoer @ 11:51 am

今天上班和bluetent一起琢磨了一下,
受到了这篇文章的启发,很简单,1分钟搞定
grep -v ^$ oldfile > newfile
但是似乎在FreeBSD下面不行,会不会是grep版本的问题?
后来想到了很刁的vim的全局替换
最后成功拉
vim的命令为:%s/^\n//g
意思是全局替换所有以回车开头的字符,替换为空。
顺便研究了一下
如果有多个连续的空行,想保留一个
vim的命令为:%s/^\n$//g

让jabber支持msn

文章类别: 程序 技术 — SuperTaoer @ 10:04 am

我选择了一个使用python写的msn-t
msn-transport.jabberstudio.org/

需要的环境是:
python和 Twisted
Twisted是一个framework
Zope Interface 3.0.1 or later 这个是安装Twisted需要的

安装很简单
先从http://www.zope.org/Products/ZopeInterface 下载ZopeInterface
解压缩后执行:
python setup.py build
python setup.py install
www.twistedmatrix.com下载Twisted,TwistedWeb,TwistedWords,TwistedXish后解压缩
直接执行 python setup.py install就好了

然后把PyMSNt复制到你的jabberd目录的bin目录下面
把config-example.xml 复制到你的jabberd目录下的etc/jabberd目录下,并且重命名为 config.xml

编辑你的config.xml文件
注意一下端口号:这里默认是5347,但是与c2s.xml中的端口号冲突,所以请修改成你想要得端口号,并且在防火墙配置允许入站的规则

未完待续…

实现jabber服务器

文章类别: 程序 技术 — SuperTaoer @ 10:01 am

首先先写出几个相关的网址
jabber.org
jabber.org
jabber.org-服务端
jabber.org-客户端

jabberstudio.org
jabberstudio.org
jabberstudio.org-服务端
jabberstudio.org-客户端
jabberstudio.org-文档

我选择了使用jabberd 2.x服务端,因为他是GPL的,可以运行在不同的系统,
在jabber.org中对GPL服务器端Feature Score这项数值最高的是Jive Messenger
但是Jive让我想到它可能是java的,对服务器需要消耗的资源可能大些,所以就
选择了jabberd 2.x,每个人可以根据自己不同的需要来选择哦 :)

注:以下的操作均使用root身份进行

先来热身一下,也就是做安装jabberd服务端前的准备活动 :)
1.创建 Jabber用户和用户组

  1. groupadd jabber #增加jabber用户组
  2. useradd -g jabber jabber #增加jabber用户并且该用户属于jabber用户组
  3. passwd jabber #设置jabber用户的密码

2.为jabber 的PID’S和logs创建目录

注:官方文档说jabberd的PID’S和logs目录在 /usr/local/var/jabberd
但是我察看了配置文件,却是在/usr/local/jabberd/var/jabberd这个目录
所以可以根据自己的需要来更改,使用ln -s也可以,设置好权限就好

#官方的:
#创建PID’S目录

  1. mkdir -p /usr/local/var/jabberd/pid/
  2. chown -R jabber:jabber /usr/local/var/jabberd/pid/

#创建logs目录

  1. mkdir -p /usr/local/var/jabberd/log/
  2. chown -R jabber:jabber /usr/local/var/jabberd/log

#配置文件的:
#创建PID’S目录

  1. mkdir -p /usr/local/jabberd/var/jabberd/pid/
  2. chown -R jabber:jabber /usr/local/jabberd/var/jabberd/pid/

#创建logs目录

  1. mkdir -p /usr/local/jabberd/var/jabberd/log/
  2. chown -R jabber:jabber /usr/local/jabberd/var/jabberd/log/

#我的:

  1. mkdir /var/log/jabberd
  2. mkdir /var/log/jabberd/pid
  3. mkdir /var/log/jabberd/log
  4. chown -R jabber:jabber /var/log/jabberd/
  5. chown -R jabber:jabber /var/log/jabberd/pid/
  6. chown -R jabber:jabber /var/log/jabberd/log/
  7. cd /usr/local/jabberd/
  8. mkdir /usr/local/jabberd/var/
  9. cd /usr/local/jabberd/var/
  10. ln -s /var/log/jabberd/ /usr/local/jabberd/var/jabberd
  11. chown -R jabber:jabber /usr/local/jabberd/var/
  12. #chown -R jabber:jabber /usr/local/jabberd/var/jabberd

3.jabberd的安装先决条件
>= 0.9.6b 的 OpenSSL
>= 0.3.0 的 Libidn
数据存储设备(例如Mysql数据库)
认证包(Mysql, Berkeley DB, PostgreSQL, OpenLDAP, PAM. )
注:咱们来使用Mysql,Mysql也是默认的认证方式,稍候会介绍配置Mysql数据库的方法

#———————————————-

集中你的注意力,下面正式开始 :)
1.先从jabberstudio下载server端和客户端

2.解压缩执行

  1. ./configure --prefix=/usr/local/jabberd --enable-mysql --enable-ssl --enable-idn --with-extra-include-path=/usr/local/mysql/include/mysql --with-extra-library-path=/usr/local/mysql/lib/mysql/
  2. make
  3. make install

刚开始没有加入–with-extra-include-path和–with-extra-library-path
提示我找不到mysql.h 和mysql client libraries,如果你也遇到了这样的问题,请加入这两个参数,多个路径之间用:分隔

注:全部的configure配置请在command键入 ./configure –help 以获得全面地帮助

先不要删除这个目录,后面还会用到

3.编辑你的/etc/profile
在最后加入:

  1. JABBERD_BIN=/usr/local/jabberd/bin
  2. PATH=$PATH:$JABBERD_BIN

没有什么其它的用处,就是为了方便

4.然后设定配置文件的访问权限,这步一定不能少,否则你修改过配置文件后,再次的启动服务器,将会出现配置文件无法读取的错误
注:官方文档说安装完后配置文件存放在 /usr/local/etc/jabberd,bin目录在 /usr/local/bin
但是我的配置文件存放在 /usr/local/jabberd/etc/jabberd/,bin目录在 /usr/local/jabberd/bin/
bin目录不用去管他,如果为了保险起见,可以执行下面的命令,我就是这么做的

  1. ln -s /usr/local/jabberd/etc/jabberd/ /usr/local/etc/jabberd

#官方的

  1. chown -R root:jabber /usr/local/etc/jabberd/*
  2. chmod -R 640 /usr/local/etc/jabberd/*

#我的

  1. chown -R jabber:jabber /usr/local/jabberd/etc/*
  2. chown -R jabber:jabber /usr/local/jabberd/etc/jabberd/*
  3. chown -R jabber:jabber /usr/local/jabberd/etc/*
  4.  
  5. #chmod -R 640 /usr/local/jabberd/etc/*
  6. chmod -R 640 /usr/local/jabberd/etc/jabberd/*
  7. chmod -R 640 /usr/local/etc/jabberd/*

注:这里要根据自己实际的路径进行修改

官方提示要加这一步

  1. ln -s /usr/local/etc/jabberd/ /etc/jabberd

至此,jabberd就算安装完成了,下一节讲述基本配置,有些麻烦但是还很重要。这大热天的,怎么没绿豆汤呢?

#———————————————-

基本配置
一共3大步骤
在sm.xml和c2s.xml中设定Host Name
提供和配置数据库还有认证信息
最后就是测试服务器啦

按照官方的解释是:jabberd2的配置是通过/ett/jabberd 目录中的6个xml 文件来完成的,访问的时候是通过 /etc/jabberd 来访问的
你可以像我这样,ln -s /usr/local/jabber2/etc/jabberd/ /etc/jabberd 来做一个链接
刚才咱们已经做了这一步了

下面和我一起来修改sm.xml文件
首先在sm.xml 和 c2s.xml中修改 Host Name
编辑你的sm.xml文件
在第7行左右找到

  1. <id>localhost</id>

将localhost改为你定义的域名(Host Name)
我改为:taoer.com
编辑你的c2s.xml文件
在第77行左右找到

  1. <id>localhost</id>

将localhost改成和你刚才改动一致的HostName
我改为:taoer.com

注:你所改的域名必须要internet可以解析得到

接下来配置存储和认证部分
这里以Mysql为例
进入你刚才解压缩的目录下的tools目录中

关于数据库名有两种方法,第一种是直接运行脚本,然后再修改数据库名字
另外一种是先编辑脚本(db-setup.mysql)

  1. CREATE DATABASE jabberd2;
  2. USE jabberd2;

这两句
把jabberd2修改为你想要的数据库名字
我推荐使用第二种,我就是这么做的

然后

  1. mysql -uroot -p

#输入密码…

  1. \. db-setup.mysql

运行后,会显示许多Query OK
如果没有显示失败,就ok了

然后给数据库用户进行授权,建议不要用root用户
提醒一下:数据库用户的密码不要有&,因为待会要在sm.xml,c2s.xml中输入密码,如果有&会报告错误的 :p

jabberd server 会去/tmp目录下找你的mysql.sock
如果/tmp下面没有这个文件,你可以先用locate mysql.sock 查找,然后ln一个就好了
这里是locate的用法
你也可以查看你的my.cnf文件,在里面你可以找到mysql.sock位置

开始配置mysql得用户名和密码

再次打开你的sm.xml文件
在大约69行左右的位置找到

  1. <driver>mysql</driver>

然后按照自己的配置进行修改吧。

  1. <host>localhost</host>
  2. <port>3306</port>
  3. <dbname>jabberd</dbname> 
  4. <user>jabberd2</user>
  5. <pass>secret</pass>

修改成你自己的数据库配置吧,相信1分钟可以搞定的 :)

继续打开c2s.xml来进行Authentication的配置
在大约268行左右的位置找到

  1. <host>localhost</host>
  2. <port>3306</port>
  3. <dbname>jabberd2</dbname>
  4. <user>jabberd2</user>
  5. <pass>secret</pass>

修改成你自己的数据库配置吧,相信1分钟可以搞定的 :)

好了,配置基本完成了
现在可以来测试了

进入你的jabberd2的目录的bin目录下
执行./jabberd &
如果不能启动,请执行./jabberd -D &
-D参数会把debug信息print出来

#——————–
PS:其实,现在你的jabberd就可以工作了
我用的客户端是windows平台下的exodus,当然你也可以使用gaim或者其他的客户端
在客户端的Jabber ID输入: taoer@taoer.com (<用户名@yourdomain.com/net/...>)
密码可以留空
在新帐号注册那个复选框打勾
输入你想要得密码
然后进行登陆,会提示“服务器不允许进行快速注册,你是否还要进行注册”,选择是
你就可以注册并登陆了,和你的朋友一起测试一下吧 :)

#——————–
现在开始通用的配置
共分为:
1)配置防火墙的internet访问设置
2)为jabberd2配置ssl
3)改变Router密码
4)创建一个管理员用户
5)禁止公开注册
6)允许用户更改密码
7)设定DNS记录
8)使用jabberd1.4连接到服务
9)使用JCR连接到服务
10)使用Users-Agent建立一个JUD
11)和Vcard整合Users-Agent

1.下面让你的防火墙允许tcp的5222和5269通过,根据自己的系统进行相应的设置

2.配置ssl,略

PS:第3,4步骤不明白是做什么用的,只是按照官方的文档作相应的修改吧
3.更改Router密码
需要修改的文件是:router-users.xml
如果你改变了这个文件,相应的,router-users.xml, sm.xml, resolver.xml, s2s.xml and c2s.xml 都需要进行修改

编辑你的router-users.xml文件

  1. <name>jabberd</name> 
  2. <secret>secret</secret>

在这两行作相应的修改即可

然后编辑上面提到的其他需要修改的文件
找到 router节点中的

  1. <ip>127.0.0.1</ip>
  2. <name>jabberd</name> 
  3. <secret>secret</secret>

进行修改即可
注:我修改了name和secret,结果是服务无法正常启动
继而修改了ip,结果是服务可以正常启动,但是客户端却连接不上,不知道是为什么 :(

先跳过这个步骤再说

…….

locate 基本使用方法

文章类别: 程序 技术 — SuperTaoer @ 9:48 am

locate命令很有用
可以快速的查找出你想要的文件

第一次使用
先执行 updatedb
然后执行 locate findname
findname为你要查找的名字
就这么简单 :)

八月 7, 2005

随机显示图片的WordPress插件

文章类别: WordPress的 — SuperTaoer @ 11:49 pm

版本:1.0
较beta版做了如下修正
增加了随机图片的防止重复的功能,除非你只有1张图片 :p
修正时间:2005-08-08
下载地址:点击右键另存为php格式即可
——————————
程序很简单,目前还是beta版
之所以叫做beta版,是因为本人是个实用主义者,有些人性化的地方考虑欠缺。
算是处女作吧 :p
下载地址:点击右键另存为php格式即可
放到plugins目录下,在后台激活即可,然后在你想要出现图片的地方,加入如下代码即可:

  1. <?php if (function_exists('st_get_random_images')) : ?>
  2.     <?php st_get_random_images(); ?>
  3. <?php endif; ?>

程序中的函数名,部分变量加上st_前缀是怕重名,不喜欢的朋友可以去掉,然后做相应的修改即可,
添加自己图片的方法,找到random-images.php的下面这行:

  1. 0 => "images url",

其中images url为图片的url。
需要注意的是:如果有中文出现并且显示不正常的情况,请使用linux的iconv命令或者其他的工具将文件转码成utf-8编码,这里是关于iconv命令的使用方法
可能这个就是不人性化的地方吧:p 等有时间把这个功能加在后台管理中。
欢迎朋友们与我交流 :)

八月 2, 2005

awstats 实现多个站点的统计

文章类别: 程序 技术 — SuperTaoer @ 11:13 pm

实现的思路:
用awstats自带的工具来合并多个日志
然后让awstats定期的去更新。

下面是脚本的下载
myAwstats.sh

updateSiteAllStat.sh

根据自己日志生成方式的不同,来修改updateSiteAllStat.sh的路径和文件名
然后在crontab中定期执行updateSiteAllStat.sh就可以了

具体的访问方法就要看自己的awstats的设置了 :)

« 前一页下一页 » 


本站使用 WordPress架设