使用RoundCube Webmail与ISPConfig 3在Debian Wheezy(nginx)

本指南介绍如何安装RoundCube  webmail应用程序在Debian Wheezy服务器上运行ISPConfig和 nginx,以及如何启用...

使用RoundCube Webmail与ISPConfig 3在Debian Wheezy(nginx)

本指南说明如何在运行ISPConfig和nginx的Debian Wheezy服务器上安装RoundCube Webmail应用程序,以及如何为RoundCube启用ISPConfig 3插件,以便用户可以执行操作,如从RoundCube中更改其电子邮件密码。 Roundcube webmail是一种基于浏览器的多语言IMAP客户端,具有类似应用程序的用户界面; 它具有MIME支持,地址簿,文件夹操作,消息搜索和拼写检查等功能。

我不会保证这将为您工作!

1初步说明

本教程假设您正在使用nginx作为ISPConfig 3服务器上的Web服务器; 本教程将不适用于Apache。 我将从Debian Wheezy存储库安装RoundCube - 这是一个合理的最新版本(0.7.2.9 vs 0.9.1(当前稳定版本))。

我将演示如何为RoundCube配置vhost,以便可以通过别名/ webmail访问(例如http://www.example.com/webmail )。

2在ISPConfig中创建远程用户

RoundCube的ISPConfig 3插件通过ISPConfig的远程API工作。 要使用这个API,我们需要一个远程用户。 要创建此类用户,请转到系统>用户管理>远程用户 ,然后单击添加新用户按钮:

为用户提供用户名和密码...

...并启用以下功能:

  • 服务器功能
  • 客户端功能
  • 邮件用户功能
  • 邮件别名功能
  • 邮件垃圾邮件过滤器用户功能
  • 邮件垃圾邮件过滤器策略功能
  • 邮件fetchmail功能
  • 邮件垃圾邮件程序白名单功能
  • 邮件垃圾邮件黑名单功能
  • 邮件用户过滤功能

然后点击保存

3安装RoundCube

我们可以安装RoundCube如下:

apt-get install roundcube roundcube-plugins roundcube-plugins-extra

您将看到以下问题:

使用dbconfig-common配置圆形立方体的数据库? < - 是的
roundcube使用的数据库类型: < - mysql
数据库管理用户 的密码 < - yourrootsqlpassword(MySQL root用户的密码)
roundcube的MySQL应用程序密码: < - roundcubesqlpassword
密码确认: < - roundcubesql 密码

这将创建一个名为roundcube的MySQL数据库与MySQL用户roundcube和密码roundcubesqlpassword

接下来请访问您的ISPConfig网站。 在选项选项卡上,您将看到nginx指令字段:

填写以下指令,然后单击保存 (如果您为此vhost启用了PHP,则无关紧要),因为此代码段使用系统的默认PHP,运行在用户和组www数据下 ,这是重要的,因为安装了RoundCube在vhost的文档根目录之外 - 在/ var / lib / roundcube中 ):

client_max_body_size 100M;

location /roundcube {
         root /var/lib/;
         index index.php index.html index.htm;
         location ~ (.+\.php)$ {
                    try_files $uri =404;
                    include /etc/nginx/fastcgi_params;
                    # To access SquirrelMail, the default user (like www-data on Debian/Ubuntu) must be used
                    #fastcgi_pass 127.0.0.1:9000;
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;
                    fastcgi_intercept_errors on;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    fastcgi_buffer_size 128k;
                    fastcgi_buffers 256 4k;
                    fastcgi_busy_buffers_size 256k;
                    fastcgi_temp_file_write_size 256k;
         }
         location ~* /.svn/ {
                     deny all;
         }
         location ~* /README|INSTALL|LICENSE|SQL|bin|CHANGELOG$ {
                     deny all;
         }
}
location /webmail {
         rewrite ^ /roundcube last;
}

通过此配置,RoundCube可以在http://www.example.com/webmailhttp://www.example.com/roundcube的URL下访问

4配置RoundCube

打开/etc/roundcube/main.inc.php ...

vi /etc/roundcube/main.inc.php

...并设置$ rcmail_config ['default_host'] ='localhost'; (或邮件服务器的主机名或IP地址是否在远程计算机上):

[...]
$rcmail_config['default_host'] = 'localhost';
[...]

否则RoundCube将在每个登录之前要求一个主机名,这可能会使用户过度使用 - 我们希望使用尽可能简单。

接下来安装用于RoundCube的ISPConfig 3插件:

cd /tmp
git clone https://github.com/w2c/ispconfig3_roundcube.git
cd /tmp/ispconfig3_roundcube/
mv ispconfig3_* /usr/share/roundcube/
cd /usr/share/roundcube/
mv ispconfig3_account/config/config.inc.php.dist ispconfig3_account/config/config.inc.php
ln -s /usr/share/roundcube/ispconfig3_* /var/lib/roundcube/plugins/

打开ispconfig3_account / config / config.inc.php ...

vi ispconfig3_account/config/config.inc.php

...并填写您的ISPConfig远程用户的登录详细信息和远程API的URL - 我的ISPConfig安装在https://192.168.0.100:8080上运行,因此远程API的URL为https://192.168 .0.100:8080 / remote /

<?php
$rcmail_config['identity_limit'] = false;
$rcmail_config['remote_soap_user'] = 'roundcube';
$rcmail_config['remote_soap_pass'] = 'Sw0wlytlRt3MY';
$rcmail_config['soap_url'] = 'https://192.168.0.100:8080/remote/';
?>

最后再打开/etc/roundcube/main.inc.php ...

vi /etc/roundcube/main.inc.php

...并启用jquerui插件加上ISPConfig 3插件...

[...]
// ----------------------------------
// PLUGINS
// ----------------------------------

// List of active plugins (in plugins/ directory)
//$rcmail_config['plugins'] = array();
$rcmail_config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter");
[...]

...并将皮肤从默认更改为经典 (否则ISPConfig 3插件将无法正常工作):

[...]
// skin name: folder from skins/
$rcmail_config['skin'] = 'classic';
[...]

而已; 现在您可以通过别名/ webmail访问RoundCube(例如www.example.com/webmail )。 使用通过ISPConfig创建的电子邮件帐户的电子邮件地址和密码登录:

这就是RoundCube的外观:

设置>帐户下,您可以使用用于RoundCube的ISPconfig 3插件修改您的设置,例如...

...您可以为电子邮件帐户设置新密码,而无需使用ISPConfig: