<TD colspan=3 width=600 bgColor=#B2DFEE>工作日志提交人:$name<TD></TR>
style=table-layout: fixed这种属性很少用,直接用width就fix了


#wrap{word-break:break-all; width:888px; overflow:auto;}

<div id="wrap">字。。。</div>
(firfox出现滚动条)

dony:
word-wrap:break-word;

参考了解:http://homepage.yesky.com/207/7707707.shtml
采取以下行为,确保自己能有一个好的结果,如下:
1.回到学校去住宿,这样有两点好处,一是可以省钱,二是有一个好的学习生活环境,何况现在是4个人住,以前是8个人都觉得很爽呢,而且上班也方便。
2.有空多住国图跑,那儿的论文和书都很多。。。。可以不用钱买,也是在学校住的一个方便之处。
3.养精蓄锐,注意驾驭一下自己的随心所欲,以修养生息为主,最终投入好的工作中去。。。
对c++ shell Linux 有一个深入的研究,也就是让他们来干一些事情,在这个变化的互联网中,必须精通三四门语言,二三种操作系统,三四种数据库。。。并对一些大的框架有一定的研究。。。到此,也就算是完成这一年的任务。。。年轻就是资本,哈哈。。
http://www.zhantai.com
金钱视我如粪土,我还视金钱如粪土呢!都是粪土谁怕谁啊?
 
我知道我不算帅哥,但曾经有人看我满月的照片时,也说过我左边的鼻孔很偶像派。
 
独守空房,让人只能浪费;妻妾成群,让人懂得节俭。可是我现在,却在终日浪费中向往节俭。
 
我梦想的人生:睡觉睡到自然醒,数钱数到手抽筋。
  我现实的人生:数钱数到自然醒,睡觉睡到手抽筋……
 
女朋友分手之后,我终于明白,幸福要掌握在自己的手中,而不是在别人的嘴里!
今天看书,看到康熙皇帝在二十三岁的时候已经贵为一国之君,绩伟功丰,我很沮丧;但又看到同治皇帝在二十三岁时已经死了四年了,我平衡了。
情人节,孤单的我在饭馆吃面,听到收音机里的点歌节目说:“有一位先生给所有恋人们点歌来表达他的祝福,下面请听《无言的结局》。”……我觉得很不好,人可以无爱,但不能无耻,于是我也打电话点播了一首歌——梁静茹的《分手快乐》。
以前喜欢过一个女孩,表白了,那女孩问我为什么喜欢她,我说:如果你是我,也会喜欢上你自己的;
  后来,她把我拒绝了,我很伤心,她不了解我,我告诉她:如果我是你,肯定早就喜欢上我自己了!
今天饭馆的白酒又兑水了!妈的!等我有钱了,也到大酒楼去喝人头马、XO什么的!而且绝对不让他们用八六年和七二年的糊弄我,要喝就来瓶今年的!
其实馒头是万能的,饿了就可以吃。想吃饼,就把馒头拍扁;想吃面条,就把馒头用梳子梳;想吃汉堡,就把馒头切开夹菜吃……
男人,上半身是修养,下半身是本质;女人,上半身是诱饵,下半身是陷阱。
单身很痛苦,单身久了更痛苦,前几天我看见一头母猪,都觉得它眉清目秀的……
男人分两种,一种是好色,一种是十分好色;
  女人也分两种,一种是假装清纯,一种是假装不清纯。
有些人的爱情是A片,有些是三级片,有些是喜剧片,有些是文艺片;
  我最惨,我的爱情过程是文艺片、喜剧片、三级片、A片、悬疑片、动作片,最后是KB片,更可气的是,还他妈插播广告……
情人节,我辗转找到一个我中学暗恋的女生的电话,给她发了一条短信:如果只有一碗粥,你先喝半碗,剩下的半碗,我放在怀里给你保温……
  几分钟后,她回了一条短信:你是谁介绍的?一次四百,包夜七百。
 舍不得孩子套不着狼,舍不得媳妇抓不着流氓,舍不得更新得不着收藏……
  .
今天心情一直不好,昨晚的短信让我知道了,我以前暗恋的女生堕落了,竟然跟我说一次四百……
  当时我很伤心,一边伤心一边翻了翻钱包:
  于是我更伤心了,我连陪她堕落一次的资本都没有……
你问我,幸福在哪里?我告诉你,你踮起脚尖,就能离幸福更近一些,你闭上眼,就能感受到幸福了…
  许久,我们分开,我看着你羞红的脸颊,轻声问你,感觉到幸福了么?
  你温柔的低头,娇声回了一句:你今天,吃蒜了。
什么叫残忍?
  是男人,我就打断他三条腿;是公狗,我就打断它五条腿!
 今天心情不好。我只有四句话想说。包括这句和前面的两句。我的话说完了……
 师太,你就从了老衲吧!
  很久很久以后……
  师太,你就饶了老衲吧!
 对付凶恶的人,就要比他更凶恶;对付卑鄙的人,就要比他更卑鄙;
  对付潇洒的人,就要比他更潇洒;对付英俊的人,就要……毁他的容!
 
上一次恋爱给我的教训是:不要找一个喜欢吃辣的女孩作女朋友。
 每一次请她吃完麻辣火锅,我们在一起亲热时,我都会在痛苦不堪中想起一首歌:《燃烧吧!火鸟》。
 
我的原则是:人不犯我,我不犯人;人若犯我,我就生气!
 
忽然想起上大学时,老师出对联:国兴旺,家兴旺,国家兴旺。
  班委对下联:天恢弘,地恢弘,天地恢弘!
  后来我被赶出了教室……
  因为我对的下联是:你妈的,他妈的,你他妈的!
 
然看见书上所谓的当代女子择偶标准:有车有房,父母双亡。
  郁闷。遂写下幻想中的选妻标准:
  家中财产过亿,美貌天下第一,贤惠温柔性感,岳父癌症晚期……
 
凤凰重生就是涅盘,野鸡重生就是尸变。
 人生啊,不能在一棵树上吊死,要在附近几棵树上多死几次试试。
 
我才发现,吸引住男人的办法就是让他一直得不到;吸引女人的办法正好相反,就是让她一直满足。
 人生的悲惨在于:辛辛苦苦的作了一晚上内容香艳的美梦,第二天早上醒来居然全都记不起来了!
这个世界不公平就在于:
  上帝说:我要光!——于是有了白天。
  美女说:我要钻戒!——于是她有了钻戒。
  富豪说:我要女人!——于是他有了女人。
  我说:我要洗澡!——居然停水了!
 
