如何在Debian 9上安装和设置RoundCube Web mail第1部分)

・7 分钟阅读

在本教程中我们将学习如何在Debian9上安装RoundCube Webmail,Roundcube web mail是一个免费的开放源代码的基于web的IMAP电子邮件客户端,它是用PHP编写的,与任何其他电子邮件客户端一样,它提供了一些特性;

  • 对MIME和HTML消息的完全支持
  • 高级隐私保护
  • 撰写带附件的邮件
  • 多个发件人标识
  • 带有组和LDAP连接器的全功能地址簿
  • 集成你自己的地址簿
  • 撰写Richtext/HTML邮件
  • 使用附件转发邮件
  • 搜索邮件和联系人
  • 拼写检查

你可以在这里找到RoundCube的全面功能列表这里

前提条件

如前所述,RoundCube Web mail是用PHP编写的因此,它运行在标准的LAMP服务器上,以下是最低服务器要求;

  • Apache LightTPD Nginx Cherokee或Hiawatha Web服务器
  • PHP版本5.4或更高版本
  • MySQL,PostgreSQL,SQLite,MSSQL或Oracle数据库,
  • 支持IMAP4 Rev1的SMTP服务器和IMAP服务器
  • Roundcube一起分发的PEAR包

在Debian9上安装和配置RoundCube Web mail之前,请更新和升级服务器包

apt update
apt upgrade

下载RoundCube

通过从RoundCube下载页面下载源代码,可以安装RoundCube的最新稳定版本,RoundCube下载页 ,下载稳定版本的完整包。一旦获得链接,就可以简单地下载它,如下所示;

wget -P /tmp/ https://github.com/roundcube/roundcubemail/releases/download/1.3.8/roundcubemail-1.3.8-complete.tar.g

将RoundCube tarball存档提取到Web根目录。

mkdir /var/www/roundcube
tar xzf /tmp/roundcubemail-1.3.8-complete.tar.gz -C /var/www/roundcube --strip-components 1

为RoundCube根目录设置适当的所有权,并且为RoundCube设置相应的权限/temp /logs directories;

chown -R www-data.www-data /var/www/roundcube/
chmod -R 775 /var/www/roundcube/{temp,logs}

应该保护/config/temp/logs目录。

安装和配置Apache Web服务器

在本教程中,我们将使用Apache作为我们的web服务器,因此,请按照以下步骤安装和配置它。

安装Apache

apt install apache2 -y

Apache在安装后默认启动并启用。

如果UFW正在运行则允许Apache2

ufw allow WWW < allows HTTPufw allow "WWW Full" < allows both HTTP and HTTPsufw reload

为Roundcube配置Apache Virtualhost

接下来,最好为RoundCube创建一个专用的ApacheVirtualHost配置文件,而不是编辑默认的Apache配置。 按下面内容创建一个

vim /etc/apache2/sites-available/roundcube.conf
 ServerName roundcube.example.com
 ServerAdmin [email protected] DocumentRoot /var/www/roundcube
                Options +FollowSymLinks
                AddType text/x-component .htc
                        php_flag display_errors Off
                        php_flag log_errors On
                        php_value upload_max_filesize 10M
                        php_value post_max_size 12M
                        php_value memory_limit 64M
                        php_flag zlib.output_compression Off
                        php_flag magic_quotes_gpc Off
                        php_flag magic_quotes_runtime Off
                        php_flag zend.ze1_compatibility_mode Off
                        php_flag suhosin.session.encrypt Off
                        php_flag session.auto_start Off
                        php_value session.gc_maxlifetime 21600
                        php_value session.gc_divisor 500
                        php_value session.gc_probability 1
                        RewriteEngine On
                        RewriteRule ^favicon.ico$ skins/larry/images/favicon.ico
                        RewriteRule ^(?!installer)(.?[^.]+)$ - [F]
                        RewriteRule ^/?(.git|.tx|SQL|bin|config|logs|temp|tests|program/(include|lib|localization|steps)) - [F]
                        RewriteRule /?(README.md|composer.json-dist|composer.json|package.xml)$ - [F]
                        SetOutputFilter DEFLATE
                        # replace 'append' with 'merge' for Apache version 2.2.9 and later
                        # Header append Cache-Control public env=!NO_CACHE
                        ExpiresActive On
                        ExpiresDefault "access plus 1 month"
                FileETag MTime Size
                        Options -Indexes
                AllowOverride None
                Order allow,deny
                Allow from all
                Options -FollowSymLinks
                AllowOverride None
                Order allow,deny
                Deny from all
                Options -FollowSymLinks
                AllowOverride None
                Order allow,deny
                Deny from all
                Options -FollowSymLinks
                AllowOverride None
                Order allow,deny
                Deny from all
                Options -FollowSymLinks
                AllowOverride None
                Order allow,deny
                Deny from all
 ErrorLog ${APACHE_LOG_DIR}/roundcube-error.log
 CustomLog ${APACHE_LOG_DIR}/roundcube-access.log combined

保存并退出配置文件。

如果你需要使用HTTPS,请获得SSL/TLS证书,并且适当配置Apache 。

禁用Apache默认站点,并且启用RoundCube站点。

a2dissite 000-default
a2ensite roundcube

启用以下Apache Modules

a2enmod deflate expires headers rewrite

验证Rouncube站点配置中的语法错误。

apachectl -t
Syntax OK

如果有错误,重启Apache 。

systemctl restart apache2

数据库配置

RoundCube支持如上所述的各种数据库后端,在本指南中,我们将使用MySQL 。

Ljd00007 profile image