在Ubuntu VPS上安装优秀的Web Mail: IMP

Posted by zuzhihui in Linux技术 on 2008/07/18 with No Comments

IMP是Linux平台上的优秀的免费的WebMail解决方案。Ubuntu 8.04上自带IMP,版本是4.1.4,这也是当前IMP的最新版本了。

安装:
apt-get install imp4

pear install db 否则后面会报错

这个命令将安装horde3和imp4及其依靠的其他软件包。

dpkg -L horde3能看到horde3的安装文件主要位于 /usr/share/horde3 和 /etc/horde/horde3 ,同样imp4的文件主要位于 /usr/share/horde3/imp 和 /etc/horde/imp4 下面。

在/etc/apache2/apache2.conf 的最后加入如下行:
Alias /horde3 “/usr/share/horde3/”
然后重启apache
/etc/init.d/apache2 force-reload

在浏览器访问 http://bujieyi.cn/horde3/ 就会看到horde3的报错信息,根据报错信息提示,我们打开这个文件 /usr/share/doc/horde3/README.Debian.gz 看看有什么注意事项:
zcat /usr/share/doc/horde3/README.Debian.gz
这个文件是英文的,不想看英语的就按照我说的做吧:
cd /usr/share/doc/horde3/examples/scripts/sql/
zcat create.mysql.sql.gz |mysql -uroot -p
接下来输入mysql的root密码
删除这个文件/etc/horde/horde3/conf.php的第二行(echo)和第三行(exit)

chown -R www-data /etc/horde/

再次访问 http://bujieyi.cn/horde3/ ,不要密码就进去了!

点击左边的管理,设置,然后在右边点击 horde3,选择 Authentication 标签

在这行 “What backend should we use for authenticating users to Horde?” 选择 IMAP authentication
在下面的Configuration type行选择Separate values

在Database标签,选择MySQL,并填写MySQL的连接信息,包括:用户名,密码,TCP/IP的连接方式,主机名localhost,数据库名horde,连接编码utf-8
在Preference System标签的Driver configuration选择Custom Parameters,MySQL参数同上
然后点击”生成Horde配置文件”

配置邮件,配置一下邮件服务器,同样生成配置文件

horde的mysql密码最好修改一下,记着修改/etc/horde/horde3下面的文件

chmod 777 /var/log/horde/

apt-get install dovecot-imapd
修改/etc/dovecot/dovecot.conf
去掉protocols = imap imaps前面的注释,重启dovecot
/etc/init.d/dovecot restart

结果:安装失败
教训:以后不要用操作系统自带的IMP,要手动安装!

在Ubuntu Linux下用Postfix配置邮件服务器

Posted by zuzhihui in Linux技术 on 2008/07/15 with No Comments

本文详细介绍Ubuntu Linux VPS下的Postfix邮件服务器的配置。

添加MX记录

由于MX记录添加后,可能生效要等待一段时间(也可能马上生效),所以在安装配置前,我们首先为域名添加MX记录。到域名提供商应该提供了修改DNS配置的方法,在那里配置域名的MX记录指向VPS的IP即可。假设我们要配置的邮件服务器的域名是bujieyi.cn。确认MX记录的添加是否生效的方法是在Linux下运行:

host -t mx bujieyi.cn

安装Postfix

运行命令:

apt-get install postfix

安装postfix,配置界面出来后选择Internet Site,System mail name填写bujieyi.cn。然后postfix应该就安装完毕并且启动了。

如果要给邮件服务器增加域名就修改/etc/postfix/main.cf文件中的如下行:

mydestination = bujieyi.cn, localhost, localhost.localdomain, localhost

安装一个简单的邮件客户端用于测试:

apt-get install mailx

给support@rashost.com发一个邮件,应该能成功才对,否则说明有问题了。(最好给gmail.com邮箱发,不要给hotmail邮箱发,可能收不到的)

echo "test" | mail support@rashost.com

support@rashost.com邮箱收到信件之后,要回复一下,然后在VPS上运行mail命令,应该能够看到回复的邮件了。

root@nevermind:~# mail
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/root": 1 message 1 new
>N  1 support@rashost.c  Tue Jul 15 14:14   28/924   Re:

如果发信成功并且收到回复,则进行下一步

配置POP3和IMAP支持

POP3和IMAP是两种收邮件的协议,一般配置一种即可,当然两种都配置也可。postfix不带pop3和imap,我们选择dovecot软件。

apt-get install dovecot-imapd dovecot-pop3d

运行之后pop3和imap都应该启动了,在Windows客户端下用thunderbird邮件客户端软件应该可以用pop3或者imap协议收邮件了。

SMTP发信认证

这是高级话题,请参考:http://rashost.com/blog/postfix-smtp-auth/

加密的SMTP发信认证

这更是高级话题,请参考:http://rashost.com/blog/postfix-tls-smtp/

使用Maildir格式存储邮件

