搭建小型邮件转发服务

10月 19th, 2008 by yang

ucenter home一直是靠着foxmail的邮件转发来实现的,这种方法的坏处就是,转发速度太慢。往往用户申请密码丢失等待几分钟后才能到邮箱中看到邮件,效果不好。
考虑到以后ucenter home的邮箱注册激活功能或许能实现,所以在家搭建了exim4,通过google的smtp来转发,果然,google的速度是一流的。现在把基本的配置记下来,以备后用。
服务器是debian,用apt-get安装exim4,exim4-config,exim4-daemon-light
之后配置/etc/exim4/update-exim4.conf.conf,配置文件如下:

dc_eximconfig_configtype=’smarthost’ #用smarthost发信;通过SMTP或fetchmail接收信件
dc_other_hostnames=”
dc_local_interfaces=’127.0.0.1′ #只接收本机的SMTP请求,只在本机使用Exim4
dc_readhost=”
dc_relay_domains=”
dc_minimaldns=’false’
dc_relay_nets=”
dc_smarthost=’smtp.gmail.com’ #gmail的smtp主机
CFILEMODE=’644′
dc_use_split_config=’false’ #不使用分散方式的配置文件
dc_hide_mailname=’false’
dc_mailname_in_oh=’true’
dc_localdelivery=’mail_spool’

然后编辑/etc/mailname,也就是@后面的那一段了。
运行update-exim4.conf来检测配置段落是否有错误,没有的话就会生成/var/lib/exim4/config.autogenerated,之后用exim -bV来查看:

Exim version 4.63 #1 built 20-Jan-2007 10:40:39
Copyright (c) University of Cambridge 2006
Berkeley DB: Sleepycat Software: Berkeley DB 4.3.29: (September 6, 2005)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /var/lib/exim4/config.autogenerated

测试一下外部发送邮件
exim4 -bt yoyoliyang@gmail.com

from:root
to:shouguang@shouguang.org
subject:local mail test
test will be ok.
.
LOG: MAIN
<= root@shouguang.org U=root P=local S=380
debian:/home/shouguang# delivering 1KrNb4-0006Rp-Uc
R: smarthost for shouguang@shouguang.org
T: remote_smtp_smarthost for shouguang@shouguang.org
Connecting to gmail-smtp-msa.l.google.com [209.85.143.111]:25 … connected
SMTP<> EHLO debian.shouguang.org
SMTP<> STARTTLS
SMTP<> EHLO debian.shouguang.org
SMTP<> MAIL FROM: SIZE=1414
SMTP<> QUIT
LOG: MAIN
** shouguang@shouguang.org R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after MAIL FROM: SIZE=1414: host gmail-smtp-msa.l.google.com [209.85.143.111]: 530-5.5.1 Authentication Required. Learn more at\n530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 2sm3024427tif.0
LOG: MAIN
<= R=1KrNb4-0006Rp-Uc U=Debian-exim P=local S=1464
LOG: MAIN
Completed

实际上报错,这很正常,因为我们要经过smtp.gmail.com的用户验证。修改/etc/exim4/passwd.client,按照举例添加smtp地址和用户名密码,google的smtp真实地址为:gmail-smtp-msa.l.google.com。
修改/etc/exim4/email-addresses,添加用户对应的外部地址。

root:root@gmail.com

如果对应的smtp服务器要求明文验证密码,需要更改/etc/exim4/exim4.conf.template,gmail不需要更改。
# clear text password authentication on all connections.
AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS = 1
之后重启exim4服务,可以顺便测试一下。

还没有结束,只是本地exim4服务搭建好了,另外因为ucenter home需要通过PHP函数的sendmail来发送邮件,所以还要修改php.ini,修改/etc/php5/apache2/php.ini:
sendmail_path = sendmail -t
好了。经密码找回测试,成功。

zenwalk5.2安装配置

10月 17th, 2008 by yang


