当前位置:中国星空学习网首页>Linux/DOS>Linux配置>正文  
Linux Webmail IMP的安装和配置

 

j30B0j30B0j30B0
概述

Webmail IMP允许用基于Web的方式访问IMAP/POP3服务器,而且提供了地址簿、LDAP目录查询、支持发送和接收附件,还有很多在常用的桌面电子邮件客户程序中可以找的功能。如果你已经安装了支持SSL的Apache服务器,就可以通过SSL安全地发送和读取邮件。在这篇文章中,我们把Webmail IMP配置成使用PostgreSQL并使用IMAP连接。Webmail还可以支持很多其它的数据库,如果你愿意的话,可以使用MySQL、Oracle、Sybase以及其它SQL数据库服务器。当然,你也可以选择用POP3而不用IMAP。

注意事项
下面所有的命令都是Unix兼容的命令。

源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。

安装在RedHat Linux 6.1和6.2下测试通过。

要用“root”用户进行安装。

Horde的版本是1.2.0。

Webmail IMP的版本是2.2.0。

PHPLib的版本是7.2b。

软件包的来源
Webmail IMP的主页:http://www.horde.org/imp/

下载:horde-1.2.0-pre11.tar.gz

下载:imp-2.2.0-pre11.tar.gz

PHPLib的主页:http://phplib.netuse.de/index.php3

下载:phplib-7.2b.tar.gz

安装前的准备工作
l 先要安装Apache服务器

l 安装PHP4

l 如果想为Webmail IMP加上SQL的支持,还要安装PostgreSQL或其它数据库服务器

l 安装IMAP/POP服务器

l PHPLIB 7.2或更高版本

安装Webmail IMP所需的PHPLib
为了在Linux服务器上运行Webmail IMP,必须安装PHPLib(PHP开发者用来开发Web应用程序的工具包)。按照下面的步骤安装PHPLib:

软件包

PHPLib的主页:http://phplib.netuse.de/index.php3

下载:phplib-7.2b.tar.gz

[root@deep /]# cp phplib-7.2b.tar.gz /home/httpd/
[root@deep /]# cd /home/httpd/
[root@deep httpd]# tar xzpf phplib-7.2b.tar.gz

第一步

转到Web服务器的DocumentRoot目录,用下面的命令创建“/home/httpd/php”目录:

[root@deep /]# cd /home/httpd/
[root@deep httpd]# mkdir php

第二步

先把PHPLib解压,然后把PHPLib中的文件拷贝到“php”目录下:

[root@deep /]# cd /home/httpd/phplib-7.2b/php/
[root@deep php]# cp * /home/httpd/php/
[root@deep php]# cd /home/httpd/
[root@deep httpd]# rm -f phplib-7.2b.tar.gz
[root@deep httpd]# rm -rf phplib-7.2b/

注意:当把所有的文件都拷贝到“php”目录下之后,把tar压缩包和“phplib-verison”目录删掉。

编译
按照下面的步骤,在服务器上安装Webmail IMP。

第一步

把“horde-1.2.0-pre11.tar.gz”拷贝到Web服务器的DocumentRoot(/home/httpd)目录下,运行下面的命令:

[root@deep /]# cp horde-version.tar.gz /home/httpd/
[root@deep /]# cd /home/httpd/
[root@deep httpd]# tar xzpf horde-version.tar.gz
[root@deep httpd]# mv horde-version horde
[root@deep httpd]# rm -f horde-version.tar.gz

注意:我们在把“horde-version”改名为“horde”之后,把horde的压缩文件删掉。

第二步

用下面的命令把“imp-2.2.0-pre11.tar.gz”拷贝到新的“horde”目录(/homte/httpd/horde),解压并把“imp-version”改名为“imp”:

[root@deep /]# cp imp-version.tar.gz /home/httpd/horde/
[root@deep /]# cd /home/httpd/horde/
[root@deep horde]# tar xzpf imp-version.tar.gz
[root@deep horde]# mv imp-version imp
[root@deep horde]# rm -f imp-version.tar.gz

注意:“imp”目录在“horde”目录下,否则Webmail就不能工作。把“imp-version”目录改名为“imp”之后,可以把IMP的压缩文件删掉。

第三步

把“horde”目录及其子目录和目录下的所有文件的所有者改为“root”。

[root@deep /]# chown -R 0.0 /home/httpd/horde/

第四步