吃了晚饭在阳台抽烟享受,忽见夜空中一个光点转瞬即逝的划过,心里一激动:流星!于是马上许愿……
  许了六七个愿望,睁眼,烟已经抽完了,顺手扔出阳台,忽然听见楼下一个女孩的声音:“哇!流星!快许愿……”
 记得刚毕业不久的一天,女友给我发了一条短信:“我们还是分手吧!”
  我还没来得及伤心呢,女友又发来一条:“对不起,发错了。”
  这下可以彻底伤心了……
野猫:走哪儿睡哪儿。
  野狗:逮什么吃什么。
  野男人:见一个爱一个。
 
在街上看美女,目光高一点就是欣赏,目光低一点就是流氓。
 朋友说:“我和女朋友有隔阂,我下面给她吃,她说咸,她下面给我吃,我怕酸……”
  想了许久,我终于明白了。
 父亲问我人生有什么追求?
  我回答金钱和美女,父亲凶狠的打了我的脸;
  我回答事业与爱情,父亲赞赏的摸了我的头。
 
科学证实:劣质避孕套容易导致直肠癌。
 
香荷碧水动风凉,水动风凉夏日长,长日夏凉风动水,凉风动水碧荷香。
 
贞操因人而异,比如人们会赞美一个女孩是处女,却也会嘲笑一个男孩是处男。
 
有人说春天把女朋友埋到地下,到了秋天就会收获很多很多女朋友。
  我听说有人相信并照做了,他在春天把女朋友埋到了地下,到了秋天,他被pol.ice叔叔埋到了地下……
 
面对困难时:死都不怕,还怕活着吗?
  面对危险时:活着都不怕,还怕死吗?
  这就是爱因斯坦的相对论……
 
女孩在乎的是下半生的幸福;男孩关注的是下半身的幸福……
 
如果人生能像电影一样,我一定大刀阔斧的剪辑一遍,把少年时上学的段落剪成字幕,把青年时创业的段落剪成一个特写,把中老年时期的做爱片段,剪成整个故事……
 
今天约见了一女网友,名叫“稚嫩小妹”,暗号是拿着一只玫瑰花,在约会地点张望,见一女握玫瑰做翘首状,遂逃,晚上联网,质问对方:怎么是你妈来替你见网友?……从此我安静的躺在了她的黑名单里。
 
真不明白,女孩买很多很多漂亮衣服穿,就是为了吸引男孩的目光,但男孩想看的,却是不穿衣服的女孩。
 
一般来说长命百岁只是祝愿,但人想活一百岁其实很简单,就是你必须咬牙坚持忍受一千二百个月……
 
每个人都是天上落下的 ,只不过有的是完好无损的着陆,有的是脸先着地,有的更倒霉,下落的时候直接骑在了围墙栏杆上……
我终于活着回来了!
  刚刚见了一个网友,长得很像如花,还是毁容版的如花,你能想像么……
 
我喜欢把人生交给命运:早上醒来我都会抛硬币,如果正面朝上,我就继续睡觉;如果背面朝上,我就躺在床上看电视。如果硬币落地后是立起来的,我就起来收拾屋子。
 
维持生命在于运动,创造生命也在于运动,区别就是——床下床上。
 
我慢慢发现,人才是妖精!有些妖精吃人,但人什么都吃,逮着一只妖精没准也能烧烤了!
 
凶残的人——没事找个人来杀杀。
  风流的人——没事找个美女睡睡。
  富有的人——没事买辆新车开开。
  我——没事捡个烟头抽抽……
 年少的时候有一段时间,一直想表现自己彪悍的一面,于是想纹身,最终没有实施的原因是:我一直在犹豫是纹蜡笔小新好,还是纹海贼王路飞好。
 
男人都好色,色心稍强一点叫色狼,再强一点叫色鬼,更加强就叫色魔,尤其强那就成了变态色魔,好色到了极致,被称作人体美学艺术家。
 
下雨天别出门,雨水虽没毒,湿身事小,淋病事大啊。
 
我把她从女孩变成了女人;她把我从男孩变成了……穷人。
 
如果幸福是浮云,如果痛苦似星辰。
  那我的生活真是万里无云,漫天繁星……
 
男人所说的内在美,指的是胸罩里面,而不是内心。
 我退化了,到现在我还不会游泳,要知道在我出生之前,我绝对是游的最快的那个……
  人要学会自己寻找一些小幸福,比如到街上看一看那些不属于自己的美女,去银行看一看那些不属于自己的钞票,到车展上看一看那些不属于自己的跑车,然后在街上找一个乞丐看,告诉自己:没关系,刚才的那些也不属于他……
 
这几天一直下雨,我猜是玉皇大帝在哭,一定是他和王母娘娘的婚姻不幸福,这种不幸福有两种可能,一种是王母娘娘离开了,一种是王母娘娘不肯离开……
 
妹妹问我:“哥,接吻是什么样的?”我笑着告诉她:“傻丫头,接吻时要说:猪~~~”
  弟弟问我:“哥,什么是接吻啊?”我说:“接吻?张嘴,伸舌头。”
 
经血是子宫在为孤独哭泣,梦遗是精囊在为压抑流泪。月经一月一次,梦遗却不定期,这正说明:男儿有泪不轻弹……
 
雌螳螂在交配后会吃掉雄螳螂,残忍么?但一些女人却在交配途中吞下无数子孙后代……
今晚仰卧,明早起坐,明晚俯卧,后天撑~~~锻炼,有时候就是这么简单。
小时候经常听说有人因为生活压力大而自杀,那时我懂得死亡,却不明白压力是什么,现在长大了,我懂得了什么是压力,开始不明白为什么还有那么多人活着……
 