该步骤是可选的,是关于邮件服务器上邮件的存储格式。缺省的是用一个文件保存所有邮件,而Maildir格式是使用一个目录来保存所有的邮件,Maildir的格式相比单个文件更灵活,在邮件多的时候效率更高。

在/etc/postfix/main.cf中加入

home_mailbox = Maildir/
mailbox_command =

然后重启postfix即可:

/etc/init.d/postfix restart

CentOS5下配置awstats分析nginx的日志

Posted by zuzhihui in Linux技术 on 2008/07/08 with No Comments

AWStats是在一个很流行的基于Perl的WEB日志分析工具。本文讲述CentOS5下nginx怎么安装配置awstats。

下载和安装

由于CentOS5没有自带awstats,所以我们必须手工下载awstats的RPM包,从awstats的主页上,找到下载地址http://dfn.dl.sourceforge.net/sourceforge/awstats/awstats-6.7-1.noarch.rpm 并下载到CentOS5的任意一个目录下。执行如下命令安装:

rpm -ivh awstats-6.7-1.noarch.rpm

awstats被安装在了 /usr/local/awstats/ 目录下

配置nginx支持Perl CGI

待续

不会vim没关系,用winscp来修改Linux VPS下的配置文件

Posted by zuzhihui in Linux技术 on 2008/07/07 with No Comments

安装一个中文版的winscp软件,连接到Linux VPS上,在配置文件上面点击右键,选择”编辑”即可修改配置文件了

Linux VPS下的Apache的站点绑定

Posted by zuzhihui in Linux技术 on 2008/07/07 with 12 Comments

RasHost VPS允许客户在一个VPS上绑定无限个站点。本文讲述在Ubuntu和Debian这两种Linux操作系统下,如果给Apache绑定站点。

Debian/Ubuntu下Apache的配置文件知识

Debian/Ubuntu的apache的配置文件的管理方式是一样的,Ubuntu本身就是基于Debian的,所以很多配置和Debian几乎一模一样。Debian/Ubuntu的apache配置文件都在/etc/apache2目录下。/etc/apache2下面有几个配置文件,还有几个子目录。/etc/apache2下面的配置文件逐个解释如下:

/etc/apache2/apache2.conf
主配置文件,不精通apache不要修改此文件
/etc/apache2/httpd.conf
这个文件的存在是为了保持兼容性,即使你精通apache,我也建议不要修改此文件
/etc/apache2/ports.conf
这个文件用来配置apache的监听的端口,不精通者请不要修改

/etc/apache2下面的几个目录解释如下:

/etc/apache2/conf.d
apache会读取这个目录下的任何文件,这些文件的内容都是配置文件的一部分,不建议修改此目录下的任何内容
/etc/apache2/mods-available
这个目录下是一些零碎的配置文件,不建议修改,apache不会读取此目录下的文件。该目录下的文件一般都是某个apache模块的配置文件
/etc/apache2/mods-enabled
apache会读取这个目录下的任何文件,这些文件的内容都是配置文件的一部分,不建议修改此目录下的任何内容。该目录下的文件一般都是某个apache模块的配置文件
/etc/apache2/sites-available
这个目录下是一些零碎的配置文件,不建议修改,apache不会读取此目录下的文件,该目录下的文件一般都是某个站点的配置文件
/etc/apache2/sites-enabled
apache会读取这个目录下的任何文件,这些文件的内容都是配置文件的一部分,不建议修改此目录下的任何内容,该目录下的文件一般都是某个站点的配置文件

从上面的列表可以看出,mods-available和mods-enabled这两个目录的区别是apache是否去读取这个目录。有个疑问:如果apache从来不读取mods-available目录,那要它何用?答案是mods-available下存放所有apache模块的配置文件,但这些模块不一定是激活的,激活的模块的配置文件链接到mods-enabled下面,如果没有链接到mods-enabled下面,那肯定是一些没有激活的模块。a2enmod命令可以列出mods-available下面的所有模块,管理员可以选择激活哪个模块,激活之后的模块就会在mods-enabled下面添加一个链接。

同理,sites-available和sites-enabled这两个目录也是这样的原理,a2ensite命令可以列出sites-available下存在的站点文件,可以创建站点文件的链接到sites-enabled目录下。

a2enmod == Apache2 ENable MODule
a2ensite == Apache2 ENable SITE

缺省情况下,sites-available下只有一个文件default,sites-available/default链接到sites-enabled目录下的链接名为000-default。apache的习惯是一个站点一个配置文件,但我们为了方便管理,把所有的站点的配置都保存到default这个文件里面。

