| 订阅 | 在线投稿
分享
 
 
 

Linux Webmail IMP的安装和配置

来源:互联网网民  宽屏版  评论
2008-05-31 00:04:29

1.概述

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

2.注意事项

下面所有的命令都是Unix兼容的命令。

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

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

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

Horde的版本是1.2.0。

Webmail IMP的版本是2.2.0。

PHPLib的版本是7.2b。

3.软件包的来源

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

4.安装前的准备工作

* 先要安装Apache服务器

* 安装PHP4

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

* 安装IMAP/POP服务器

* PHPLIB 7.2或更高版本

5.安装Webmail IMP所需的PHPLib

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

6.软件包

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”目录删掉。

7.编译

按照下面的步骤,在服务器上安装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/

8.配置并创建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 user's 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

// 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

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

", $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");

9.配置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"

10.配置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 ]

11.用浏览器配置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程序所在的目录

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 1.概述   Webmail IMP允许用基于Web的方式访问IMAP/POP3服务器,而且提供了地址簿、LDAP目录查询、支持发送和接收附件,还有很多在常用的桌面电子邮件客户程序中可以找的功能。如果你已经安装了支持SSL的Apache服务器,就可以通过SSL安全地发送和读取邮件。在这篇文章中,我们把Webmail IMP配置成使用PostgreSQL并使用IMAP连接。Webmail还可以支持很多其它的数据库,如果你愿意的话,可以使用MySQL、Oracle、Sybase以及其它SQL数据库服务器。当然,你也可以选择用POP3而不用IMAP。 2.注意事项   下面所有的命令都是Unix兼容的命令。   源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。   安装在RedHat Linux 6.1和6.2下测试通过。   要用“root”用户进行安装。   Horde的版本是1.2.0。   Webmail IMP的版本是2.2.0。   PHPLib的版本是7.2b。 3.软件包的来源   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 4.安装前的准备工作 * 先要安装Apache服务器 * 安装PHP4 * 如果想为Webmail IMP加上SQL的支持,还要安装PostgreSQL或其它数据库服务器 * 安装IMAP/POP服务器 * PHPLIB 7.2或更高版本 5.安装Webmail IMP所需的PHPLib   为了在Linux服务器上运行Webmail IMP,必须安装PHPLib(PHP开发者用来开发Web应用程序的工具包)。按照下面的步骤安装PHPLib: 6.软件包   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”目录删掉。 7.编译   按照下面的步骤,在服务器上安装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/ 8.配置并创建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 user's 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 // 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 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 ", $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"); 9.配置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" 10.配置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 ] 11.用浏览器配置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程序所在的目录
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有