老天爷给我一双眼睛,让我看到花花世界;老天爷又给我一双手,让我去勤奋劳动挣钱;老天爷再给我一张嘴,让我用它来咒骂老天爷的不公平……
女人无论站多高,蹲下只能湿润脚下的土地;男人厉害了,站的更高,尿得更远!
又美丽、又纯洁、又温柔、又性感、又可爱的处女,就像鬼魂一样,男人们都在谈论它,但从来没有人亲眼见过……
有个女孩写出这么一段话,看出对爱情的迷茫,其实男人一旦将第一次爱全部付出后,可能就不再认真的谈爱了,心灰意冷了。原文与我的感想见以下:
  
  原文:
  “ ...一次偶然进了男友的信箱,看了他写给前女友的信,看了那些信……他对那女孩的爱,尽管已经过去了,但还是让我有些酸酸的妒忌。因为他从来不曾那样对我,我竟以为他不会,我竟以为他生就木讷,不会说甜言蜜语不会轰轰烈烈的爱不会为爱生气或开心,原来不是,他会的,只是要说的对象不是我,或者,该说的想说的都已经对那个女孩说玩了,到我这就没有了…… 我不知道,是因为那是他的初恋,所以才那样全心全意?还是因为是我追他的,让他不那么在乎我?或者,我不是他的真爱,所以不会像对那个女孩那样对我?又或者是,现在年纪大了(其实也才24),没了当初的热情??

  我好困惑。。。好难过。。。男同学们,你们是不是都对初恋念念不忘?你们是不是都不在乎追你们的女孩,哪怕已经是男女朋友了?你们是不是只对第一次爱情付出最多,以后就越来越少了?你们是不是长大了,就没有年少时的激情了?”
    
  我的感想:  
  
  “这是男生的共同心声,我就是完全这么体会的。真想把失去爱后的男生的心声告诉给每位女同胞,真正的恋爱只有一次,爱要珍惜,请勿过分伤了男人的心,切记切记!!!
  失去认认真真的第一次爱后,男人可能不会再那样对以后的女孩真正好了,没有心劲了,没有激情了,也没有对浪漫爱情的信仰了!有些事,一辈子只有一次。 当全心爱过一个人后,该付出的全付出了,全心努力去把握过,曾试图给她想要的一切,试图为她而死,但回报是无动于衷的,在寂寞的等待中,心血一点一滴的滴干了最后心血全无 心灰意冷了,等年龄大了,激情不再,加之事业压力,旧事不想再提起,心力不足,无奈里不再去相信憧憬纯真爱情。爱情失去信仰与希望,感情失去忠一的港湾后,对于男人来说,爱情是什么一切无所谓了,所以不少人去包情人 去找第三者,甚至去嫖妓,这些现象某种意义上说是正常的!
  
  男人心冷了,就难再热起来,一切不可逆呀
  女人呀,就原谅男人这一点吧,除了你自己要好好把握第一次恋爱的男人外,
  其他只能怪造物主了!!!”

真正地隐藏QQ
在单位您可能也需要使用QQ,但并不是每个单位都会同意使用QQ的,抛去技术上的封锁不说,上司监视的目光也是很危险的,怎么办呢?别着急,我有办法!
①首先,点击桌面上的QQ图标,在在线状态下用鼠标右键点击系统托盘中的QQ图标,在弹出菜单中选择“系统参数”,此时,会出现“QQ参数设置”对话框,找到“参数设置”选项卡,去掉其中的“在任务栏显示图标”复选框前面的“√”,确定后托盘中的小企鹅图标就立刻消失了。由此实现第一步隐藏。
②接着,取消“自动弹出信息”前面的“√”,然后将“设置提取消息热键”中的“使用热键”打上“√”,现在你可以使用默认热键“CTRL+ALT+Z”,也可以自定义热键。这样就可以用热键来激活QQ了。哦,对了,请顺手将“好友上站通知”前面的“√”也去掉。
③然后,打开QQ后把显示好友在线的显示屏拖到显示器的四个边角中的任一个,由此实现了第二步隐藏!
④最后,在“QQ参数设置”对话框中点击“声音设置”标签,在“声音开关”中选择“关闭声音”,免得BOSS听到声音。
⑤经过上面的一番设置,基本可达到了“无声无息”的效果,应该可以满足你的要求了吧?


右击任务栏的qq图标然后点击—→设置选项然后选择—→系统设置一项—→点基本设置—→然后在任务栏里方块的勾去掉再任务栏显示图标—→左右确定!OK.很简单。



1、右击托盘QQ图标—→设置—→系统设置—→基本设置—→去掉勾选:再任务栏显示图标—→确定!
2、在QQ上面有三个图表,一个“-”,一个“+”,还有一个“×”,点击“+”—→界面隐藏,然后最小化,就显示不出来了,要用的时候用“Ctrl+Alt+z”就出来了
安装所需软件
sendmail.8.12.10.tar.gz http://www.sendmail.org/
cyrus-sasl-2.1.18.tar.gz http://asg.web.cmu.edu/cyrus/

安装步骤
1、先安装cyrus-sasl-2.1.18.tar.gz,sendmail安装时要用到sasl(简单认证和安全层协议)的库文件的头文件。
解压缩:
# tar -zxvf cyrus-sasl-2.1.18.tar.gz
编译:
进入刚解压的源码目录,运行以下命令完成安装。
#./configure --prefix=/usr/local/sasl2 --enable-login
一定要加--enable-login,因为SASL2默认不支持login这种验证方式,而OUTLOOK是通过login来进行SMTP验证的。
#make # 编译
#make install # 安装
完成以上linux程序安装三步曲之后,就可以开始配置和测试了。

2、配置SASL
为了把SASL应用于sendmail认证,还需进行一些配置工作。sendmail会到/usr/lib目录下去找SASL2库,而我们是把程序安装在 /usr/local/sasl2中,为什么不把软件安装在/usr/lib目录呢?这主要是为了好管理自已安装的软件啦。所以我们要在/usr/lib 目录下做一个链接:
# cd /usr/lib
# ln -s /usr/local/sasl2/lib/* .
ok,接着要在/var/目录下建一个目录给saslauthd进程存在临时数据。
# cd /var
# mkdir state
# cd state
# mkdir saslauthd
注:如果没有这些目录,运行saslauthd时,会提示出错。
ok, 接着为确保CYRUS-SASL2函数库知道怎样验证所收来的SASL认证请求,必须创建一个SASL的配置文件来把MTA程序定义成一个SASL 应用。配置文件名为Sendmail.conf(注意是大写的S),位于/usr/lib/sasl2目录中,也就是 /usr/local/sasl2/lib/sasl2这个目录,记得上面新建的链接了吗?在该文件中你定义你希望使用的认证数据库方法,以下这个例子使用saslauthd来验证认证请求。
# cd /usr/lib/sasl2
# echo 'pwcheck_method: saslauthd' > Sendmail.conf

3、测试
ok,现在可以运行saslauthd了,并进行测试。
# cd /usr/local/sasl2/sbin
# ./saslauthd -a shadow
用shadow的用户和密码进行验证
# ./testsaslauthd -u userid -p password
0: OK "Success."
如果出现以上信息,就说明saslauthd正常运行了。testsaslauthd程序默认是没有编译的,你需要在源码目录树的saslauthd子目录中运行 # make testsaslauthd命令生成。