下载core的iso镜像,因为没有刻录机,所以硬盘安装。提取iso中的内核bzImage和initrd.img镜像到fat32分区中,用grub来引导即可。
启动安装界面,选择键盘,之后分区,选择挂载点。因为硬盘安装,会提示你选择光盘或者是硬盘安装的目录,要把iso给挂载上(引导内核中无法挂载ntfs分区),注意不要挂载到mnt分区中。
之后会自己安装软件包,然后安装lilo,我没有安装它,还是用大grub for dos来引导的,注意内核版本。
然后重启,设置网络和开机启动服务之类不再赘述。
利用netpkg来升级整个系统,然后按照自己的要求来安装x-window。不再赘述。
ps:
netpkg 命令从网络下载安装软件包,比较简单的命令,不过镜像速度倒是不错。

netpkg package_name1 package_name2 (patterns)… 从网络安装包
netpkg install package1.tgz package2.tgz … 安装本地包
netpkg upgrade|download 升级或者下载

利用removepkg来删除包。

中文化,我拷贝了STHeiti,效果还算可以。

slitaz安装配置

10月 15th, 2008 by yang

一直没有功夫来把slitaz配置好。今晚总算把它给弄好了。
slitaz是法国的一个linux版本,不支持中文,支持持法语和E文。非常小巧,仅25M的iso,启动速度很快。

这里就随便说说几点注意事项吧。有点累了,折腾了一晚上。
安装完毕后,利用tazpkg更新镜像,先把旧的包更新一遍。之后安装slitaz-dev-tool这个系列包,里面包含了基本的编译工具。
之后编译fcitx输入法。注意的时,在autogen时,会出现aulocal找不到,是因为没有安装autoconf和automake的缘故,从镜像安装即可。make完毕后,make install会出现权限错误,是因为install-sh这个脚本没有执行权限,加上即可。我安装到了/opt中,在profile中添加了路径。
fcitx编译成功了,然后再安装locale了,这个麻烦,我没有自己弄,而是下载了一个slitaz的中文包,这个包有点问题,直接安装后里面的sakura终端无法开启(貌似版本问题)。可以在google搜索“slitaz中文包”。我只是将其解开,然后把里面的locale文件拷贝过来了。其他的都没有装。
修改locale.conf,添加全局locale为utf8即可。
另外挂载也有问题,busybox中mount的bug,可以到kernel.org下载until-linux编译,将编译完成的mount 做个/usr/bin连接即可,用来替换busybox中的mount。之后挂载就没有问题了,可以写入到fstab中自动挂载了。
基本就是这样了,还有一些问题没解决,比方没有安装Xorg,而是用的Xvesa,另外键盘大小写好像也有问题,这些都是些小问题了。
不弄了,明天再说,睡觉了。这都几点了。

ps:tazpkg常用命令

tazpkg search packagename 搜索包
tazpkg get-install packagename 下载并安装包
tazpkg get packagename 仅下载包
tazpkg remove packagename 删除包
tazpkg packagename.tazpkg 安装tazpkg格式包

slitaz linux

10月 12th, 2008 by yang

发现硬盘里面有个空白分区,500Mb,然后就想找个迷你的linux版本来安装。找了几个版本,最后选择了slitaz(蜘蛛)。

是基于busybox的,iso才25mb,安装后不到300Mb。不支持中文,用的是slim+jwm+lxpanel+xVesa。里面软件倒是不少,因为是busybox的,所以命令太弱。不过启动速度还算不错,不到10秒钟,如果在我的台式机上面启动的话,估计5秒钟就可以进入X。

如何支持中文:拷贝simsun到font目录就可以显示中文了,输入法可以编译fcitx,设置一下xim就可以调用输入法了。因为编译依赖太多了,所以如果编译fcitx的话,我的磁盘就不够用了。有个slitaz的中文包可以直接安装。

用的是tazpkg包管理器,软件源里面的包太少,所以大部分要靠自己编译。

