使用twig快速搭建WebMail系统_Mail服务器教程

编辑Tag赚U币
教程Tag:WebMailtwig添加

什么是 twig ?

twig是 The Web Information Gateway 的缩写,是一套利用 PHP 开发而成的软件,它可以让你轻松地架设一个网络邮局 (WebMail)。

使用者只需透过浏览器,即可完成邮件的收发动作。除此之外,它还整合了新闻群组、通讯簿、行程安排、会议、书签......等功能,是一套多功能的 WebMail软件。

1、twig系统需求:

TWIG 需要以下的套件:

支持php的网页服务器( 建议使用 Apache )

PHP 3.0.11 以上版本

此外若能配合下列套件,将能发挥 twig 更佳的特性:

MySQL 或 pgsql

LDAP 服务器

IMAP 服务器

笔者建议以 Apache+PHP+MySQL+IMAP 的组合来架设,至于LDAP服务器可依自行需要再加以搭配。

笔者所采用的套件如下:

RedHat 7.2

Apache 1.3.22

PHP 4.0.6

MySQL 3.23.41

twig 2.7.5

2、下载twig软件:

首先请先检查系统中是否已经安装了 Apache+PHP+MySQL+IMAP,你可以透过下列指令检查是否已经安装:

# rpm -qa | grep -i apache

# rpm -qa | grep -i php

# rpm -qa | grep -i mysql

# rpm -qa | grep -i imap

若发现有未安装的套件,可利用你的Linux安装光盘片来安装。以 RedHat 7.2 为例,我们可以在光盘片的 RedHatRPMS 目录中找到许多的 rpm 套件,并利用下列指令来安装:

# rmp -ivh

或者你想升级至较新的版本,可至下列网址下载最新的版本:

Apache:http://www.apache.org

PHP:http://www.php.net

MySQL:http://www.mysql.com

此外最重要的是要下载 twig,我们可以至 http://twig.screwdriver.net/download.php3 下载最新的 twig 2.7.5版。当然啦!以上所需的软件都可在 LinuxCenter 软件数据库中找到。

3、twig安装步骤:

笔者假设你的 Linux 系统中已经安装了 Apache+PHP+MySQL+IMAP,而且 twig 也已经下载至你的家目录中。现在就开始进行安装的动作吧!

1. 将 twig 从家目录复制到 /usr/local

# cp $HOME/twig-2.7.5.tar.gz /usr/local

2.解压缩档 twig-2.7.5.tar.gz

# cd /usr/local

# tar zxvf twig-2.7.5.tar.gz

3.执行 twig-install,将 twig 安装至 /var/www/html/

# cd /usr/local/twig-2.7.5

# ./twig-install /var/www/html/twig

4. 建立数据库

# mysqladmin -u root -p create twig

# cd /usr/local/twig-2.7.5/setup

# mysql -u root -p twig < twig.table.mysql

5. 修改参数设定

# cd /var/www/html/twig/config

# vi config.inc.php3

$config["fromdomain"] = "你的网域名称"; //修改为你这台 twig 主机的网域名称

$config["language"] = "chinesebig5"; //将语系改成繁体中文

$config["imap_server"] = "YourImapServerDomain"; //指定你的IMAP服务器位置,若是在同一台机器只要用"localhost"即可

$config["smtp_server"] = "YourSmtpServerDomain"; //指定你的SMTP服务器位置,若是在同一台机器只要用"localhost"即可

$config["session_handler"] = "php4session"; //php 4以上系统可将 cookie 改为 session

$config["login_handler"] = "php4session"; //php 4以上系统可将 cookie 改为 session

# vi dbconfig.inc.php3

$dbconfig["sqlusername"]="root"; //修改 mysql 的使用者帐号

$dbconfig["sqlpassword"]="你的密码"; //修改 mysql 的使用者密码

$dbconfig["defaultdb"]="twig"; //修改预设数据库名称

$dbconfig["sqltype"]="mysql"; //修改使用数据库

6. 修改 advanced.acl.population 以设定管理者帐号

# cd /usr/local/twig-2.7.5/setup

# vi advanced.acl.population

修改 INSERT INTO twig acl groups VALUES('456744','TWIGAdministrators','管理者帐号'); //将"管理者帐号"改成你的打算用来作管理的帐号

# mysql -u root -p twig < advanced.acl.population

7. 网页测试

