Installer RainLoop Webmail (en webbaseret e-mail-klient) ved hjælp af Nginx og Apache i Arch Linux


Rainloop er en gratis Open Source-webapplikation skrevet i PHP, som giver en hurtig moderne webgrænseflade for at få adgang til dine e-mails på alle større domæne-mailudbydere som Yahoo, Gmail, Outlook og mange andre såvel som dine egne lokale mailservere og også fungerer som en MUA (Mail User Agent) ved at få adgang til domæne-mail-servere via IMAP- og SMTP-protokoller.

Se hurtigt på forfatterens opsætning af demosiden på http://demo.rainloop.net/.

Når du har installeret Rainloop på dine servere, er det eneste, der er tilbage at gøre, at få adgang til dit Rainloop-domæne via en webbrowser og give legitimationsoplysninger til din aktiverede domæne-mail-server.

Denne vejledning dækker Rainloop installationsproces for webmail på Arch Linux fra begge synsfeltkonfigurationsfiler til Apache og Nginx , ved hjælp af et virtuelt lokalt domæne konfigureret gennem lokal værtsfil uden en DNS-server.

Hvis du også har brug for referencer til installation af Rainloop på Debian- og Red Hat-systemer, skal du besøge den tidligere RainLoop Webmail-artikel på.

  1. Installer RainLoop Webmail på Debian- og Red Hat-baserede systemer

  1. Installer LEMP (Nginx, PHP, MySQL med MariaDB-motor og PhpMyAdmin) i Arch Linux
  2. Opret virtuelle værter i Nginx Web Server

  1. Installer LAMP (Linux, Apache, MySQL/MariaDB og PHP/PhpMyAdmin) i Arch Linux

Trin 1: Opret virtuelle værter til Nginx eller Apache

1. Forudsat at du har konfigureret dine servere ( Nginx eller Apache ) som beskrevet i øverste præsentationslinks, er den første ting du skal gøre, at oprette en rudimentær DNS -indtastning på lokale værter -filer, der peger på Arch Linux system-IP.

På Linux-system skal du redigere /etc/hosts -filen og inkludere dit Rainloop virtuelle domæne efter localhost-indtastning.

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

I Windows-system rediger C: \ Windows \ System32 \ drivers tc \ hosts og tilføj følgende linje nederst.

192.168.1.33       rainloop.lan

2. Når du har bekræftet lokalt domæne ved hjælp af kommandoen ping , skal du oprette de nødvendige virtuelle værter og SSL -konfigurationer til Apache eller Nginx .

Opret en fil med navnet rainloop.lan i /etc/nginx/sites-available/ sti med følgende konfiguration.

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

Tilføj følgende filindhold.

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;
    }
 }

Opret derefter SSL-ækvivalent filindhold.

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

Tilføj følgende filindhold.

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;
    }
 }

I det næste trin genererer du certifikat -fil og nøgler til SSL-virtuel vært og tilføjer dit virtuelle domænenavn ( rainloop.lan ) på certifikat Almindeligt navn .

$ sudo nginx_gen_ssl.sh

Når certifikatet og SSL-nøgler er genereret, skal du oprette Rainloop root webserverfilsti (sted hvor Rainloop PHP-filer ligger), derefter aktivere virtuelle værter og genstarte Nginx-dæmonen for at anvende konfigurationer.

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

Opret en ny fil med navnet rainloop.conf i /etc/httpd/conf/sites-available/ med følgende indhold.

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

Tilføj følgende filindhold.

<VirtualHost *:80>
                ServerName rainloop.lan
                DocumentRoot "/srv/www/rainloop/"
                ServerAdmin [email 
                ErrorLog "/var/log/httpd/rainloop-error_log"
                TransferLog "/var/log/httpd/rainloop-access_log"

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

</VirtualHost>

Opret derefter SSL-ækvivalent filindhold til Apache.

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

Tilføj følgende filindhold.

<VirtualHost *:443>
                ServerName rainloop.lan
                DocumentRoot "/srv/www/rainloop/"
                ServerAdmin [email 
                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"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>

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"

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

</VirtualHost>

Det næste trin er at oprette SSL-certifikat -fil og nøgler til SSL-virtuel vært og tilføje sæt dit virtuelle domænenavn ( rainloop.lan ) på certifikat Almindeligt navn .

$ sudo apache_gen_ssl

Når certifikatet og SSL-nøglerne er oprettet, skal du tilføje Rainloop DocumentRoot -stien, derefter aktivere virtuelle værter og genstarte Apache-dæmonen for at anvende konfigurationer.

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

Trin 2: Tilføj nødvendige PHP-udvidelser

3. Uanset om du bruger Apache eller Nginx webserver, skal du aktivere følgende PHP-udvidelser på php.ini -filen og også inkludere den nye webserver DocumentRoot sti til open_basedir direktivet.

$ sudo nano /etc/php/php.ini

Find og fjern kommentar til følgende PHP-udvidelser.

extension=iconv.so
extension=imap.so
extension=mcrypt.so
extension=mssql.so
extension=mysqli.so
extension=openssl.so ( enables IMAPS and SMTP SSL protocols on mail servers)
extension=pdo_mysql.so

Også open_basedir-udsagn skal se sådan ud.

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

4. Efter php.ini filen blev ændret, genstart din server end tjek phpinfo filen for at se, om SSL protokoller er aktiveret.

----------On Apache Web Server----------
$ sudo systemctl restart httpd
----------On Nginx Web Server----------
$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm

Trin 3: Download og installer RainLoop Webmail

5. Nu er det tid til at downloade og udtrække Rainloop-applikationen fra det officielle websted til Document Root-biblioteket, men installer først wget og pakke ud systemværktøjer.

$ sudo pacman -S unzip wget

6. Download den nyeste kildepakke Rainloop zip-arkiv ved hjælp af kommandoen wget eller ved hjælp af en browser til at navigere til http://rainloop.net/downloads/.

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

7. Når downloadprocessen er afsluttet, skal du udpakke Rainloop-arkivet til Virtual Host Document Root-stien (/srv/www/rainloop/).

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

8. Indstil derefter følgende tilladelser til programmets standardsti.

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

Trin 4: Konfigurer Rainloop via webgrænsefladen

9. Rainloop-applikationen kan konfigureres på to måder: ved hjælp af en systemskal via browseren. Hvis du vil konfigurere over terminalen, skal du åbne og redigere application.ini -filen i /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. For at få adgang til Admin Interface fra browseren skal du bruge følgende URL-adresse https: //rainloop.lan/? Admin og derefter angive standardoplysningerne til applikationen.

User= admin
Password= 12345

11. Efter første login bliver du advaret om at ændre standardadgangskoden, så jeg råder dig til at gøre det.

12. Hvis du vil aktivere kontakter login til MySQL-databasen og oprette en ny database med en privilegeret bruger på den, skal du angive databaseoplysninger i felterne Kontakter .

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

13. Som standard leverer Rainloop Gmail , Yahoo og Outlook domæner mailserverkonfigurationsfiler, men du kan tilføje andre mailserverdomæner, hvis du vil.

14. For at logge ind på din mailserver skal du pege din browser på https: //rainloop.lan og give dine domæneserveroplysninger.

For yderligere konfigurationer, besøg den officielle Rainloop-dokumentationsside på http://rainloop.net/docs/.

Med Rainloop kan du få adgang til mailservere fra enhver enhed, der har en browser, så længe din server har internetforbindelse, det eneste minus ved at bruge Rainloop-applikationen i Arch Linux hidtil er manglen på poppassd plugin-pakke nødvendig for at ændre adgangskoden til e-mail-kontoen.