发现的几个问题:mount无法挂载ntfs分区,即便是装上了ntfs-3g和ntfsprog也只能靠ntfsmount来挂载,无法将其写入到fstab,只能添加脚本了。另外每次开机默认的dhcp服务启动后会把系统内默认的dns_server添加到resolv.conf中去,不得已,要修改/etc/init.d/network.sh脚本,添加dns地址。还有就是因为没有zh_cn的locale,挂载ntfs不会显示中文。

如何在fstab中添加ntfs以便自动挂载:安装until-linux,使用其中的mount命令来挂载而非busybox中的。这貌似是busybox的bug。

中文目录显示:肯定要添加中文locale了。

虽然不怎么特别实用,但是我很看好它的启动速度。

我离blog越来越远了

10月 11th, 2008 by yang
先声明一下,我一直很厌恶博客这个名词,但是后来习惯了,厌恶也没法,也就这么叫了。博客,部落格,等等。。。都是翻译、非原生的恶作剧。
 
从大一那年开始写博,到现在也算是个正儿八经的“博人”了吧。说实话我从高三才开始弄电脑的。在大舅那台破旧的电脑上什么都捣鼓,dreamweaver,flash,乱七八糟的,现在那台电脑早就废弃了,64MB的内存,当年怎么经得起我的折腾?
 
博客,这个名词,早就落伍了。之前刚兴起来的时候,每天都写,不论是什么东西,只要上网就写博客,把自己平常的事情都报告到了网络上面,web log,网络日记,平常都不写日记的,但是网络日记每天必写。连吃个饭,打个哈欠都要写上去。今晚我翻了翻以前的旧博客觉得挺有意思,相比现在写的东西真的要有意思的多了。
 
最早的博客落在opera的官方博客上,域名忘记了,从大一待在上面,写了半年。现在早就没有了,数据也没有导出来,毕竟不是正规的接口,想导也不行啊。
之后发觉opera太慢,然后傻瓜一样的去到网上找“馅饼”–免费的空间,安装blog源码。我用的最早的源码不是wordpress,而是dotclear。觉得挺好,用了不到一个月,免费空间挂掉了。记得当时还申请了个免费的二级域名,好像是:liyang.pxl.com之类,也懒得去查了。
后来才找到了著名的wordpress,那时的版本,真是好用啊,不像现在的,体积庞大了不说,速度也慢了,感觉很笨重。插件也懒得去研究了。那时候就是疯狂的修改模板,修改代码。
之后的半年时间,也就是到2006年上半年这段时间,我几乎是每天都在寻找php源码,最多的是blog的,论坛的也弄过。现在想想,当初买个域名做个论坛就好了,唉,没条件啊!穷学生,钱都花哪里去了?
到了06年下半年,我的博客生涯稳定了下来,开始在sohu的博客上面写博了,每天都在写,有什么写什么,反正当时我每天都上网,平常干什么,玩什么,都写在了上面。现在旧博客还保留着,不过因为后来转移地址到blogspot,里面的文章都被我用rss导入然后删除掉了。地址:yy-fish.blog.sohu.com。现在只有几个我拷贝的文章,一点实际意义都没有。
我的yy-fish.blog.sohu.com开博时间为2006-06-13。终止于2006-08-?。
之后我转移到了google的blogspot,于此同时我开始学习了linux,并进行了深入的研究,技术文章时代到来。在此期间因为blogspot多次因为GFW(长城防火墙)屏蔽–估计是那帮美国小子发黄图太多–期间我转移到了很多wordpress系统的博客服务商名下。好多都记不住了,不过数据也都保住了。一直到2007-04-03。
我的yoyoliyang.blogspot.com开博时间2006-08-22。终止于2007-04-03。
再后来我便搬家到了yo2,很稳定的博客托管,一直用到差不多现在了,不过期间因为yo2发广告太多了,乱七八糟的东西太啰嗦,我也同步更新着yang.wordpress.com.cn这个博客,都是wp的,数据导入方便。不过貌似它更容易被google搜到,评论较多。后来yo2的博客被我拿来做导入的试验,把数据全删掉了。反正数据现在都在shouguang.org/yang里面。
我的yoyoliyang.yo2.cn开博时间忘记了,终止时间现在。
也就是现在了,我把博客弄到了服务器上,起初的想法是增加google的搜索,把家园排行给提高。后来用不着了,也没怎么管它,写的东西是愈来愈少,几乎是不见更新了。令外发现我订阅的好多blog都是很久才更新一次的,都差不多了的样子,没什么东西可写了。普遍了,和往日记本上写东西一样,没什么好写的。
博客留着,旧博客都留着,或许搜搜以前的用户名还能发现什么。我以前的网名很多啊,比方yy-fish,幽火,隼龙龙,等等。
好久没写这么长的文章,不过还不痛快,还有一些没写的,哈哈。

