Monthly Archives: September 2009

在Debian Lenny上安裝Apache2 PHP5 和Mysql

准备学习Debian了,www服务当然是最常见的。在Debian上安装非常方便,如下步骤: 主机名称:www.example.com IP地址:192.168.1.100 1.安装Mysql aptitude install mysql-server mysql-client   在提示的对话框里设定Mysql的root密码。 2.安装apache2 aptitude install apache2   在浏览器里输入http://192.168.1.100,出现It works!说明安装成功。默认文档目录在/var/www,配置文件在/etc/apache2/apache2.conf。 3.安装Php5 aptitude install php5 libapache2-mod-php5   然后重启apache2 /etc/init.d/apache2 restart   4.测试apache2 vi /var/www/info.php 输?J <?php phpinfo(); ?>   然后在浏览器输入http://192.168.1.100/info.php,出现php测试页面说明php安装成功。可以看到里面的选项! 5.使Mysql支持Php5 aptitude search php5 … Continue reading

Posted in Uncategorized | Leave a comment

Mysql忘掉root密碼的操作

1. service mysqld stop 2./usr/local/mysql/bin/mysqld_safe –skip-grant-tables & 3.mysql 4.mysql> update mysql.user set password=password("123456") where user="root"; 5.mysql > flush privileges;  6.mysql > quit; 7.service mysqld stop 8.service mysqld start 密碼重置為123456

Posted in Uncategorized | Leave a comment

Postfix队列管理

postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理: 1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。 2. incoming:放置正在到达或队列管理进程尚未发现的邮件。 3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。 postfix提供了一组命令行工具来检查、控制、管理队列里的邮件,其中以postsuper和postqucuc这两个工具最为重要。你可以对队列中的邮件进行下列操作:显示邮件列表,删除邮件,重新排队,保留邮件,显示邮件内容,清空邮件 显示邮件列表 postqueue -p邮件列表的显示项目,包括邮件在队列里的标识符、大小、到达时间、寄件人地址、收件人地址。对于等待邮件,还会另外显示等待原因。如果邮件是在活动队列里,其标识符栏会加注一个星号(除非你的服务器很慢或是负荷沉重,否则应该没有机会见到星号)。在保留队列里的邮件的邮件,其标识符栏会加注一个感叹号。等待邮件不加注任何符号。命令可列出队列里的所有邮件,其效果如果sendmail包的mailq。当安装postfix时,安装脚步会以postfix版的mailq程序(它其实只是postqueue -p的符号链接而已)取代sendmail包原有的同名程序,借此维持与sendmail包的兼容性。 删除邮件 postsuper-d命令的选项,可移除队列里的邮件。邮件是以它们在队列里的标识符表示。如果要删除所有邮件,请把标识符换成ALL。请注意,由于删除所有邮件是相当危险的操作,所以ALL关键字必须全以大写字母表示才有效,其目的是希望你三思而后行。 保留邮件 postsuper -h DRA3P1A9当你想将邮件无限期留在队列系统里,保留队列就成为容纳这些邮件的场所。不管邮件目前已经传到哪一个队列,你都可以将它们移除原来的队列,转移到保留队列。假设你已经知道要保留的邮件的标识符,使用postsuper工具的-h选项,在这之后,如果观察邮件列表,会发现该邮件的标识符多了一个感叹号。要将邮件移回原来的队列,继续其未竟之进程,可使用同一个postsuper工具,只要将原来的-h改成-H。在邮件被移回原来的队列之后,qmgr依照平常的调度原则来决定其下次投递时间。或者,你也可以执行清空(flush)命令,立刻将邮件递送出去。 重新排队 postsuper-r如果因为配置问题而耽误了任何邮件,在问题解决之后,你可能希望被耽搁的邮件重新走一遍队列处理流程,以便能够成功完成递送。因为配置问题可能使得 postfix在邮件里存储了错误的投递处理信息,或是使用了错误的地址改写法则。重新排队会使得postfix依据里的新配置来修正错误信息。可以重新排队某一特定邮件,或是要求所有邮件全部都重新排队。 显示邮件内容 postcat -q可以查看一个队列文件的内容,早期版本的postcat并未提供-q选项,而是要求你提供队列文件的完整路径。然而,由于邮件可能在各个队列目录之间游移不定,而且这些队列目录还有自己的子目录,所以管理员很难一眼看出队列文件的完整路径。 清空邮件 postqueue -f要求postfix立刻投递滞留在队列里的邮件的操作称为清空(flush)。不过,除了你有理由确定邮件一定能成功投递出去,否则,最好还是让qmgr自己决定重新投递的时机。不断的反复要求清空,会严重影响邮件服务器的效率。使用-s选项可清空寄到特定站点的邮件,而且收件站点必须要有接收快速清空的“资格”才有效。要使得某站点具备此资格,你必须将该站点的主机名称或网域名称列在fast_flush_domains参数中。此参数的默认值只包含relay_domains所列的所有网域,但是你可以视情况增加额外的站点:fast_flush_domains = $relay_domains example.com如果你有一个间歇性的邮件交换机,你可以在该交换器上线的时间内,使用postqueue -s清空先前无法送达到该交换器的所有邮件: postqueue -s example.com

