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

2024年 7月 20日 34.3k 0

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

RainLoop 示例

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

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

在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 的虚拟域。如下:

127.0.0.1   localhost.localdomain  localhost     rainloop.lan
192.168.1.33    rainloop.lan

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

添加域信息

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

192.168.1.33       rainloop.lan

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

Nginx 虚拟主机

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

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

添加如下的文件内容:

server {
    listen 80;
    server_name rainloop.lan;

    rewrite        ^ https://$server_name$request_uri? permanent;
    access_log /var/log/nginx/rainloop.lan.access.log;
    error_log /var/log/nginx/rainloop.lan.error.log;
    root /srv/www/rainloop/;

    # serve static files
    location ~ ^/(images|javascript|js|css|flash|media|static)/  {
        root    /srv/www/rainloop/;
        expires 30d;
    }

    location / {
        index index.html index.htm index.php;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
    }

    location ^~ /data {
        deny all;
    }

    location ~ \.php$ {
        #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
 }

接下来创建SSL配置文件:

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

添加如下内容:

server {
    listen 443 ssl;
    server_name rainloop.lan;

    ssl_certificate     /etc/nginx/ssl/rainloop.lan.crt;
    ssl_certificate_key  /etc/nginx/ssl/rainloop.lan.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    access_log /var/log/nginx/rainloop.lan.access.log;
    error_log /var/log/nginx/rainloop.lan.error.log;

    root /srv/www/rainloop/;

    # serve static files
    location ~ ^/(images|javascript|js|css|flash|media|static)/  {
        root    /srv/www/rainloop/;
        expires 30d;
    }

    location ^~ /data {
        deny all;
    }

    location / {
        index index.html index.htm index.php;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
    }

    location ~ \.php$ {
        #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
 }

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

$ sudo nginx_gen_ssl.sh

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

生成证书和密钥

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

$ sudo mkdir -p /srv/www/rainloop
$ sudo n2ensite rainloop
$ sudo n2ensite rainloop-ssl
$ sudo systemctl restart nginx

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

创建RainLoop 网页向导

Apache 虚拟主机

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

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

添加如下内容:


    ServerName rainloop.lan
    DocumentRoot "/srv/www/rainloop/"
    ServerAdmin you@example.com
    ErrorLog "/var/log/httpd/rainloop-error_log"
    TransferLog "/var/log/httpd/rainloop-access_log"
    
        Options +Indexes +FollowSymLinks +ExecCGI
        AllowOverride All
        Order deny,allow
        Allow from all
        Require all granted
    

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

创建Apache虚拟主机

为Apache添加SSL支持:

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

添加如下文件内容:


    ServerName rainloop.lan
    DocumentRoot "/srv/www/rainloop/"
    ServerAdmin you@example.com
    ErrorLog "/var/log/httpd/rainloop-ssl-error_log"
    TransferLog "/var/log/httpd/rainloop-ssl-access_log"

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/ssl/rainloop.lan.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/ssl/rainloop.lan.key"

    
        SSLOptions +StdEnvVars
    

    BrowserMatch "MSIE [2-5]" \
        nokeepalive ssl-unclean-shutdown \
        downgrade-1.0 force-response-1.0

    CustomLog "/var/log/httpd/ssl_request_log" \
        "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    
        Options +Indexes +FollowSymLinks +ExecCGI
        AllowOverride All
        Order deny,allow
        Allow from all
        Require all granted
    

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

$ sudo apache_gen_ssl

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

创建SSL证书和密钥

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

输入组织信息

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应用设置。

$ sudo mkdir -p /srv/www/rainloop
$ sudo a2ensite rainloop
$ sudo a2ensite rainloop-ssl
$ sudo systemctl restart httpd

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

激活虚拟主机

Step 2: 添加必要的PHP支持

3. 无论您使用的是Apache或NginxWeb服务器,您需要激活php.ini文件下中的PHP扩展,并将新服务器的DocumentRoot目录放到 open_basedir 配置中。

$ sudo nano /etc/php/php.ini

找到并且取消如下的PHP扩展的注释(LCTT译注,即启用这些模块):

extension=iconv.so
extension=imap.so
extension=mcrypt.so
extension=mssql.so
extension=mysqli.so
extension=openssl.so ( 注:启用 IMAPS 和 SMTP SSL protocols)
extension=pdo_mysql.so

open_basedir语句应该看起来类似如下:

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/

4. 在修改好php.ini之后,重启你的服务器,然后检查 phpinfo() 输出,去看看SSL协议是否已经激活。

----------对于 Apache Web 服务器----------
$ sudo systemctl restart httpd
----------对于 Nginx Web 服务器----------
$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm

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

查看 PHP 信息

Step 3: 下载和安装 RainLoop Webmail

5.现在可以从官方网站下载Rainloop应用并解压缩到文档根目录了,但是需要首先安装wget的和unzip程序(LCTT译注,如果你已经有了可以忽略此步)。

$ sudo pacman -S unzip wget

6. 使用wget命令或通过使用浏览器访问http://rainloop.net/downloads/下载最新的源码包Rainloop 压缩包。

$ wget http://repository.rainloop.net/v1/rainloop-latest.zip

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

下载 RainLoop 包

7. 下载过程完成后,解压Rainloop压缩包到虚拟主机文档根目录路径( /srv/www/rainloop/ )。

$ sudo unzip rainloop-latest.zip -d  /srv/www/rainloop/

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

解压

8. 然后设置应用程序的默认路径下的权限。

$ sudo chmod -R 755 /srv/www/rainloop/
$ sudo chown -R http:http /srv/www/rainloop/

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

设置权限

Step 4: 通过网页配置RainLoop

9. Rainloop应用程序可以通过两种方式进行配置:使用浏览器或者系统shell。如果要在终端配置就打开和编辑位于**/ srv/www/rainloop/data/datada047852f16d2bc7352b24240a2f1599/default/configs/** 的application.ini**文件。

10. 若要从浏览器访问管理界面,使用下面的URL地址 https://rainloop.lan/?admin,然后提供输入默认的应用程序用户名密码,如下:

User = admin
Password = 12345

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

Rainloop Web 界面

11. 首次登录后,你会被警示需要更改默认密码,所以我劝你做这一点。

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

修改默认 Password

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

设置新的 Admin Password

12. 如果您要启用Contact(联系人)功能,就登录到MySQL数据库并创建一个新的数据库及其用户,然后提供在Contacts字段里面输入数据库信息。

mysql -u root -p
create database if not exists rainloop;
create user rainloop_user@localhost identified by “password”;
grant all privileges on rainloop.* to rainloop_user@localhost;
flush privileges;
exit;

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

在 RainLoop 中激活联系人

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

添加联系人数据库配置

13. 默认情况下Rainloop提供了** Gmail**,Yahoo和**Outlook**的邮件服务器的配置文件,但是你如果愿意,你也可以添加其他的邮件服务器域。

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

默认 Mail 域

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

添加新域

14. 登录你的邮件服务器,访问 https://rainloop.lan,并提供您的域名服务器验证信息。

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

登录到Yahoo邮件页面

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

登录Gmail

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

RainLoop 登录后的Email 界面

想要了解更多的文件,可以访问:http://rainloop.net/docs/.

通过Rainloop你可以从浏览器中访问具有Internet连接的任何邮件服务器。唯一的缺憾就是在Arch Linux下使用Rainloop应用的话,少一个修改电子邮件帐户密码的poppassd插件包。

via: http://www.tecmint.com/install-rainloop-webmail-in-arch-linux/

译者:MikeCoder 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关文章

Linux 命令行的聊天工具 CenterIM
Linux 桌面年仍未到来 但 Linux 移动之年已到来
12 个在线学习 Linux 技能网站
Linux Mint : 会是另一个新的 Ubuntu 吗?
W3Conf 开发者大会将于下周召开
Ubuntu 10.04 ARM 处理器上网本版本结束服务期

发布评论