使用浏览器输入网址进行测试(如:http://your.domain.here/twig/test.php3)这里是用来测试 IMAP 与 Database 的,共有三个部份,请一一加以测试是否为 work。

8.使用twig

如果网页测试的部份都没问题了,请使用浏览器输入网址(如:http://your.domain.here/twig/),就可以看到下面的画面了。

 

9. 使用者登入

利用一组系统中已存在的帐号登入,你就可以看到下列的画面。twig 预设会有 主页 | 邮件 | 新闻| 通讯簿 | 行程 | 会议 | 工作 | 笔记 | 书签 | 模块 | 说明 | 注销 等选项,你可以一一加以点选使用。个人环境的设定可在"模块"选项中进行修改。

 

4、twig管理者接口

我们已经在第六个步骤中设定了管理者的帐号了,接着我们还必须手动建立一个文件才能使用管理者的接口。请在 features/admin 目录中建立一个叫 users 的目录,并在此目录中建立一个名为 .admin 的文件。例如 michael 是 twig 管理员的帐号,除了必须在第六步骤中将 advanced.acl.population 文件中的管理员修改为 michael,还要在 features/admin/users 目录下建立一个 michael.admin 的文件。

# cd /var/www/html/twig/features/admin

# mkdir users

# cd users

# touch michael.admin

接下来让我们用 michael 这个身份登入看看:

 

有没有发现在"选项"中已多了一个"系统管理"的项目,点选进去看看吧。在这里你可以针对组别或个人使用者修改相关的设定值,是不是很方便呢?

5、设定档介绍  你可以藉由编辑 config 目录下的设定文件来对 TWIG 作设定上的调整:

config.inc.php3 - 整体环境设定的设定档

announcements.inc.php3 - 主页中会显示在"公布"字段的文件

dbconfig.inc.php3 - 数据库的设定文件

images.inc.php3 - 使用图片的清单

login.footer.inc.php3 - 登入画面的文件尾设定文件

login.form.php3 - 登入画面的主体设定文件

login.header.inc.php3 - 登入画面的文件头设定文件

mainmenu.inc.php3 - 显示在主页的清单项目

defaults.inc.php3 - 使用者及程序偏好设定的默认值文件

header.inc.php3 - 每一页的文件头设定 (本文件位于 features 目录中)

footer.inc.php3 - 每一页的文件尾设定 (本文件位于 features 目录中)

上述文件我们已经看过 config.inc.php3 及 dbconfig.inc.php3 这两个文件了,若有其它的需要你也可以藉由修改文件中的选项来改变设定值。接下来我们再来看看其它比较实用的例子。

比方说你想让使用者登入后看到管理者所规定或宣布的一些事项,你可以编辑 announcements.inc.php3 这个文件,让使用者在主页中的"公布"字段中看到这些讯息。

 

如果你觉得登入画面的英文讯息很碍眼,你也可以去修改 login.form.php3 这个文件将登入画面改成中文的画面。

 

当然啦!如果你想将预设的 Logo 改成自已网站上的 Logo,你可以将自已作好的 Logo 图片放置于 images 目录底下,并将 images.inc.php3 文件中的「 $img["logo"] = $config["imgdir"] . "twig.gif"; 」这个变量的 "twig.gif" 值改为自已图片的文件名。

 

怎么样?不错吧!

6、TWIG的内部安全机制

TWIG 提供了两个不同的安全机制:Basic 与 Advanced。这两种机制在安全上有所不同,两者只可择其一,不能共存。你可以藉由修改 config.inc.php3 设定档中的 $config["security"] 变量来改变它们。以下简单介绍这两种机制:

Basic

basic 机制与 TWIG 1 时的情况雷同,你可以利用 $disabled[] 来关闭一些使用者的特性项目。

Advanced

advanced 机制与 basic 截然不同,它可以使用 Access Control List (ACL) 来针对单一使用者或群组作设定特性的激活或关闭。此外,它还需要下列的设定:

twig所连结的数据库中必须要有 twig_acls 与 twig_acl_groups 两个资料表

编辑 setup 目录中的 advanced.acl.population 文件,将 换成你真正的 twig 系统管理者

将以上的文件加到你的数据库中

在 setup 目录中的 advanced.acl.population 文件是用来设定 ACL 数据库的,这项设定可以让 TWIGAdministrators 群组拥有所有的权限,而让 Everyone 群组拥有预设的权限,系统刚安装好时所有的使用者都是属于 Everyone 群组。当你设定好后,你可以试着用管理者的帐号登入,此时你会发现在主页中多了一个系统管理的选项,你可以在此调整你的系统设定。不过要注意的是,advanced 机制除了 $disabled["global_autoaccounts"] 这个变量之外,并不支持任何的 $disabled[] 变量。

看昏头了吗?不用担心!这些我们之前都已经设定好了。如果你想要使用 advanced 机制,只要将 config.inc.php3 设定档中的 $config["security"] 变量设定为 "advanced" 就好了!

7、twig其它安全性的考虑

以下针对几种安全上的议题简单地作一个介绍。

1. 首先你必须确定你的设定档不会轻易地遭人存取。除了系统的权限之外,你最好在你的 config 目录底下加一个 .htaccess檔。为了确保你的设定档是安全的,请试着利用浏览器取存你的 config.inc.php3 文件:

http:////config/config.inc.php3

2. 如果你的系统是安全的,你应该会在一个弹出的安全对话窗口后收到一个取存拒绝的讯息。如果没有,请参考网页服务器的文件来设定 .htaccess 文件。

3. 另一个安全上的顾虑是在 TWIG 与 mail/database 服务器之间的联机问题。一个安全的系统会将它们全部放在同一台服务器上,否则你的密码可能会经由网络上传递出去。此外,关于帐号/密码之间的传递,建议你使用 SSL 加密联机。

MySQL 在刚安装好时,数据库的使用者并没有设定密码,包括 root 也一样。所以如果希望你的系统能安全地运作,别忘了帮 root 设定一组密码。此外,本文中的范例使用 root 的身份联机是由于教学方便考量,建议在数据库联机部份,尽量使用一般使用者的身份来存取 MySQL。

到目前的设定应该都没问题了,现在就试着登入 twig,寄封信给你的好朋友吧!

来源:网络搜集//所属分类:Mail服务器教程/更新时间:2012-06-21
相关Mail服务器教程