4、sasl2安装完成后,就要开始安装sendmail了。
先解压sendmail源码。
# tar -zxvf sendmail.8.12.10.tar.gz
如果要sendmail支持SASL,需要修改源码的位置配置文件site.config.m4。site.config.m4位于源码目录树的devtools/Site。文件中应包含以下行:
PREPENDDEF(`confMAPDEF', `-DMAP_REGEX')
APPENDDEF(`confENVDEF', `-DTCPWRAPPERS -DSASL=2')
APPENDDEF(`conf_sendmail_LIBS', `-lwrap -lsasl2')
APPENDDEF(`confLIBDIRS', `-L/usr/local/sasl2/lib')
APPENDDEF(`confINCDIRS', `-I/usr/local/sasl2/include')
第一行配置正则表达式相关内容
第二、三行配置表示在sendmail程序中支持sasl2和tcp_wrapper(可通过hosts.allow和hosts.deny控制访问)
第四、五行配置指出sasl2的库文件和头文件的位置。

ok,接着在编译前要建立一些用户和目录,并确保有正确的权限。
sendmail必须有一个set-group-id(默认是smmsp组)的程序来在一个组可写的目录中查询排队邮件。所以我们要建立一个smmsp用户和组。并建立如下目录并设置相应的权限,具体设置要求可查询源码目录树下sendmail/SECURITY文档。
# groupadd smmsp
# useradd smmsp -d /var/spool/clientmqueue -s /dev/null
# mkdir /var/spool/clientmqueue
# chown -R smmsp:smmsp /var/spool/clientmqueue
# chmod -R 770 /var/spool/clientmqueue
# mkdir /etc/mail
# mkdir /var/spool/mqueue
# chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
# chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue

ok,接下来就可以进入源码目录树开始编译了。
# ./Build -c
-c选项能删除上次编译产生的文件。
# ./Build install
编译完成后就可以进行安装。

5、sendmail配置
要sendmail 正常运行,还需配置几个文件,首先最重要的就是sendmail.cf 文件了。它在源码目录树下的cf/cf目录下有很多例子可参考。你可以拷贝使用。由于sendmail.cf中的语法很复杂,所以不建议手工修改。我们可以以sendmail.mc文档配合sendmail-cf目录下的宏通过m4预处理器自动生成。m4预处理器用来从一组宏文件中创建sendmail配置文件。宏文件作为输入被读进来。宏被展开,然后写到一个输出文件。sendmail-cf目录一般放在/usr/share目录下。其实 sendmail-cf目录的内容和源码目录树下的cf目录的内容是一样的,所以,为了保证sendmail-cf目录的内容与安装版本同步,要把源码目录树下的cf目录的内容拷贝到/usr/share/sendmail-cf目录。

sendmail.mc配置文档内容如下:
divert(-1)
include(`/usr/share/sendmail-cf/m4/cf.m4')
VERSIONID(`linux setup for Red Hat Linux')dnl
OSTYPE(`linux')
dnl Uncomment and edit the following line if your mail needs to be sent out
dnl through an external mail server:
dnl define(`SMART_HOST',`smtp.your.provider')
define(`confDEF_USER_ID',``8:12'')dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
dnl define(`confAUTO_REBUILD')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/mail/aliases')dnl
define(`STATUS_FILE', `/etc/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confCACERT_PATH',`/usr/share/ssl/certs')
dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')
dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')
dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
define(`confTO_IDENT', `0')dnl
dnl FEATURE(delay_checks)dnl
FEATURE(`no_default_msa',`dnl')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
dnl The '-t' option will retry delivery if e.g. the user runs over his quota.
请参阅 Ubuntu简介

请参阅 添加其他软件库

请参阅 安装Codecs

请参阅 安装DVDPlayback

    sudo apt-get install mplayer
    sudo apt-get install mplayer-fonts
    sudo apt-get install mozilla-mplayer
    sudo cp /etc/mplayer/mplayer.conf /etc/mplayer/mplayer.conf_backup
    sudo gedit /etc/mplayer/mplayer.conf

找出下面这一行

    ...
    vo=x11, # To specify default video driver (see -vo help for
    ...

以下面这一行取代

    vo=xv, # To specify default video driver (see -vo help for

安装 w32codecs解码器(用于播放wmv、rmvb等常见windows平台下的多媒体文件;假设你已经添加了ubuntu-cn源)。

    $ sudo apt-get install w32codecs

你也可以自己到Mplayer网站下载最新的解码包,网址是 http://www.mplayerhq.hu/design7/dload.html 选择其中“Binary Codec Packages”标题下的“linux x86 ...”, 如Linux x86 20061022, 下载後解压到 /usr/lib/win32/ 即可。

  * 配置中文字幕显示(可选)

    cd ; mkdir .mplayer
    ln -sf /usr/share/fonts/truetype/arphic/uming.ttf .mplayer/subfont.ttf
    gedit .mplayer/gui.conf

    sub_cp = "GBK"
    font_text_scale = "4.000000"
    font_osd_scale = "4.000000"
    sub_fuzziness=2

mplayer皮肤的安装:假设下载回来的是名字是skin_name.tar.bz2的压缩包:(以下操作以在Nautilus文件管理器下操作为主)

    解压缩下载回来的tar.bz2包,得到skin_name这个文件夹。接下来把这个文件夹剪切到自己home目录下的 .mplayer/skins下,此目录为隐藏属性需要ctrl+h键才能看到。#mplayer皮肤列表中将显示为the_other_name

  1. 请参阅 刷新GNOME面板
  2. 应用程序 -> 影音 -> MPlayer
  3. 重启Firefox使mozilla-mplayer插件生效
       由于工作 ,很少上QQ,用 msn,也 是对自己的严格管理
cat cpp.txt | awk -F " " '{print $2}' | awk -F "|" '{print "cat "$1"|grep WebMailTmpl >>/tmp/" $1}'


ls -lsa | grep sample | awk '{print $10}' | awk -F ".s" '{print "mv " $1 ".sample "$1}'|sh

==> actions.cpp <==
       WebMailTmpl(tmpl,"actions");

==> addjunk.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"addjunk");


==> autoavset.cpp <==
       WebMailTmpl(tmpl, "autoavset");


==> changeusrpsw.cpp <==
       CTmpl   tmpl;WebMailTmpl(tmpl,"changeusrpsw");

==> chkmsgs.cpp <==
       if(folder=="new") WebMailTmpl(tmpl,"chkmsgs_new");
       else if(folder=="tmp") WebMailTmpl(tmpl,"chkmsgs_tmp");
       else if(folder=="out") WebMailTmpl(tmpl,"chkmsgs_out");
       else if(folder=="cur") WebMailTmpl(tmpl,"chkmsgs_cur");
       else if(folder=="sinajunk") WebMailTmpl(tmpl,"chkmsgs_junk");
       else WebMailTmpl(tmpl,"chkmsgs");

==> chknewmsgs.cpp <==
       WebMailTmpl(tmpl,"chknewmsgs");

==> compose.cpp <==
               WebMailTmpl(tmpl,"mordcompose");
               WebMailTmpl(tmpl,"compose");


==> favorite.cpp <==
       WebMailTmpl(tmpl,"favorite");

==> fax.cpp <==
               WebMailTmpl(tmpl,"send_ok");

==> folder.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"folder_add");
       CTmpl tmpl;WebMailTmpl(tmpl,"folder_add");
       CTmpl tmpl;WebMailTmpl(tmpl,"folder_list");

==> folderfunc.cpp <==
// modi global WebMailTmpl

==> global.cpp <==
void    WebMailTmpl(CTmpl& tmpl,LPCSTR tmplname) {
       WebMailTmpl(tmpl,"alert");
       WebMailTmpl(tmpl,"alert2");

==> junkmail.cpp <==
       WebMailTmpl(tmpl, "junkmail");

==> mail.cpp <==
       WebMailTmpl(tmpl,"sinamail");

==> mailboxinfo.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"mailboxinfo");

==> mailfilter.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"mailfilter");

==> mailrv.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"mailrv");

==> mailwarn.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"warn");


==> pop.cpp <==
       CTmpl  tmpl;WebMailTmpl(tmpl,"pop_add");
       CTmpl tmpl;WebMailTmpl(tmpl,"pop_add");
       CTmpl tmpl;WebMailTmpl(tmpl,"pop_list");

==> prof.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"profile");

==> rdMail.cpp <==
       WebMailTmpl(tmpl, tmplfn);

==> redirect.cpp <==

==> refuse.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"refuse");

==> reply.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"reply");