MAC搬进了计算机,累的眼疼

10月 10th, 2008 by yang

不论是安装多么麻烦,还是使用上多么不方便。虽然很炫的桌面,很酷的动态效果–用起来真累啊!其实主要是眼睛太累,分辨率没有打上去啊,19寸显示器用着1024×768,哎。

但是操作起来还是比较方便的,一切都自然。

另外我发觉mac的好多东西都似曾相识,在linux和win中,linux最多。比方gnome的面板,另外pidgin的登陆界面。还有很多了。

在linux中使用awn等dock之类的会感觉十分不适,但是在osx中,原生的东东就是棒啊。在linux或windows中,无论把系统装扮的怎么像osx,但始终不如亲身操作osx。

osx很牛,不过现在因为显卡驱动没有装好,GMA3100的显卡貌似没有forMac的啊,所以显示器看起来太累眼睛了,受不了了,来到xp中发表日志咯。如果能装上显卡驱动就几近完美了,哈哈。

另外说一下我的安装方法和注意几点:

下载了leo4all3final,用的是mac硬盘安装助手,先把iso拷贝到移动硬盘,之后用tboot来引导安装的。如果你能用tboot引导起darwin的启动菜单,之后启动的时候出现重启的情况,那么可以禁掉双核。反正我是这么处理的,安装成功了。

驱动不要多选。我安装完毕后,系统进入的时候太慢了,估计有6分多钟。其他的一切正常。

发个截图,更多截图看这里


ucenter日志mp3插件

10月 3rd, 2008 by yang

<div id=”createMp3″ class=”eMenu” style=”display:none;top:35px;left:26px;width:400px;font-size:12px”>
请输入MP3音乐URL地址:<br/>
<select name=”vmp3auto” id=”vmp3auto”>
<option value=”0″>自动播放</option>
<option value=”1″>手动播放</option>
</select>
<input type=”text” id=”mp3Url” name=”mp3Url” value=”http://” class=”t_input” style=”width: 190px;” /> <input type=”button” onclick=”createMp3();” name=”createURL” value=”确定” class=”submit” /> <a href=”javascript:;” onclick=”fHide($(’createMp3′));”>取消</a>
</div>

风格看起来还是不错的,做了修改。

如上一段,可以适应ucenter1.5的风格,现在头有点大。可以看看我写的说明。

flashplayer文件,和flash执行脚本,以及editor_boolbar.gif,在这里下载。
位置:

image/player.swf
image/audio-player.js
image/editor/editor_boolbar.gif

三个需要修改的文件
/www/editor.php,需要添加如下字段:

a.icoMp3{background-position:-580px 1px}    //gif图标位置

<a href=”javascript:;” class=”icoMp3″ id=”icoMp3″ onClick=”createMp3(event, 1);return false;” title=”插入音乐”></a>  //执行脚本

<div id=”createMp3″ class=”eMenu” style=”display:none;top:35px;left:26px;width:400px;font-size:12px”>
请输入MP3音乐URL地址:<br/>
<select name=”vmp3auto” id=”vmp3auto”>
<option value=”0″>自动播放</option>
<option value=”1″>手动播放</option>
</select>
<input type=”text” id=”mp3Url” name=”mp3Url” value=”http://” class=”t_input” style=”width: 190px;” /> <input type=”button” onclick=”createMp3();” name=”createURL” value=”确定” class=”submit” /> <a href=”javascript:;” onclick=”fHide($(’createMp3′));”>取消</a>
</div>