Posted in Uncategorized | Leave a comment

Postfix管理技巧

  1,快速查出系统有那些值得注意的事情:#egrep ‘(reject|warning|error|fatal|panic):’ /var/log/maillog 2,检查main.cf配置文件是否正确:#postfix check 3,重启Postfix服务与重新载入配置:#service postfix restart#postfix reload 4,一封邮件最多几位收件人限制,默认1000,修改main.cfsmtpd_recipient_limit = 100 5,单封邮件容量上限,默认10MB,修改main.cfmessage_size_limit = 10000000 6,客户端出错或恶意错误连接可用以下限制main.cfsmtpd_error_sleep_time = 1ssmtpd_soft_error_limit = 10smtpd_hard_error_limit = 20 7,改变投递地址,假如用户kevin@23day.com更换了新地址,使用以下方法提示其它用户:(1)在/etc/postifx/main.cf中添加relocated_maps = hash:/etc/postfix/relocated参数(2)touch /etc/postfix/relocated在relocated中添加以下信息kevin@23day.com   chen@23day.com#postmap /etc/postfix/relocated#postfix reload 8,网域更换(1)在/etc/postifx/main.cf中添加relocated_maps = hash:/etc/postfix/relocated参数(2)touch /etc/postfix/relocated在relocated中添加以下信息@23day.com   23day.cn#postmap /etc/postfix/relocated#postfix reload 9,邮件队列管理工具postqueue与postsuper#postqueue -p查看邮件队列如果队列序号加了*号表示为活动队列如果队列序号加了!号表示为延期队列如果队列序号没有*与!号表示为等待队列#postsuper -d … Continue reading

Posted in Uncategorized | Leave a comment

vi 删除操作

:%s/r//g                    删除DOS方式的回车^M :%s= *$==                   删除行尾空白 :%s/^(.*)n1/1$/               删除重复行 :%s/^.{-}pdf/new.pdf/         只是删除第一个pdf :%s/<!–_.{-}–>//           又是删除多行注释(咦?为什么要说「又」呢?) :g/s*^$/d                    删除所有空行 :这个好用有没有人用过还有其他的方法吗?:g!/^dd/d                     删除不含字符串‘dd‘的行 :v/^dd/d                     同上 (译释:v ==&nbspg!,就是不匹配!) :g/str1/,/str2/d              删除所有第一个含str1到第一个含str2之间的行 :v/./.,/./-1join                压缩空行 :g/^$/,/./-j                  压缩空行 ndw 或&nbspndW              删除光标处开始及其后的&nbspn-1 个字符。 d0                          删至行首。 d$                          删至行尾。 ndd                         删除当前行及其后&nbspn-1 行。 x 或&nbspX                  删除一个字符。 Ctrl+u                      … Continue reading

Posted in Uncategorized | Leave a comment

CentOS5.3上安装RPMForge

RPMForge是一个安全、稳定并且更新及时的软件仓库,通过安装RPMForge可以是CentOS在进行yum update的时候多一个选择,有时候甚至是唯一的选择,比如想要升级rsync到3.0.x版本,如果懒得自己编译安装,就得依靠RPMForge了。 1、先安装priority这个yum的插件,这个插件用来设定安装软件时候软件仓库的优先级,一般是默认先从官方base或者镜像安装,然后从社区用户contribute的软件中安装,再从第三方软件仓库中安装。#yum install yum-priorities 2、手动编辑 /etc/yum.repos.d/ 目录中后缀为.repos的文件来设置软件仓库的优先级priority=N(N是整数,范围从1-99,数字越小代表优先级越高) 官方推荐配置是[base], [addons], [updates], [extras] 这几部分 priority=1[centosplus],[contrib] 这几部分priority=2Third Party Repos such as rpmforge … priority=N  (where N is > 10 and based on your preference) 3、现在开始安装rpmforge的软件仓库先下载rpmforge的安装包      i386  wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm       x86_64 wget http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm 安装 … Continue reading