==> scompose.cpp <==
               WebMailTmpl(tmpl,"smordcompose");
               WebMailTmpl(tmpl,"scompose");

==> search.cpp <==
       WebMailTmpl(tmpl,"search_result");
       WebMailTmpl(tmpl,"search");

==> sendmsg.cpp <==
       WebMailTmpl(tmpl,"draft_save");
               WebMailTmpl(tmpl,"send_ok");

==> setautocc.cpp <==
       CTmpl   tmpl;WebMailTmpl(tmpl,"setautocc");

==> sizeandfilter.cpp <==

==> srdMail.cpp <==
       CTmpl tmpl;WebMailTmpl(tmpl,"smail_body");

==> ssendmsg.cpp <==
               WebMailTmpl(tmpl,"send_ok");

==> ssetting.cpp <==
       WebMailTmpl(tmpl,"ssetting");


  1. 安装Mysql
  2. 安装Apache
  3. 安装PHP
  4. 配置httpd.conf
  5. 启动/停止apache



1. 安装Mysql
================


《MySQL Reference Manual》手册中提供了标准安装方法,详见"MySQL Reference Manual -> 2. Installing MySQL -> 2.7. Installing MySQL on Other Unix-Like Systems"


1.1 二进制版本的安装方法

# created by wandering 2005/04/09
--------------------------
#
# 目前的Mysql都是编译好的二进制代码,configure后可直接使用,且无需初始化数据库
# 默认情况,我把安装文件放在/usr/src目录中,把应用安装到/usr/local目录中
#
shell> 先创建mysql用户和mysql组
shell> cd /usr/local
shell> tar zxvf mysql-standard-4.1.11-unknown-freebsd4.7-i386.tar.gz
shell> ln -s ./mysql-standard-4.1.11-unknown-freebsd4.7-i386 ./mysql
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root  .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &
shell> /usr/local/mysql/bin/mysqld_safe --user=root &
shell> echo "/usr/local/mysql/bin/mysqld_safe &" >> /etc/rc.local

OK,Mysql已安装完毕。



1.2 源代码版本的编译安装方法

# added by wandering 2005/12/28
-----------------------------
有时我们也需要编译安装, 最近我在FreeBSD6.0上安装Mysql时, 发现Mysql的二进制版本最高只支持FreeBSD5.3, 经测试, 二进制的安装方法没有成功. 只好手工编译安装了.

安装之前一定要仔细看看INSTALL-SOURCE这个文件, 非常之有用啊!!!

shell> pw group add mysql
shell> pw user add -n mysql -d /usr/local/mysql -s /usr/sbin/nologin
shell> tar zxvf mysql-5.0.18
shell> cd mysql-5.0.18
shell> ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data
shell> make
shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> mkdir data
shell> bin/mysql_install_db --user=mysql
shell> chown -R root  .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &
shell> echo "/usr/local/mysql/bin/mysqld_safe &" >> /etc/rc.local

OK, 可以用了.


用netstat命令可以看到服务器3306端口处于监听状态。

/usr/local/mysql/bin/mysqladmin -u root -p password
enter password:
# 修改root口令,root初始密码为空,所以直接回车就可以了

测试一下新的密码:
mysql -u root -p mysql
enter password:


*注意: 有的时候在一些系统上, mysql要求必须要有mysql.host表存在, 才能正常启动mysql服务进程. 只好把别的机子上的mysql.host的三个文件拷贝过来才能解决. 奇怪!



2. 安装Apache
===============

*注意: 建议先安装perl, 再安装apache.

# tar zxvf httpd-2.2.0.tar.gz
# cd httpd-2.2.0
# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all --enable-rewrite=shared --enable-speling=shared && make && make install
#

**注: 其中--enable-so选项是配置Apache以共享后安装的模块



3. 安装PHP
============

步骤:

  3.1 安装gd-2.0.33.tar.gz
  3.2 安装libxml2-2.6.27.tar.gz
  3.3 安装libiconv-1.9.2.tar.gz
  3.4 安装php


3.1 安装gd
------------

gd需要以下模块:

. zlib-1.2.3.tar.gz
. libpng-1.2.8-config.tar.gz
. freetype-2.1.10.tar.gz (可选装)
. xpm-3.4k.tar.gz (可选装)
. jpegsrc.v6b.tar.gz (可选装)


3.1.1 安装zlib
-----------------
# tar zxvf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
# ./configure && make && make install

默认情况zlib被安装到/usr/local/include/
http://directory.fsf.org/zlib.html
http://www.zlib.net/


3.1.2 安装libpng
----------------
# tar zxvf libpng-1.2.12.tar.gz
# cd libpng-1.2.12
# ./configure && make && make install