/var/www/image/editor/editor_base.js,添加如下:

icoMp3:”createMp3″,  //mp3图标和变量

fInObj(el, “createMp3″) ||

/**
* 创建MP3
*/
function createMp3(e, show) {
if(typeof show == ‘undefined’) {
var mp3tag = ”;
var mp30bj = $(’mp3Url’);
var sMp3 = mp30bj.value;
if ((sMp3!=null) && (sMp3!=”http://”)){
setCaret();
var sIsAuto = $(’vmp3auto’).value;
if(sIsAuto==1) {
mp3tag = ‘[mp3=auto]‘;
} else {
mp3tag = ‘[mp3]‘;
}
format(”insertHTML”, mp3tag + sMp3 + ‘[/mp3]‘);
}
fHide($(’createMp3′));
mp3Obj.value = ‘http://’;
} else {
if(gIsIE){
var e = window.event;
}
getCaret();
var dvMp3Box = $(”createMp3″);
var iX = e.clientX;
var iY = e.clientY;
dvMp3Box.style.display = “”;
dvMp3Box.style.left = (iX-300) + “px”;
dvMp3Box.style.top = 33 + “px”;
}
}

/www/source/space_blog.php,插入如下段落:

// 插入mp3标签处理
function blog_bbcode( $message )
{
$message = preg_replace( “/\\[flash\\=?(media|real)*\\](.+?)\\[\\/flash\\]/ie”, “blog_flash(\”\\2\”, \”\\1\”)”, $message );
$message = preg_replace( “/\\[mp3\\=?(auto)*\\](.+?)\\[\\/mp3\\]/ie”,”blog_mp3(\”\\2\”, \”\\1\”)”,$message);
return $message;
}
//插入mp3
function blog_mp3( $mp3_url, $state )
{
$optauto = “”;
if ( $state == “auto” )
{
$optauto = “&amp;autostart=yes”;
}
$html = ‘<script language=”JavaScript” src=”image/audio-player.js”></script><object type=”application/x-shockwave-flash” data=”image/player.swf” id=”_RANDOM_ID_” height=”24″ width=”290″><param name=”movie” value=”image/player.swf”><param name=”FlashVars” value=”playerID=_RANDOM_ID_&amp;soundFile=’.$mp3_url.$optauto.’”><param name=”quality” value=”high”><param name=”menu” value=”false”><param name=”wmode” value=”transparent”></object>’;
return $html;
}

what’s the fuck?!

09月 25th, 2008 by yang

昨晚看电影,什么也没有学会,就学会了怎么fuck。
比方waht‘s the fcuk?还有如何用fuck来修饰要骂的东西:the fucking weather!该死的天气。
哈哈
记得我在大学的时候,那次打球,有个学生,是个老外,挺会说中文,什么“操”“他妈的”特别熟,其他的还不会说。我就寻思,你个fucking 老外,在中国学了些fucking狗屎。

RGBA补丁

09月 25th, 2008 by yang

nautilus,pidgin

RGBA Support for Applications list

vsftpd注意事项

09月 24th, 2008 by yang

注意传送模式,因为服务器在路由器下,所以需要开启被动模式。

pasv_enable=YES
pasv_min_port=65200
pasv_max_port=65300
pasv_promiscuous=YES  //取消port安全检查,否则IE登陆出错。

开启防火墙端口,用iptables开启65200~65300端口。

iptables -A INPUT -p tcp –dport  65200:65300 -j ACCEPT

另外,添加noShell用户时,注意在/etc/shells中添加nologin路径。

现在还有的问题就是,无法用IE登陆ftp(外部网络),提示连接超时。但是在内网中可以实现域名登陆,估计是路由问题。暂时用falshFXP等ftp客户端传送。