如何在Debian 9上安装和设置RoundCube Web mail第1部分)
Ljd00007
・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 。