当前位置: > Linux服务器 > mail >

在Arch上使用Nginx/Apache安装RainLoop Webmail

时间:2014-07-02 15:31来源:linux.it.net.cn 作者:IT网

Rainloop是一个使用PHP编写的,开源免费的网页邮件客户端。他支持包括Google、Yahoo、OutLook在内的主流的邮件服务器,当然,他也支持你自己的本地邮件服务器。它看起来大致就像使用IMAP和SMTP协议的MUA(邮件客户端)一样。

RainLoop 示例

可以看一下RainLoop作者安装的演示页面: http://demo.rainloop.net/。

在Arch Linux上安装RainLoop

在Arch Linux上安装RainLoop

一旦在您的服务器部署上Rainloop,剩余要做的唯一的事情是通过Web浏览器访问您的Rainloop,并提供你正在使用的邮件服务器信息。

本教程包含了在 Arch Linux上的Rainloop 网页客户端的安装流程,包括如何进行配置 Apache 或 Nginx, 当然本教程使用修改Hosts的方式,从而避免了DNS的访问。

If you also need references on installing Rainloop on Debian and Red Hat systems visit the previous RainLoop Webmail article at.

如果你还是需要一篇在Debian 和 Red Hat 安装 RainLoop Webmail 的教程,你可以看这篇文章:

  • 在 Debian 和 RedHat 系的 Linux 上安装 RainLoop Webmail

以及在 Ubuntu 服务器中安装 RainLoop Webmail 的教程,你可以看这篇文章:

  • 如何在 Ubuntu server 中设置 RainLoop Webmail

系统要求

对 Nginx

  • 在 Arch Linux 上安装 LEMP (Nginx, PHP, MySQL/MariaDB 和 PhpMyAdmin)
  • 在 Nginx 上创建虚拟主机

对 Apache

  • 在 Arch Linux 上安装 LAMP (Linux, Apache, MySQL/MariaDB 和 PHP/PhpMyAdmin)

Step 1:在 Nginx 或者 Apache 上创建虚拟主机

1. 假设你已经如上面介绍的链接所述,配置好了您的服务器(Nginx或Apache),你需要做的第一件事是在Hosts文件里创建一个原始解析记录,以指向的Arch Linux系统的IP。

对于Linux系统,修改 /etc/hosts 文件并且在你的localhost条目之下添加 Rainloop 的虚拟域。如下:


  1. 127.0.0.1 localhost.localdomain localhost rainloop.lan
  2. 192.168.1.33 rainloop.lan

Add Domain Host Entry

添加域信息

如果是Windows系统,则修改 C:\Windows\System32\drivers\etc\hosts 并且将接下来的内容添加到你的文件里:


  1. 192.168.1.33 rainloop.lan

2. 使用 ping 命令确认本地的 Rainloop 域名创建成功之后,然后在 Apache 或 Nginx 中创建所需的 虚拟主机 和 SSL 配置。

Nginx 虚拟主机

在/etc/nginx/sites-available/ 目录下使用如下命令创建一个名叫rainloop.lan的文件:


  1. $ sudo nano /etc/nginx/sites-available/rainloop.conf

添加如下的文件内容:


  1. server {
  2. listen 80;
  3. server_name rainloop.lan;
  4.  
  5. rewrite ^ https://$server_name$request_uri? permanent;
  6. access_log /var/log/nginx/rainloop.lan.access.log;
  7. error_log /var/log/nginx/rainloop.lan.error.log;
  8. root /srv/www/rainloop/;
  9.  
  10. # serve static files
  11. location ~ ^/(images|javascript|js|css|flash|media|static)/ {
  12. root /srv/www/rainloop/;
  13. expires 30d;
  14. }
  15.  
  16. location / {
  17. index index.html index.htm index.php;
  18. autoindex on;
  19. autoindex_exact_size off;
  20. autoindex_localtime on;
  21. }
  22.  
  23. location ^~ /data {
  24. deny all;
  25. }
  26.  
  27. location ~ \.php$ {
  28. #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
  29. fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
  30. fastcgi_index index.php;
  31. include fastcgi.conf;
  32. }
  33. }

接下来创建SSL配置文件:


  1. $ sudo nano /etc/nginx/sites-available/rainloop-ssl.conf