默认情况libpng被安装到/usr/local/include/libpng/
http://www.libpng.org/pub/png/libpng.html


3.1.3 安装gd
--------------
# tar zxvf gd-2.0.33.tar.gz
# cd gd-2.0.33
# cp /usr/local/include/png.h .
# cp /usr/local/include/pngconf.h .
# ./configure && make && make install
#

*** 我遇到过gd_png.c找不到png库文件的情况, 这时要手工把png.h和pngconf.h两个文件拷贝到gd_png.c所在目录就可以了. ***

默认情况gd被安装到/usr/local/include/
http://www.boutell.com/gd/



3.2 安装libxml2
-----------------
# tar zxvf libxml2-2.6.26.tar.gz
# cd libxml2-2.6.26
# ./configure && make && make install
#

http://xmlsoft.org/


3.3 安装libiconv
-------------------
# tar zxvf libiconv-1.9.2.tar.gz
# cd libiconv-1.9.2
# ./configure && make && make install
#

http://www.gnu.org/software/libiconv/



3.4 安装PHP
--------------
# tar zvxf php-5.1.4.tar.gz
# cd php-5.1.4
# vi /usr/local/apache/bin/apxs

将"#!/replace/with/path/to/perl/interpreter -w"替换为"#!/usr/bin/perl -w"

# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-libxml-dir=/usr/local/include/libxml2/libxml --enable-mbstring --with-gd --with-zlib

# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini
# vi /usr/local/php/lib/php.ini

php.ini配置:
1、找到;default_charset = "iso-8859-1", 在下面添加default_charset = "gb2312"
2、配置max_execution_time,它的意思为“Maximum execution time of each script, in seconds”,经常需要长时间数据操作或去处的页面应该进行适当调整,这里我设置为300秒。



这是在redhat下编译的一个配置实例:
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-libxml-dir=/usr/local/include/libxml2/libxml --with-iconv-dir=/usr/local --enable-mbstring --with-gd --enable-gd-native-ttf --with-jpeg-dir=/usr --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-ttf=/usr/local --with-freetype-dir=/usr/local



*** 注: 在configure过程中, 可能会遇到下面的错误! Sorry, I cannot run apxs. ***

configure: error: Sorry, I cannot run apxs. Either you need to install Perl or you need to pass the absolute path of apxs by using --with-apxs=/absolute/path/to/apxs

网上有很多介绍解决方法的, 但最经典的只有Darrell Brogdon在2001/03/15写的<>, 这篇文章在绿盟有徐永久在2002-03-18翻译的中文版<<在Apache上以DSO方式安装PHP>>, 不过上面著名他本人就是文章的作者, 这点我表示怀疑.

我之所以说这么多, 只是想说明目前我看到的方法, 没有能够真正解决这个问题的.

OK, 下面我说明一下我是如何解决这个问题的:

首先, 通过错误提示, 我们得知"I cannot run apxs". 我一直以为是apxs安装有问题, 但找了很久仍未得到合理的解释和解决方法.

于是我直接运行"/usr/local/apache/bin/apxs"这个脚本, 得到下面的错误提示:

bash: ./apxs: /replace/with/path/to/perl/interpreter: bad interpreter: No such file or directory

哦, 给人的感觉很像仍然是apxs程序有问题, 但问题在哪里呢? "interpreter"是什么呢? interpreter是"解释程序"!

嗯, 看来我们接近答案了, 运行"head -1 /usr/local/apache/bin/apxs"得到下面内容:

#!/replace/with/path/to/perl/interpreter -w

天啊, 这里没有指明正确的perl执行程序的位置! 原来这就才是真正的问题原因所在!!!

把这一行更改为"#!/usr/bin/perl -w". 再运行php的configure, 一切正常!

至此, 问题已解决.

*** Sorry, I cannot run apxs. ***



4. 配置httpd.conf
====================

4.1 找到ServerName , 将 替换为本机的域名
------------------------------------------
ServerName freebsd6.local:80


4.2 找到"DirectoryIndex index.html", 在"index.html"后面加入"index.php"
------------------------------------------------------------------------

   DirectoryIndex index.html index.php



4.3 找到, 在AddType application/x-gzip .gz .tgz下面加入
-------------------------------------------------------------------------------
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


4.4 找到 ... , 在下面加入
-----------------------------------------------------------------------------

   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all



   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all



4.5 找到 ... , 在下面加入
------------------------------------------------------------------------------

   AllowOverride None
   Options None
   Order allow,deny
   Allow from all



4.6 找到 ... , 在中间区域加入
----------------------------------------------------------------
Alias /it "/data1/apache/htdocs/it"
Alias /it_old "/data1/apache/htdocs/it_old"

ScriptAlias /perl/ "/data1/apache/htdocs/perl/"




5. 启动/停止apache
=====================
/usr/local/apache/bin/apachectl start
/usr/local/apache/bin/apachectl stop

**注: 要确保主机名能够正常被解析为本机的IP地址.


*** 在执行"/usr/local/apache/bin/apachectl start"的时候可能会出现下面错误提示:

[Fri Dec 30 09:35:01 2005] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

解决方法:

step 1
-------
编辑/etc/hosts和/etc/rc.conf, 配置主机域名. 例如:

shell> cat /etc/hosts
127.0.0.1               localhost
192.168.177.130         freebsd6 freebsd6.local

shell> cat /etc/rc.conf
hostname="freebsd6.local"
...

step 2
-------
on FreeBSD, you need to add a kernelmodule

kldload accf_http

grep accf /boot/defaults/loader.conf
accf_data_load="NO" # Wait for data accept filter
accf_http_load="NO" # Wait for full HTTP request accept filter

add the second to /boot/loader.conf with 'YES' to enable this permenately.




-----------------------------------------------------------------------------

# 2005/04/09 16:00 - 2005/04/10 13:16 Created by Wandering
# 2005/12/29 23:28 Modified by Wandering
# 2006/03/12 19:31 Modified by Wandering
# 2006/03/18 00:45 Modified by Wandering
# 2006/07/17 23:56 Modified by Wandering






附录:

*Apache 2.0的DSO功能简要说明:
-------------------------------
编译并安装已发布的Apache模块,比如编译mod_foo.c为mod_foo.so的DSO模块:
$ ./configure --prefix=/path/to/install --enable-foo=shared
$ make install

编译并安装第三方Apache模块, 比如编译mod_foo.c为mod_foo.so的DSO模块:
$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared
$ make install

配置Apache以共享后安装的模块:
$ ./configure --enable-so
$ make install