Posted in Uncategorized | Leave a comment

sasl原理

postfix sasl身份验证 收藏基本的smtp协议没有验证用户身份的能力。虽然信封上的寄件人地址已经隐含了发信者的身份,然而,由于信封地址实在太容易假造,所以不能当成身份凭据。 为了判断客户端是否有权使用转发服务(relay),服务器端必须确认客户端(寄件人)是否当真是对方所自称的那个人。在不能以寄件人地址为身份证书的前 提下,smtp势必需要其他补充机制,才能验证客户端的身份。从postfix的角度看,它需要扮演两种角色:当它身为smtp server时,需要能够验证用户个人的身份(让他们能使用smtp server寄出邮件);当它身为smtp client时,它需要能够提供出自己的身份证书给其他mta检验(以便通过远程mta将邮件递送到最终目的地)。因此,我们也会解释如何设定 postfix,使其能通过其他mta的身份验证。大多数邮件系统只容许内部网络上的客户端使用转发服务,换言之,ip地址成了客户端身份的识别 凭据。然而,并非所有合法用户都具有固定ip地址。比方说,带着笔记本电脑出差远方的同事,他们可能使用领近isp或饭店旅馆提供的临时性ip地址;或 者,有些在家工作的用户,他们位于办公室之外的网络,但是需要透过办公室里的邮件系统来寄信。不管你是否能够事先知道用户的ip地址,sasl都能提供可 靠的身份验证。RFC 2554 “smtp service extension for authentication”制定了如何在基本smtp协议上增加验证功能的机制,此机制使得smtp能使用sasl协议来验证客户端身份。我们将示范 如何使用carnegie mellon大学开发的cyrus sasl函数库来扩充postfix,使其具备sasl验证能力。由于cyrus sasl以“函数库”的形式存在,要让你的postfix支持sasl,你必须在编译postfix时就将cyrus sasl函数库链接进去,此外,远程用户也必须设定他们的mua,使其在通过你的邮件系统转发邮件时,能送出正确的标识信息。 sasl概论 有 许多客户机/服务器协议没有验证能力,sasl就是用于加强或增加这类协议的一种通用方法。当你设定sasl时,你必须决定两件事;一是用于交换“标识信 息”(或称身份证书)的验证机制;一是决定标识信息存储方法的验证架构。sasl验证机制规范client与server之间的应答过程以及传输内容的编 码法,sasl验证架构决定服务器本身如何存储客户端的身份证书以及如何核验客户端提供的密码。如果客户端能成功通过验证,服务器端就能确定用户的身份, 并借此决定用户具有怎样的权限。对postfix而言,所谓的“权限”指的就是转发服务的访问权。你也可以决定通过验证的用户在转发邮件时,是否要使用特 定的寄件人地址。 选择适当的验证机制cyrus sasl支持多种验证机制,至于要使用哪一种验证机制,客户端与服务器双方必须事先取得共识。以下是一些比较常见的机制;plain         plain是最简单的机制,但同时也是最危险的机制,因为身份证书(登录名称与密码)是以base64字符串格式通过网络,没有任何加密保护措施。因此,使用plain机制时,你可能会想要结合tls。login       login不是其正式支持的机制,但某些旧版的mua使用这种机制,所以cyrus sasl让你可选择其是否支持login机制。如果你的用户仍在使用这类老掉牙的mua,你必须在编译sasl函数库时,指定要包含login的支持。 login的证书交换过程类似plain。otp       otp是一种使用“单次密码”的验证机制。此机制不提供任何加密保护,因为没必要--每个密码都只能使用一次,每次联机都要改用新密码。smto client必须能够产生otp证书。digest-md5       使用这种机制时,client与server共享同一个隐性密码,而且此密码不通过网络传输。验证过程是从服务器先提出challenge(质询)开始, 客户端使用此challenge与隐性密码计算出一个response(应答)。不同的challenge,不可能计算出相同的response;任何拥 … Continue reading

Posted in Uncategorized | Leave a comment

postfix常见错误

显示信件列表: postqueue -p 显示信件內容: postcat -q Queue_ID 刪除各別信件:postsuper -d Queue_ID 全部刪除: postsuper -d ALL 扣住信件: postsuper -h Queue_ID 回复: postsuper -H Queue_ID 重新排程: postsuper -r Queue_ID postsuper -r ALL 清除信件: postqueue -f (全部) postqueue -s 主机名称(个别对象) 要查看Postfix的当前主要配置文件的存放路径: postconf -n系统日志:tail -f … Continue reading

Posted in Uncategorized | Leave a comment