Username: Password:

LinuxWebmailIMP的安装和配置
来源:linux宝库作者:linux宝库 发布时间:2007-09-30 00:00:00


  概述

  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为存储器。还要

  

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