用apxs在Apache源代码树以外编译并安装第三方Apache模块,比如编译mod_foo.c为mod_foo.so的DSO模块:
$ cd /path/to/3rdparty
$ apxs -c mod_foo.c
$ apxs -i -a -n foo mod_foo.la

共享模块编译完毕以后,都必须在httpd.conf中用LoadModule指令使Apache激活该模块。
看到朋友们在Unix/Linux上装mysql有点麻烦,我也好不容易装完了,所以就来讲件,也许能帮帮大家的忙. 我使用的操作系统是FreeBSD5.2.1,如果别的操作系统安装方法也许不一样,请酌情处理.
安装FreeBSD就不讲了,只要稍微定制一下就可以了,过程我就不说了,我用的FreeBSD版本是5.2.1,应该是现在比较新的版本,以后就不知道了 :) .


一. 安装MySQL

我使用的的Mysql是4.0.20,源代码版,你也可以使用RPM包或者二进制版,安装方法可能不一样,请参考其它文章.
先下载Mysql2.0.20的源代码版,地址: http://dev.mysql.com/downloads/mysql/4.0.html
把它下到/usr/local/src目录下,如果没有该目录,就自己建一个.下载回来的包名字叫 mysql-4.0.20.tar.gz,然后我们把它解压出来:

# tar -zxvf mysql-4.0.20.tar.gz

解压后生成mysql-4.0.20目录,我们进入该目录:

# cd mysql-4.0.20

进入后就开始配置mysql了,配置过程中我们要给mysql设置一个安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易管理,如果你还想获得更多的配置信息,使用 ./configure --help:

# ./configure --prefix=/usr/local/mysql

然后等几秒钟,配置完成后就编译源代码:

# make

这个编译的过程比较长,如果机器比较慢的话,可能要近二十分种 ( PS:我的机器是很普通的机器,所有用了差不多15,6分种 :( ) .
编译完成后就安装:

# make install

等上几秒钟,安装完成.下面就到了最关键的部分了,为什么老安装不成功,(PS:至少我是安装了N次,N > 10 ,呵呵),问题关键就在这里,访问mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问.
我们先建立一个mysql和mysql用户来访问mysql:

# pw groupadd mysql  #建立mysql组
# pw useradd mysql -g mysql #建立mysql用户并且加入到mysql组中

建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)

# ./scripts/mysql_install_db --user=mysql #初试化表并且规定用mysql用户来访问

初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录:

# cd /usr/local/mysql

然后设置权限

# chown -R root .  #设定root能访问/usr/local/mysql
# chown -R mysql var  #设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件
# chown -R mysql var/.  #设定mysql用户能访问/usr/local/mysql/var下的所有文件
# chown -R mysql var/mysql/. #设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件
# chgrp -R mysql .  #设定mysql组能够访问/usr/local/mysql

设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:

# /usr/local/mysql/bin/mysqld_safe --user=mysql &

如果没有问题的话,应该会出现类似这样的提示:

