LinuxWebmailIMP的安装和配置
点击次数:20 次 发布日期:2008-11-29 15:12:25 作者:源代码网
|
源代码网推荐 源代码网推荐 作者:readme 源代码网推荐 源代码网推荐 概述 源代码网推荐 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 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 < 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. 源代码网推荐 } 源代码网推荐 源代码网推荐 注意:不要忘了去掉Webma 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网供稿. |
