twig 是 The Web Information Gateway 的缩写,是一套利用 php 开发而成的软件,它可以让你轻松地架设一个网络邮局 (WebMail)。使用者只需透过浏览器,即可完成邮件的收发动作。除此之外,它还整合了新闻群组、通讯簿、行程安排、会议、书签......等功能,是一套多功能的 WebMail 软件。
1、系统需求:
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、下载软件:
首先请先检查系统中是否已经安装了 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、安装步骤:
笔者假设你的 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
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 7. 网页测试使用浏览器输入网址进行测试(如:http://your.domain.here/twig/test.php3)这里是用来测试 IMAP 与 Database 的,共有三个部份,请一一加以测试是否为 work。8.使用twig如果网页测试的部份都没问题了,请使用浏览器输入网址(如:http://your.domain.here/twig/),就可以看到下面的画面了。
![](/images/load.gif)
![](/images/load.gif)
![](/images/load.gif)
![](/images/load.gif)
![](/images/load.gif)
![](/images/load.gif)
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、其它安全性的考虑以下针对几种安全上的议题简单地作一个介绍。1. 首先你必须确定你的设定档不会轻易地遭人存取。除了系统的权限之外,你最好在你的 config 目录底下加一个 .htaccess 檔。为了确保你的设定档是安全的,请试着利用浏览器取存你的 config.inc.php3 文件:http:////config/config.inc.php32. 如果你的系统是安全的,你应该会在一个弹出的安全对话窗口后收到一个取存拒绝的讯息。如果没有,请参考网页服务器的文件来设定 .htaccess 文件。3. 另一个安全上的顾虑是在 TWIG 与 mail/database 服务器之间的联机问题。一个安全的系统会将它们全部放在同一台服务器上,否则你的密码可能会经由网络上传递出去。此外,关于帐号/密码之间的传递,建议你使用 SSL 加密联机。MySQL 在刚安装好时,数据库的使用者并没有设定密码,包括 root 也一样。所以如果希望你的系统能安全地运作,别忘了帮 root 设定一组密码。此外,本文中的范例使用 root 的身份联机是由于教学方便考量,建议在数据库联机部份,尽量使用一般使用者的身份来存取 MySQL。到目前的设定应该都没问题了,现在就试着登入 twig,寄封信给你的好朋友吧!