欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Squirrelmail的安装 有大用

shiping1 的头像

标签: 

邮件系统

 

开源

 

教育

分类: 操作系统

最好不要用 yum 方法 安装  否则可能会让apache无法启动

squirrelmail是一个用PHP写成的,基于IMAP协议的webmail邮件系统。当前版本的功能已经十分 完备,做个性化修改也很方便。 一、前提条件
postfix、dovecot服务的配置
LAMP环境搭建完毕
二、需要的软件

squirrelmail-1.4.0.tar.gz (http://www.squirrelmail.org)

三、squirrelmail的配置

squirrelmail不需要编译,但需要进行详细的配置。

tar zxf squirrelmail-1.4.0.tar.gz

cd squirrelmail-1.4.0

./configure  (或 cd config; ./conf.pl)

会出现以下画面: ######################################################### SquirrelMail Configuration : Read: config.php (
1.
4.0) --------------------------------------------------------- Main Menu --
1.Organization Preferences
2.Server Settings
3.Folder Defaults
4.General Options
5.Themes
6.Address Books (LDAP)
7.Message of the Day (MOTD)
8.Plugins
9.Database D.Set pre-defined settings for specific IMAP servers C.Turn color on S  Save data Q  Quit Command >> #########################################################

1、选择1,进入组织设置 ######################################################### Organization Preferences
1.Organization Name  : SquirrelMail         根据具体情况修改
2.Organization Logo  : ../images/sm_logo.png     根据具体情况修改
3.Org. Logo Width/Height : (308/111)
4.Organization Title : SquirrelMail $version     根据具体情况修改
5.Signout Page :                 根据具体情况修改
6.Default Language

: en_US             改成zh_CN
7.Top Frame : _top
8.Provider link

: http://www.squirrelmail.org/
9.Provider name

: SquirrelMail #########################################################

2、选择2,进入服务器选项 ######################################################### Server Settings General -------
1.Domain : mydomain.com          改成自己的域名
2.Invert Time  : false
3.Sendmail or SMTP

: SMTP              建议改成Sendmail (postfix吧) A.Update IMAP Settings  : localhost:143 (cyrus)     改成(courier) B.Update SMTP Settings  : localhost:25 #########################################################

3、选择4,进入全局设置 ######################################################### General Options
1.Default Charset

: iso-8859-1         改成gb2312  //我这里直接设为UTF-8
2.Data Directory : ../data/          根据具体情况修改
3.Attachment Directory : $data_dir         最好和DATA目录分开
4.Directory Hash Level : 0              大用户量可改至4
5.Default Left Size : 150
6.Usernames in Lowercase  : false           改成true
7.Allow use of priority

: true
8.Hide SM attributions : false           改成true
9.Allow use of receipts

: true 1
0. Allow editing of identity  : true/true 1
1. Allow server thread sort

: false 1
2. Allow server-side sorting  : false 1
3. Allow server charset search : true            改成false 1
4. Enable UID support

: true 1
5. PHP session name  : SQMSESSID #########################################################

4、改好后选择保存并退出。 此时 生成
(保存退出后 生成 config.php文件,我们可以在config.php里进行修改) 大概修改的东西 就下面这么多吧
$squirrelmail_default_language = 'zh_CN';
$default_charset       = 'zh_CN.UTF-8';
$lossy_encoding        = false;
$domain                 = 'mhaowen.com';
$imapServerAddress      = 'localhost';
$imapPort               = 143;
$useSendmail            = false;
$smtpServerAddress      = 'localhost';
$smtpPort               = 25;
.............
.............
$imap_server_type = 'dovecot';
$sendmail_path          = '/usr/sbin/postfix';
...... ......
$data_dir                 = '/var/local/squirrelmail/data/';   //看目录有没有 权限设为777吧 $attachment_dir           = '/var/local/squirrelmail/attach/'; //看目录有没有 权限设为777吧 再检查config/config.php文件, 如果$data_dir为空的话,再 把正确的值填入。这是它的一个BUG。 四、squirrelmail的部署

将整个目录拷贝到DocumentRoot下,将目录改名为webmail,拷贝webmail/data目录到$data_dir 设置的地方,再建立设置的Attachment目录,一起CHMOD 777 即可。 五、个性化修改和安装插件(plugin)
我的程序在 (/root/squirrelmail)目录 提示访问拒绝 我移到了 /usr/share/squirrelmail
目录下才可以访问 不知道 为什么apache无权限访问 /root/squirrelmail