[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var

这就证明你安装成功了,如果出现:

[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
040818 10:53:45  mysqld ended

则证明你的mysql运行不来,请查看错误日志: /usr/local/mysql/var/*.err 然后确定安装是否成功,如果没有成功,请检查上面的步骤是否正确.
安装完成后,能够通过 /usr/local/mysql/bin/mysql 来连接mysql进行管理,如果你装了apache并且能够解析php的话,也能使用phpMyadmin来管理你的mysql,记得装完后使用 mysql或者mysqladmin来修改root的密码,这里我们就不说了,请参考相关的文章.

控制mysql就通过 /usr/local/mysql/libexec/mysqld 来控制启动或者停止mysql:

# /usr/local/mysql/libexec/mysqld start  #启动mysql
# /usr/local/mysql/libexec/mysqld stop  #停止mysql
# /usr/local/mysql/libexec/mysqld restart #重启mysql

为了每次系统重启后都能运行mysql,可以写一个脚本放到 /usr/local/etc/rc.d目录下,用来运行mysql,我们写一个脚本mysql_start.sh

#! /bin/sh
/usr/local/mysql/bin/mysqld_safe&

然后保存到/usr/local/etc/rc.d目录下,那么以后reboot系统后都能启动mysql了.




二. 安装Apache

安装Apache要简单点,我这里安装的Apache版本是 httpd-2.0.50,去下载压缩包: http://httpd.apache.org/download.cgi.
下载回来的包叫做 httpd-2.0.50.tar.gz 我们放在 /usr/local/src目录下.
首先进入目录后解压缩:

# cd /usr/local/src
# tar -zxvf httpd-2.0.50.tar.gz

然后就会得到 httpd-2.0.50目录,我们进入目录

# cd httpd-2.0.50

首先配置:

# ./configure \
? --prefix=/usr/local/apache \  #我们要把Apache安装在那个目录,我们这里装在 /usr/local/apache下
? --enable-shared=max \
? --enable-module=rewrite \
? --enable-module=so

执行上面的命令,如果没有错误信息,证明配置成功,然后进行编译:

# make

一两分钟就编译完了,然后进行安装:

# make install

安装完成后,Apache就存放在 /usr/local/apache目录下了, bin是执行文件的目录,conf是配置文件目录,htdocs是网页的主目录,logs是日志目录.
Apache通过 bin/apachectl或者bin/httpd来控制启动或者停止.

# /usr/local/apache/bin/httpd -k start  #启动apache
# /usr/local/apache/bin/httpd -k stop  #停止apache
# /usr/local/apache/bin/httpd -k restart #重启apache

然后你可以通过 http://localhost 来测试apache是否安装成功,如果出现apache的页面则安装成功,否则请检查上面的步骤.




三. 安装PHP

我们使用的PHP版本是4.3.8,先去下载: http://www.php.net/downloads.php, 下回来的包叫做 php-4.3.8.tar.gz, 放到/usr/local/src目录下.
首先进入该目录后解压缩:

# cd /usr/local/src
# tar -zxvf php-4.3.8.tar.gz

解压后进入目录:

# cd php-4.3.8

进行配置,这一步比较关键,一定要设置好,特别是要考虑到你要支持什么,比如GD库,xml,mysql等等,如果想知道详细的配置,执行 ./configure --help来获得:

# ./configure \
? --with-apxs2=/usr/local/apache/bin/apxs \
? --disable-debug \  #关闭php内部调试
? --enable-safe-mode \  #打开php的安全模式
? --enable-trans-sid \  
? --with-xml \   #支持xml
? --with-mysql \  #支持mysql
? --enable-short-tags \  #支持PHP的短标记
? --with-gd \   #支持GD库
? --with-zlib \   #支持zlib
? --with-jpeg \  
? --with-png \
? --enable-memory-limit \
? --disable-posix \
? --with-config-file-path=/usr/local/lib

如果上面的配置没有错误的话,那么应该最后会显示感谢使用PHP等字样,那么证明配置成功,如果上面的配置选项不支持的话,会提示错误.
比如你没有安装mysql,那么--with-mysql就无法使用,所以一定要注意对应选项系统是否能够支持,如果出现错误,那么就先安装对应的程序,或者去掉相关选项.
配置之后就进行编译:

# make

编译成功后出现"Build complete."字样,那么就可以进行安装了:

# make install

安装完成后把/usr/local/src/php-4.3.8/php.ini-dist复制到/usr/local/lib/,并重命名为php.ini

# cp /usr/local/src/php-4.3.8/php.ini-dist /usr/local/lib/php.ini

基本到这里PHP就安装成功了,如果中间出现错误,除了在配置的时候没有选对选项之后一般都不出现错误.



四. 整合Apache+PHP

为了让Apache能够直接解析php,我们还要进行一些配置.
首先进入apache的配置文件目录:

# cd /usr/local/apache/conf

然后用vi打开配置文件httpd.conf:

# vi httpd.conf

在httpd.conf文件中,添加

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

应该将以上两句添加在其他AddType之后。

确保文件中有以下一句话,没有就自己添加在所有LoadModule之后。

LoadModule php4_module  modules/libphp4.so

好了,在vi中使用":wq"保存httpd.conf文件,退出vi。启动apache server:

# /usr/local/apache/bin/httpd start


现在apache就能够运行php了,写个文件测试一下,在/usr/local/apache/htdocs目录下,新建一个phpinfo.php文件,
文件中只有一行代码:



保存此文件, 在你的浏览器中输入http://localhost/phpinfo.php,你应该看到PHP的系统信息。
如果出现错误,比如提示你下灾phpinfo.php,那么apache就是还无法解析php文件,那么请仔细检查以上的操作是否正确.


好,到这里,基本上Mysql+Apache+PHP安装完成,那么就能做Web服务器了,比如传个论坛,
同时提醒可以传个phpMyadmin去管理你的mysql,现在最新版本是phpMyadmin2.6-beta
http://dev.mysql.com/downloads/mysql/5.0.html
Windows Media Player文件
C/C++编写CGI程序之form处理




1. GET
2. POST
3. 结束


我们有一张web
test.html


<html>
<head>
<title>form test</title>
</head>
<body>
<form method="get" name="test-get" action="./cgi-bin/test-get.cgi">
<input name="name"><input name="pswd"><input type=submit value="get">
</form>
<br><br>
<form method="post" name="test-post" action="./cgi-bin/test-post.cgi">
<input name="name"><input name="pswd"><input type=submit value="post">
</form>
</body>
</html>




1. GET

首先我们来获取GET方式的form
在环境变量QUERY_STRING里面,存储着GET提交的字符串
cgi-get.c


#include <stdio.h>
#include <stdlib.h>

int main( void )
{
        fprintf( stdout, "Content-type:text/html\n\n");
        fprintf( stdout, "<html><title>get</title>\n");

        if( getenv("QUERY_STRING" ) )
        {
                fprintf( stdout, getenv("QUERY_STRING" ) );
        }
        else
        {
                fprintf( stdout, "(NULL)\n" );
        }

        fprintf( stdout, "</html>\n" );
        return 0;
};




编译后,复制到cgi-bin目录下,名为test-get.cgi,确保apache用户拥有执行权限
然后登陆test.html,填写dorainm和linux测试get提交方式,获得

name=dorainm&pswd=linux



2. POST

POST是通过标准输入来获取form提交的字符串的
环境变量CONTENT_LENGTH里面,存储着POST提交的字符串的长度
看 test-post.c 的源码


#include <stdio.h>
#include <stdlib.h>

int main( void )
{
        int i, n;
        fprintf( stdout, "Content-type:text/html\n\n" );

        fprintf( stdout, "<html><title>post</title>" );
        if( getenv("CONTENT_LENGTH") )
        {
                n = atoi( getenv("CONTENT_LENGTH") );
        }
        else
        {
                n = 0;
        fprintf( stdout, "(NULL)" );
        }

        for( i=0; i<n; i++ )
        {
                fputc( getc(stdin), stdout );
        }

        fprintf( stdout, "\n</html>\n" );
        return 0;
}



同样,编译后复制到cgi-bin目录下,名为test-post.cgi
测试以POST方式提交guaicat和gnu,可以看到

name=guaicat&pswd=gnu



3. 结束

今天头非常痛,文字描述比较少,大家看代码
哪天有时间写个C++的CGI的类或者C语言CGI库吧


1 Vinton Cerf :号称互联网之父,TCIP/IP协议和互联网架构的合作设计者。他05年10月3日开始正式为Google工作,职位为"首席互联网传布官"。

2 Joshua Bloch :号称java教父,《Effective Java》《JAVA PUZZLE》的作者,JSR175标准的leader,J2SE 1.5的主要开发人员之一。

3 Guido Van Rossum: Python之父。Google把Python用的炉火纯青,有了Python之父的加盟,肯定如虎添翼了。

4 Andrew Morton: linux的二号人物。其在google的工作仍是继续维护linux2.6内核

5 Mark Lucovsky: Windows核心设计师。不晓得碰到了Morton会不会吵起来 :-)

6 Bram Moolenaar:Vim的作者

7 Darin Fisher :Mozilla项目主力开发者

8 Sean Egan: Gaim开发团队的leader

9 Greg Stein: Apache项目主要开发者,Apache基金会主席

10 Udi Manber: Amazon的A9搜索团队总监

11 Rob Pike,Plan 9 OS主力开发者

12 Adam Bosworth: BEA的首席架构师

13 Larry Brilliant: 网络先驱大慈善家,负责google.org

14 Andy Hertzfeld:曾经是Macintosh研发团队核心成员

15 Louis Monier:Internet搜索的发明者,eBay的前开发总监

16 Adndrew W Moore :卡内基美隆大学资讯与机器人工程学的教授,他将负责Google在匹兹堡新创立的实验室

17 Alan Davidson:Centre for Democracy & Technology的协理,他负责处理处理google与美国政府的关系

18 Ben Goodger:Firefox的主要设计者

//(已由Google 加入微软) 19 Danny Thorpe, Delphi开发者,原Borland首席科学家

20 Alexander Limi, plone创始人

21 David Presotto, plan 9创始人
分页: 306/339 第一页 上页 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 下页 最后页 [ 显示模式: 摘要 | 列表 ]