怎样创建新站点

  1. 确定新站点的域名和别名,域名是必须的,别名可以没有,别名也是域名,只不过不是主域名而已。比如我的站点域名是rashost.com,别名有两个,分别是rashost.com和home.rashost.com。
  2. 更改域名和别名的DNS,解析到VPS的IP地址。比如到rashost.com的域名注册商的控制面板里面修改上面三个DNS记录,都指向我的VPS的IP地址。
  3. 等待域名更改生效,这个过程通常是0到48小时。运行ping命令可以查看域名指向是否更改过来,比如:ping rashost.com,如果显示的IP是VPS的IP,则表明生效了
  4. 用root用户SSH登录到VPS,运行命令创建新用户: adduser rashost.com ,更改密码: passwd rashost.com。修改/etc/apache2/sites-available/default文件,在文件的末尾加入下面这段配置后运行/etc/init.d/apache2 force-reload重新启动apache
  5. 用新用户rashost.com登录到VPS,运行命令 mkdir public_html 创建public_html目录
  6. 通过FTP,把网页文件传送到public_html目录下
  7. 然后就可以通过浏览器访问新站点了
	ServerName rashost.com
	ServerAlias rashost.com home.rashost.com
	DocumentRoot /home/rashost.com/public_html/

修改mysql的编码为utf8

Posted by zuzhihui in Linux技术 on 2008/06/21 with No Comments

MySQL的中文编码问题最简单的解决方案是:修改mysql的配置文件/etc/mysql/my.cnf (在CentOS下是/etc/my.cnf),在[mysqld] 和 [client]段都加入如下指令:

default-character-set=utf8

注意:如果没有[client]段,就手工加入[client]段。然后重新启动MySQL即可。验证一下是否生效:

mysql> show variables like 'char%';
 -------------------------- ---------------------------- 
| Variable_name            | Value                      |
 -------------------------- ---------------------------- 
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
 -------------------------- ---------------------------- 
8 rows in set (0.00 sec)

mysql>

这样新建立的数据库缺省就是UTF8编码了。

修改Ubuntu VPS的locales设置

Posted by zuzhihui in Linux技术 on 2008/06/20 with No Comments

在Debian VPS下修改locales设置很简单,dpkg-reconfigure locales就可以了。ubuntu是出于debian,但locales的设置方法却不同:

echo "zh_CN.UTF-8 UTF-8" > /var/lib/locales/supported.d/locale
echo "en_US.UTF-8 UTF-8" >> /var/lib/locales/supported.d/locale
locale-gen
echo 'LANG="zh_CN.UTF-8"' >> /etc/environment

在Linux VPS下配置Postfix的TLS加密SMTP发信认证

Posted by zuzhihui in Linux技术 on 2008/06/20 with No Comments

在 上篇文章 中我们介绍了怎样配置postfix的不加密的、明文的smtp发信认证,本文接着介绍怎样配置postfix下的TLS加密的smtp发信认证。

本文是基于为基础的,强烈建议先配置好明文的SMTP发现认证,再按照本文接着配置TLS加密的SMTP发现认证。之所以这么做是因为条理清楚,并非必须。在TLS认证配置好之后,你可以选择再把明文的SMTP发信禁止掉。

我用thunderbird邮件客户端软件类配合测试,首先在thunderbird里面把SMTP服务器配置成SSL的,注意SSL SMTP的端口是465,在thunderbird中选中SSL后,SMTP端口会自动改变。

先把下面这些追加到main.cf中去:

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtp_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

注意证书文件/etc/ssl/certs/ssl-cert-snakeoil.pem是Linux系统自带的,不用我们手工生成了。

在master.cf中,去掉如下部分前面的注释:

smtps     inet  n       -       -       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

然后重启postfix即可。

在Linux VPS下配置Postfix的SMTP认证

Posted by zuzhihui in Linux技术 on 2008/06/20 with 4 Comments

要用Postfix配置邮件服务器,配置SMTP要求发信认证是非常必要的,如果没有SMTP认证,就会有很多人利用你的SMTP来发送大量垃圾邮件。

本文记述了在Debian 4 VPS下是怎么配置一个明文的SMTP认证。明文的SMTP认证不安全,配置完明文的认证后,应该再配置一个Postfix的TLS发信认证,TLS是加密的,安全的,关于TLS的配置,我们会在另外一篇文章中描述。

安装必要的软件包:

apt-get install libsasl2 sasl2-bin libsasl2-modules

然后对postfix进行基本配置,这部分很简单,不再描述,下面描述怎样加入SMTP认证:

修改/etc/postfix/main.cf文件,在末尾加入:

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes

修改/etc/default/saslauthd

START=yes
PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR} -r"
PIDFILE="${PWDIR}/saslauthd.pid"
MECHANISMS="pam"
OPTIONS="-c -m ${PWDIR}"

然后运行:

mkdir -p /var/spool/postfix/var/run/saslauthd
echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

然后重启postfix和saslauthd,应该就能实现明文的发信认证了。本文参考了 http://www.debsir.org/main/?q=node/163

Eclipse中Javascript文件的中文问题

Posted by zuzhihui in Linux技术 on 2008/06/16 with No Comments

在Eclipse中Javascript文件缺省是不能写入中文的,解决方法是使用UTF-8编码来保存Javascript文件,具体操作是在菜单中依次选择:

Preference
General
Content Types
JavaScript
Default encoding

然后修改缺省编码为UTF-8即可

Back to Top

2007-2017 © 北京瑞豪开源科技有限公司 京ICP备13004995号-2