因为整个系统是由PHP写成,所以修改起来非常方便。

至于插件,源码包里自带了几个,其它的可以到主页上下载。我自认为最好用的有:

filters------------------制定邮件规则将邮件自动分发到指定的邮件夹

mail_fetch---------------收取其它POP3邮件服务器上帐户的邮件,存入指定的邮件夹

quota_usage--------------如果设定了磁盘限额,它可以显示出当前的使用量

安装插件的方法同三,选择8进入插件选项,输入插件名前面的数字就可以方便地增加或者 移除相应的插件了。 陶然 2003/05/15 使用技巧一:让长的邮件内容自动换行 用SquirrelMail显示长的邮件内容时有一个缺陷,就是不会自动换行。查看源文件后,发现 问题有两点:一是在显示邮件内容时使用的是“pre”标识,二是表格TD都是不定长的。 要让长的邮件内容能自动换行,需要做如下改动: 1、不再使用“pre”标识显示邮件内容: vi functions/mime.php --

$body = '<pre>' . implode("\n", $body_ary) . '</pre>'; ++

$body = implode("<BR>\n",$body_ary); 2、找到显示“$messagebody”的TD语句,将TD改成定长: vi src/read_body.php 老版本: --

"  <TR><TD BGCOLOR=\"$color[4]\" WIDTH=\"100%\">\n" ++

"  <TR><TD BGCOLOR=\"$color[4]\" WIDTH=\"580\">\n" 新版本: --

html_tag( 'td', '<br>'. $messagebody."\n", 'left') ++

html_tag( 'td', '<br>'. $messagebody."\n", 'left','','width=580') --------------------------------------------------------------------------------------

About this article

  • It's part of PuffyMail Tutorial (OpenBSD Mail Server Solution).
  • Author: Zhang Huangbin (michaelbibby (at) gmail.com).

SquerrilMail

安装 SquirrelMail

  • 从 SquerrilMail 官方网站 的 下载页面 下载最新版本(本文档使用的是
    1.
    4.13 版本)。
  • 解压到服务器的 /var/www/ 目录:
  • # export VERSION='
    1.
    4.13'
    # bzip2 -d squirrelmail-${VERSION}.tar.bz2



    # tar xf squirrelmail-${VERSION}.tar -C /var/www/ # cd /var/www/htdocs/ # ln -s ../squirrelmail-${VERSION} mail
  • 设置权限:
  • # chown -R www:www /var/www/squirrelmail-${VERSION}/ # chmod -R 755 /var/www/squirrelmail-${VERSION}/
  • 创建目录,用于存放邮件附件等数据:
  • # cd /var/www/squirrelmail-${VERSION}/ # mkdir data attach # chown www:www data attach # chmod 730 attach

配置 SquirrelMail

SquirrelMail 为管理员提供了方便的配置工具(一个 Perl 脚本),运行之后显示的是这样的菜单:

# /var/www/htdocs/mail/config/conf.pl

SquirrelMail Configuration : Read: config.php (
1.4.0)
---------------------------------------------------------
Main Menu --

1.  
Organization Preferences

2.  
Server Settings

3.  
Folder Defaults

4.  
General Options

5.  
Themes

6.  
Address Books

7.  
Message of the Day (MOTD)

8.  
Plugins

9.  
Database
1
0.
 Languages

D.  
Set pre-defined settings for specific IMAP servers

C  

 Turn color on
S  

 Save data
Q  

 Quit

Command >>

输入菜单前的数字或字母即可进入对应的配置选项。