用下面的命令把“/home/httpd/horde/phplib/*.ihtml”文件拷贝到新的“php”(/home/httpd/php)目录下:

[root@deep /]# cp /home/httpd/horde/phplib/*.ihtml /home/httpd/php/

配置并创建Webmail IMP的SQL数据库
我们必须配置数据库使得Webmail IMP可以和SQL数据库结合使用。可以用“/home/httpd/horde/imp/config/scripts”目录下已经写好的脚本。以PostgreSQL为例,根据下面的步骤:

第一步

首先,编辑“/home/httpd/horde/imp/config/scripts”目录下的“pgsql_create.sql”,把默认的httpd的用户名改为“www”。

编辑“pgsql_create.sql”文件(vi /home/httpd/horde/imp/config/scripts/pgsql_create.sql),把下面这一行:

GRANT SELECT, INSERT, UPDATE ON imp_pref, imp_addr TO nobody;

改为:

GRANT SELECT, INSERT, UPDATE ON imp_pref, imp_addr TO www;

第二步

我们必须给予运行Apache的用户“www”在我们的PostgreSQL数据库中创建Webmail IMP数据库的权限。

用PostgreSQL的“createuser”命令在数据库中设定httpd的用户名为“www”:

[root@deep /]# su postgres
[postgres@deep /]$ createuser

Enter name of user to add ---> www
Enter users postgres ID or RETURN to use unix user ID: 80 -> [Press Enter]
Is user "www" allowed to create databases (y/n) y
Is user "www" a superuser? (y/n) n
createuser: www was successfully added

第三步

一旦httpd用户“www”被加到PostgreSQL数据库中,用“postgres”用户登录,运行脚本文件“pgsql_create.sql”,自动在PostgreSQL中加入Webmail IMP数据库。

用下面的命令在PostgreSQL中创建Webmail IMP数据库:

[root@deep /]# cd /home/httpd/horde/imp/config/scripts/
[root@deep scripts]# su postgres
[postgres@deep scripts]$ psql template1 < pgsql_create.sql

// IMP database creation script for postgreSQL
// Author: barce@lines.edu
// Date: Aug-29-1998
// Notes: replace "nobody" with yours httpd username
// Run using: psql template1 < pgsql_create.sql
CREATE DATABASE horde;
CREATEDB
\connect horde
connecting to new database: horde
CREATE TABLE imp_pref (
username text,
sig text,
fullname text,
replyto text,
lang varchar(30)
);
CREATE
CREATE TABLE imp_addr (
username text,
address text,
nickname text,
fullname text
);
CREATE
GRANT SELECT, INSERT, UPDATE ON imp_pref, imp_addr TO www;
CHANGE
EOF

第四步

重新启动PostgreSQL服务器,让所做的改变生效。

用下面的命令重新启动PostgreSQL:

[root@deep /]# /etc/rc.d/init.d/postgresql restart
Stopping postgresql service: [ OK ]
Checking postgresql installation: looks good!
Starting postgresql service: postmaster [13474]

第五步

把“/home/httpd/horde/phplib/horde_phplib.inc”拷贝为“/home/httpd/php/local.inc”:

[root@deep /]# cp /home/httpd/horde/phplib/horde_phplib.inc /home/httpd/php/local.inc
cp: overwrite `/home/httpd/php/local.inc? y

编辑phplib的配置文件“local.inc”,可以设置phplib的运行情况。

编辑“local.inc”文件(vi /home/httpd/php/local.inc),去掉注释并修改下面这些行来设置默认的数据库:

/* To use an SQL database, uncomment and edit the following: */
class HordeDB extends DB_Sql {
var $Host = localhost;
var $Database = horde;
var $User = www;
var $Password = some-password;
var $Port = 5432;
function halt($msg) {
printf(" Database error (HordeDB): %s
\n", $msg);
}
}
class HordeCT extends CT_Sql {
var $database_class = HordeDB; // Which database class to use...
var $database_table = active_sessions; // and find our data in this table.
}

注意:不要忘了去掉Webmail IMP所使用的存储器类型的注释,而且只能选择一种存储器类型。我们选择SQL为存储器。还要设置SQL数据库的参数“var $User =”、“var $Password =”和“var $Port =”。“var $User =”对应httpd的用户名(在我们的例子中为“www”),“var $Password =”对应在PostgreSQL中“www”用户的口令,“var $Port =”是连接到SQL数据库的IP端口。

第六步

最后编辑“/home/httpd/php/prepend.php3”文件,设置默认的数据库类型。

编辑“prepend.php3”文件(vi /home/httpd/php/prepend.php3),改变下面这些行把数据库类型设置成PostgreSQL:

require($_PHPLIB["libdir"] . "db_mysql.inc");

改为:

require($_PHPLIB["libdir"] . "db_pgsql.inc");

配置PHP4的配置文件“php.ini”
还要设置PHP4的配置文件“/etc/httpd/php.ini”。这些设置是为了设定PHP4自动装入哪些模块(例如:IMAP、PostgreSQL或其它)。因为我们用PostgreSQL作为我们的数据库而且要用到IMAP,我们必须在“php.ini”中设定。

第一步

编辑“php.ini”文件(vi /etc/httpd/php.ini),在“Dynamic Extensions”这一节进行设置。我们选择支持IMAP和PostgreSQL:

extension=imap.so ; Added for IMAP support
extension=pgsql.so ; Added for PostgreSql support
extension=mysql.so ; Added for MySql support
extension=ldap.so ; Added for LDAP support

第二步

我们还要告诉“php”当所包含的文件没有绝对路径时到哪里去找这些文件,自动把phplib的“prepend.php3”文件的内容加到每个文件的前面,并且把magic quotes关闭掉。

编辑“php.ini”文件(vi /etc/httpd/php.ini)并且在下面这些行中加上参数:

magic_quotes_gpc = Off
auto_prepend_file = "/home/httpd/php/prepend.php3"
include_path = "/home/httpd/horde:/home/httpd/php"

配置Apache使其识别Webmail IMP
一旦Webmail IMP安装到系统中之后,必须在“httpd.conf”文件中加入下面这些行。

第一步

编辑“httpd.conf”文件(vi /etc/httpd/conf/httpd.conf)在 和 中加入这些行:

Alias /horde/ "/home/httpd/horde/"

Options None
AllowOverride None
Order allow,deny
Allow from all


Alias /imp/ "/home/httpd/horde/imp/"

Options None
AllowOverride None
Order allow,deny
Allow from all


第二步

重新启动让Apache Web服务器让这些改变生效。

用下面的命令重新启动:

[root@deep /]# /etc/rc.d/init.d/httpd restart
Shutting down http: [ OK ]
Starting httpd: [ OK ]

用浏览器配置Webmail IMP
用很多方法可以配置Webmail IMP,我们选择用名为“setup.php3”的新的安装引擎。可以用浏览器配置IMP。

第一步

因为安全方面的原因,所以最好把它禁止掉,但是可以用下面的命令使其生效。

用下面的命令使“setup.php3”生效:

[root@deep /]# cd /home/httpd/horde/
[root@deep horde]# sh ./install.sh
Your blank configuration files have been created, please go to
the configuration utitlity at :
your install path url/setup.php3

第二步

一旦新的Webmail IMP安装引擎生效之后,可以用浏览器通过这个URL:http://my-web-server/horde/setup.php3访问。现在,你就可以用图形安装界面安装和配置IMP了。

注意:“my-web-server”是你的Apache服务器的地址,“setup.php3”在“/horde”目录下。

第三步

当使用完Webmail IMP的安装引擎之后,因为安全原因必须把它禁止掉。

用下面的命令禁止“setup.php3”:

[root@deep /]# cd /home/httpd/horde/
[root@deep horde]# sh ./secure.sh

I have made your configuration files, and libraries mode 0555
which is read / execute for everyone.
And the setup.php3 is mode 0000 which is no access period.

第四步

现在应该验证一下Webmail IMP能否正常运行了。可以让浏览器访问这个地址:http://my-web-server/horde/。“my-web-server”是你的Apache服务器的地址。“/horde”是Webmail IMP程序所在的目录。



版权说明
这篇文章翻译和改编自Gerhard Mourani的《Securing and Optimizing Linux: RedHat Edition》,原文及其版权协议请参考:http://www.openna.com/。

中文版的版权属于译者brimmer和http://www.linuxaid.com.cn/。

 

上一篇: 怎样在Apache上安装MOD_SSL
下一篇: 重装WIN后的Linux启动
站内公告
栏目导航
 Windows系统
 Linux/DOS
 办公应用
 工具软件
 图形图象
 网络应用
 安全防御
 网络编程
 软件教程
 实用技术
最新文章
中国星空图片网
·人体艺术
·性感美眉
·生活自拍
·幽默搞笑
·超级帅哥
·精彩万花筒
·梦幻景色
中国星空探索网
·神秘追踪 灵异接触
·鬼故事 灵异空间 图片
·未解之谜 探索宇宙
中国星空两性网
·两性图文 我的性事 情人 成人幽默
·性爱技巧 两性测试 性爱误区
·性事花边 生育避孕 性保健 性疾病
·两性生理 文化 讨论 心理 知识
·爱人同志 非常男女 一夜情
中国星空算网命
·手机吉凶 QQ号码吉凶 周公解梦
·塔罗牌测试 狗年运程
·关公灵签 紫薇斗数 八字排盘
·测试:你的成功指数有多少
·测验你的家庭是否美满?
·面相: 面型 眼睛 耳朵 口唇
·手相:拉你一把奶油桂花手
·测试:你能成为大富翁吗?
联系方式 设为首页
中国星空旗下---中国星空学习网    Copyright 2005-2050 Year   xx.happy369.com  Networks.All rights reserved
中国星空网所有内容均来源于网络,版权属于原作者,如侵犯到您的权益,请与我们联系,我们将尽快予以删除或处理。
中国星空不承担由于内容的合法性及健康性所引起的一切争议和法律责任。
陕ICP备05011765号 联系我们 
《女人如烟》--演唱:魏佳艺