添加如下内容:


  1. server {
  2. listen 443 ssl;
  3. server_name rainloop.lan;
  4.  
  5. ssl_certificate /etc/nginx/ssl/rainloop.lan.crt;
  6. ssl_certificate_key /etc/nginx/ssl/rainloop.lan.key;
  7. ssl_session_cache shared:SSL:1m;
  8. ssl_session_timeout 5m;
  9. ssl_ciphers HIGH:!aNULL:!MD5;
  10. ssl_prefer_server_ciphers on;
  11.  
  12. access_log /var/log/nginx/rainloop.lan.access.log;
  13. error_log /var/log/nginx/rainloop.lan.error.log;
  14.  
  15. root /srv/www/rainloop/;
  16.  
  17. # serve static files
  18. location ~ ^/(images|javascript|js|css|flash|media|static)/ {
  19. root /srv/www/rainloop/;
  20. expires 30d;
  21. }
  22.  
  23. location ^~ /data {
  24. deny all;
  25. }
  26.  
  27. location / {
  28. index index.html index.htm index.php;
  29. autoindex on;
  30. autoindex_exact_size off;
  31. autoindex_localtime on;
  32. }
  33.  
  34. location ~ \.php$ {
  35. #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
  36. fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
  37. fastcgi_index index.php;
  38. include fastcgi.conf;
  39. }
  40. }

接下来将会自动生成Certificate和Keys文件,然后在文件中叫Common Name*的证书里中添加您的虚拟域名(rainloop.lan**)。


  1. $ sudo nginx_gen_ssl.sh

生成证书和密钥

生成证书和SSL密钥后,创建Rainloop Web服务器根的文件路径(Rainloop PHP文件所在的位置),然后启用虚拟主机,并重新启动Nginx的守护进程,应用配置。


  1. $ sudo mkdir -p /srv/www/rainloop
  2. $ sudo n2ensite rainloop
  3. $ sudo n2ensite rainloop-ssl
  4. $ sudo systemctl restart nginx

Create RainLoop Web Director

创建RainLoop 网页向导

Apache 虚拟主机

在/etc/httpd/conf/sites-available/中创建 rainloop.conf文件:


  1. $ sudo nano /etc/httpd/conf/sites-available/rainloop.conf

添加如下内容:


  1. <VirtualHost *:80>
  2. ServerName rainloop.lan
  3. DocumentRoot "/srv/www/rainloop/"
  4. ServerAdmin you@example.com
  5. ErrorLog "/var/log/httpd/rainloop-error_log"
  6. TransferLog "/var/log/httpd/rainloop-access_log"
  7. <Directory />
  8. Options +Indexes +FollowSymLinks +ExecCGI
  9. AllowOverride All
  10. Order deny,allow
  11. Allow from all
  12. Require all granted
  13. </Directory>
  14. </VirtualHost>

Create Apache Virtual Host

创建Apache虚拟主机

为Apache添加SSL支持:


  1. $ sudo nano /etc/httpd/conf/sites-available/rainloop-ssl.conf

添加如下文件内容:


  1. <VirtualHost *:443>
  2. ServerName rainloop.lan
  3. DocumentRoot "/srv/www/rainloop/"
  4. ServerAdmin you@example.com
  5. ErrorLog "/var/log/httpd/rainloop-ssl-error_log"
  6. TransferLog "/var/log/httpd/rainloop-ssl-access_log"
  7.  
  8. SSLEngine on
  9. SSLCertificateFile "/etc/httpd/conf/ssl/rainloop.lan.crt"
  10. SSLCertificateKeyFile "/etc/httpd/conf/ssl/rainloop.lan.key"
  11.  
  12. <FilesMatch "\.(cgi|shtml|phtml|php)$">
  13. SSLOptions +StdEnvVars
  14. </FilesMatch>
  15.  
  16. BrowserMatch "MSIE [2-5]" \
  17. nokeepalive ssl-unclean-shutdown \
  18. downgrade-1.0 force-response-1.0
  19.  
  20. CustomLog "/var/log/httpd/ssl_request_log" \
  21. "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
  22.  
  23. <Directory />
  24. Options +Indexes +FollowSymLinks +ExecCGI
  25. AllowOverride All
  26. Order deny,allow
  27. Allow from all
  28. Require all granted
  29. </Directory>
  30. </VirtualHost>

接下来将会自动生成Certificate和Keys文件,然后在文件中叫Common Name*的证书里中添加您的虚拟域名(rainloop.lan**)。


  1. $ sudo apache_gen_ssl

Create SSL Certificate and Keys

创建SSL证书和密钥

Enter Organization Details

输入组织信息

After the Certificate and SSL keys are created, add Rainloop DocumentRoot path, then enable Virtual Hosts and restart Apache daemon to apply configurations. 在证书和密钥建立之后,创建 RainLoop 的 DocumentRoot 所指向的目录,之后激活虚拟主机,并且重启Apache应用设置。


  1. $ sudo mkdir -p /srv/www/rainloop
  2. $ sudo a2ensite rainloop
  3. $ sudo a2ensite rainloop-ssl
  4. $ sudo systemctl restart httpd

Enable Virtual Hosts

激活虚拟主机

(责任编辑:IT)
------分隔线----------------------------