这里有几个参数需要修改:

  • Server Settings
    • Update IMAP Settings
      • IMAP Server(将 localhost 改成 '12
        7.
        0.
        0.1')
      • SMTP Server(将 localhost 改成 '12
        7.
        0.
        0.1')
  • General Options
    • Data Directory (设置为:/squirrelmail-${VERSION}/data/。一定要记得将这里的 ${VERSION} 替换为实际的版本号。)
    • Attachment Directory (设置为:/squirrelmail-${VERSION}/attach/。一定要记得将这里的 ${VERSION} 替换为实际的版本号。)
  • Languages
    • Default Language(设置为 zh_CN)
    • Default Charset(改成 gb2312,否则会导致邮件乱码)
  • Set pre-defined settings for specific IMAP servers (选择 courier)

NOTE: chrooted apache

因为 Apache 默认是被 chroot 在 /var/www/ 目录下,所以这里的 "Data Directory" 和 "Attachment Directory" 目录的路径不能加 /var/www/。

TIP: 检查配置

配置完成之后,可以使用 configtest.php 页面帮助检查设置是否正确:
http://your_server_ip/mail/src/configtest.php
如果没有错误的话,现在就可以登录 WebMail 了: http://your_server_ip/mail/ 。

RHEL6 Postfix+Dovecot邮件系统配置指南 - zhuzhu - 五事九思 (大连Linux主机维护)

Translations

刚才已经安装和配置好了 SquirrelMail,但是界面还只是英文的,需要安装 Translations 以支持其它语言的界面显示。

从 SquirrelMail 下载页面 下载需要的 translation。这里使用 all_locales-
1.
4.13-2007122
0.tar.gz,包含最多种语言的翻译,你也可以只下载单个语言的翻译包。

下载后将它解压,然后将解压出来的目录和文件复制到对应的目录即可:

# tar zxf all_locales-
1.
4.13-2007122
0.tar.gz

解压后在当前目录有一个 'install' 脚本,它会复制所有需要的文件:

# sh install
Please enter path to your squirrelmail installation:

在提示符下输入 SquirrelMail 的安装地址:

/var/www/htdocs/mail/

到此,translations 的安装就完成了。再通过 SquirrelMail 的配置工具 'conf.pl' 来设置默认语言和默认的字符集:

# /var/www/htdocs/mail/config/conf.pl

选择 'Languages' 一项,再设置以下两个参数:
(我的根本就直接用UTF-8 没有需要转码)
 

  • Default Language(简体中文使用 'zh_CN',繁体中文用 'zh_TW')
  • Default Charset(简体中文用 'gb2312',繁体中文用 'big5')

TIP: Default Charset

SquirrelMail 里的 'zh_CN' 默认使用 'gb2312' 字符集,而 phpLDAPadmin 里所有属性的值都是用 'utf-8' 编码保存的,所以如果需要使用 LDAP 全局地址簿,则需要将 SquirrelMail 的 translation 文件的编码给转换成 'utf-8' 编码,否则看到的 LDAP 属性的值都将是乱码。
这里以 'zh_CN' 为例,介绍如何使用 'iconv' 工具来转换字符集。
# cd /var/www/htdocs/mail/locale/zh_CN/LC_MESSAGES/ # cp squirrelmail.po squirrelmail.po.bak # iconv -f gb2312 -t utf-8 squirrelmail.po.bak >squirrelmail.po
再编辑 /var/www/htdocs/mail/locale/zh_CN/setup.php 文件,将文件里的 'gb2312' 改为 'utf-8':
$languages['zh_CN']['CHARSET'] = 'utf-8'; $languages['zh_CN']['LOCALE']   = array('zh_CN.UTF8','zh_CN');
再编辑 /var/www/htdocs/mail/functions/i18n.php 文件,将文件里的 'gb2312' 改为 'utf-8':
$languages['zh_CN']['CHARSET'] = 'utf-8';
这样就可以了。
别忘了用 'conf.pl' 配置工具在 'Languages' 菜单里将一下参数改一下:
  • Default Charset (改为 'utf-8')

Plugins

SquirrelMail 有丰富的 Plugins,可以在 All Plugins 页面找到所有的 Plugins。

change_ldappass

change_ldappass 是提供给用户修改存储在 LDAP 里的邮箱密码的插件。

  • 从 'change_ldappass' 插件的主页下载最新版本,这里以
    2.2-
    1.
    4.0 版本为例。
  • 解压缩,并复制到正确的位置:
  • # tar zxf change_ldappass-
    2.2-
    1.
    4.
    0.tar.gz
    # cp -rf change_ldappass /var/www/htdocs/mail/plugins/ # chown -R www:www /var/www/htdocs/mail/plugins/change_ldappass # chmod -R 755 /var/www/htdocs/mail/plugins/change_ldappass
  • 启用插件:
  • # /var/www/htdocs/mail/config/conf.pl

输入 'Plugins' 菜单项前的数字,然后可以看到所有已经安装的插件。输入 'change_ldappass' 前的数字启用它。再输入 'S' 保存配置,输入 'Q' 退出配置工具。

  • 配置 change_ldappass:

将配置文件模板复制一份,再基于它进行修改:

# cd /var/www/htdocs/mail/plugins/change_ldappass/
# cp config_sample.php config.php

在 config.php 文件中需要修改以下内容:

$ldap_server = '12
7.
0.
0.1'
;
$ldap_protocol_version = 3;
$ldap_password_field = 'userPassword';
$ldap_user_field = 'mail';
$ldap_base_dn = 'o=domains,dc=openbsdonly,dc=org';
$ldap_filter = '(&(objectClass=qmailUser)(accountStatus=active))';
$query_dn = 'cn=vmail,dc=openbsdonly,dc=org';
$query_pw = 'vmailpasswd';

修改完成之后,用户就可以登录到 SquirrelMail 里,通过菜单 'Options --> Change Password' 来修改自己的邮箱密码了。

RHEL6 Postfix+Dovecot邮件系统配置指南 - zhuzhu - 五事九思 (大连Linux主机维护)

Compatibility

由于以下几个插件需要 Compatibility 插件的支持,所以我们需要先安装 Compatibility 插件:

  • Check Quota

这是一个用来保证其它一些插件可以 backward (and forward) compatible 的插件。插件的主页 介绍如下:

This plugin allows any other plugin access to the functions and special variables needed to make it backward (and forward) compatible with most versions of SM in wide use. This eliminates the need for duplication of certain functions throughout many plugins. It also provides functionality that helps check that plugins have been installed and set up correctly.

它的安装非常简单,只需要下载后解压到 SquirrelMail 的 'plugins/' 目录,再用 SquirrelMail 提供的 'conf.pl' 配置工具启用它即可。

# tar zxf compatibility-
2.
0.10-
1.
0.tar.gz

# mv compatibility /var/www/htdocs/mail/plugins/

# chown -R www:www /var/www/htdocs/mail/plugins/compatibility/
# chmod -R 755 /var/www/htdocs/mail/plugins/compatibility/

别忘了启用它:

# /var/www/htdocs/mail/config/conf.pl

Check Quota

Check Quota 插件用于检查和显示用户的邮箱容量使用量。支持的 Quota 类型有:

  • UNIX (filesystem)
  • IMAP-based
  • cPanel quotas

在这里我们使用的是 IMAP-based,配置非常的简单。

下载最新版本的源码,然后解压并配置。这里以
2.2-
1.
4.0 版本为例。

# tar zxf check_quota-
2.2-
1.
4.
0.tar.gz

# mv check_quota /var/www/htdocs/mail/plugins/
# chown -R www:www /var/www/htdocs/mail/plugins/check_quota/
# chmod -R 755 /var/www/htdocs/mail/plugins/check_quota/

# cd /var/www/htdocs/mail/plugins/check_quota/
# cp config.sample.php config.php

编辑配置文件 /var/www/htdocs/mail/plugins/check_quota/config.php,在第 28 行,将 quota_type 的值改为 '1' 即可。

$settings['quota_type'] = 1;

使用 SquirrelMail 的 'conf.pl' 工具启用这个插件,然后重新登录 SquirrelMail,即可在左上角看到 "Quota Usage" 的信息。

RHEL6 Postfix+Dovecot邮件系统配置指南 - zhuzhu - 五事九思 (大连Linux主机维护)

TIP:

如果用户邮箱为空,默认是不显示 "Quota Usage" 的。

Select Language

select_language 在用户的登录的时候提供一个下拉菜单,用户可以在此选择登录 SquirrelMail 后使用的界面语言。

select_language 的安装非常简单,只需要解压后复制到正确的目录,再启用它即可。这里以
1.1-
1.
4.0 版本为例。

# tar zxf select_language-
1.1-
1.
4.
0.tar.gz

# mv select_language /var/www/htdocs/mail/plugins/

# chown -R www:www /var/www/htdocs/mail/plugins/select_language/
# chmod -R 755 /var/www/htdocs/mail/plugins/select_language/

使用 SquirrelMail 的配置工具 'conf.pl' 启用它。


来自 http://blog.sina.com.cn/s/blog_6954b9a901010sn
2.html
普通分类: