Vyhledávání na webu

Nainstalujte RainLoop Webmail (webový e-mailový klient) pomocí 'Nginx a Apache' v Arch Linuxu


Rainloop je bezplatná webová aplikace s otevřeným zdrojovým kódem napsaná v PHP, která poskytuje rychlé moderní webové rozhraní pro přístup k vašim e-mailům u všech hlavních poskytovatelů pošty v doménách, jako je Yahoo, Gmail, Outlook a mnoho dalších, stejně jako na vašich vlastních lokálních poštovních serverech a také, funguje jako MUA (Mail User Agent) tím, že přistupuje k poštovním serverům domény prostřednictvím protokolů IMAP a SMTP.

Demo RainLoop

Podívejte se rychle na nastavení demo stránky od autora na http://demo.rainloop.net/.

Jakmile nasadíte Rainloop na své servery, zbývá už jen přistupovat k vaší doméně Rainloop prostřednictvím webového prohlížeče a poskytnout přihlašovací údaje pro váš povolený doménový poštovní server.

Tento tutoriál popisuje proces instalace webové pošty Rainloop na Arch Linux z obou úhlů pohledu konfiguračních souborů pro Apache a Nginx, pomocí virtuální lokální domény konfigurované prostřednictvím souboru lokálních hostitelů, bez serveru DNS.

Pokud také potřebujete odkazy na instalaci Rainloop na systémy Debian a Red Hat, navštivte předchozí článek RainLoop Webmail na adrese.

  1. Nainstalujte RainLoop Webmail na systémy založené na Debianu a Red Hatu

Požadavky

Pro Nginx
  1. Nainstalujte LEMP (Nginx, PHP, MySQL s enginem MariaDB a PhpMyAdmin) v Arch Linuxu
  2. Vytvořte virtuální hostitele na webovém serveru Nginx
Pro Apache
  1. Nainstalujte LAMP (Linux, Apache, MySQL/MariaDB a PHP/PhpMyAdmin) v Arch Linuxu

Krok 1: Vytvořte virtuální hostitele pro Nginx nebo Apache

1. Za předpokladu, že jste nakonfigurovali své servery (Nginx nebo Apache), jak je popsáno v horních odkazech prezentací, první věc, kterou musíte udělat, je k vytvoření základního DNS záznamu v místním souboru hosts, který ukazuje na IP systému Arch Linux.

V systému Linux upravte soubor /etc/hosts a zahrňte svou virtuální doménu Rainloop za položku localhost.

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

V systému Windows upravte C:\Windows\System32\drivers\etc\hosts a přidejte následující řádek dolů.

192.168.1.33       rainloop.lan

2. Po ověření místní domény pomocí příkazu ping vytvořte potřebné konfigurace Virtual Hosts a SSL pro Apache nebo Nginx.

Virtuální hostitelé Nginx

Vytvořte soubor s názvem rainloop.lan v cestě /etc/nginx/sites-available/ s následující konfigurací.

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

Přidejte následující obsah souboru.

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

Poté vytvořte obsah souboru ekvivalentní SSL.

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

Přidejte následující obsah souboru.

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

V dalším kroku vygenerujte soubor Certifikát a Klíče pro Virtuálního hostitele SSL a přidejte název své virtuální domény (rainloop.lan) na certifikátu Common Name.

sudo nginx_gen_ssl.sh

Po vygenerování klíčů certifikátu a SSL vytvořte cestu k souboru webového serveru Rainloop root (místo, kde se nacházejí soubory PHP Rainloop), poté povolte virtuální hostitele a restartujte démona Nginx, aby bylo možné použít konfigurace.

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

Virtuální hostitelé Apache

Vytvořte nový soubor s názvem rainloop.conf v /etc/httpd/conf/sites-available/ s následujícím obsahem.

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

Přidejte následující obsah souboru.

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

Poté vytvořte ekvivalentní obsah souboru SSL pro Apache.

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

Přidejte následující obsah souboru.

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

Dalším krokem je vytvoření souboru Certifikátu SSL a Klíčů pro Virtuálního hostitele SSL a přidání názvu vaší virtuální domény (rainloop.lan ) na certifikátu Common Name.

sudo apache_gen_ssl

Po vytvoření klíčů certifikátu a SSL přidejte cestu Rainloop DocumentRoot, poté povolte virtuální hostitele a restartujte démona Apache, abyste použili konfigurace.

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

Krok 2: Přidejte potřebná rozšíření PHP

3. Ať už používáte webový server Apache nebo Nginx, musíte povolit následující rozšíření PHP na php.ini soubor a také zahrnout cestu nového webového serveru DocumentRoot k direktivě open_basedir.

sudo nano /etc/php/php.ini

Vyhledejte a odkomentujte následující rozšíření PHP.

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

Také příkaz open_basedir by měl vypadat takto.

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

4. Po úpravě souboru php.ini restartujte server a poté zkontrolujte soubor phpinfo a zjistěte, zda jsou protokoly SSL jsou povoleny.

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

Krok 3: Stáhněte a nainstalujte RainLoop Webmail

5. Nyní je čas stáhnout a extrahovat aplikaci Rainloop z oficiálního webu do adresáře Document Root, ale nejprve nainstalovat wget a rozbalit systémové nástroje.

sudo pacman -S unzip wget

6. Stáhněte si nejnovější zdrojový balíček Rainloop zip archiv pomocí příkazu wget nebo pomocí prohlížeče přejděte na http://rainloop.net/downloads/.

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

7. Po dokončení procesu stahování rozbalte archiv Rainloop do cesty kořenového adresáře dokumentu virtuálního hostitele ( /srv/www/rainloop/ ).

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

8. Poté nastavte následující oprávnění pro výchozí cestu aplikace.

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

Krok 4: Nakonfigurujte Rainloop přes webové rozhraní

9. Aplikaci Rainloop lze konfigurovat dvěma způsoby: pomocí systémového shellu nebo pomocí prohlížeče. Pokud chcete konfigurovat přes terminál, otevřete a upravte soubor application.ini umístěný v /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Pro přístup k rozhraní Admin Interface z prohlížeče použijte následující URL adresu https://rainloop.lan/?admin a poté zadejte výchozí přihlašovací údaje aplikace.

User= admin
Password= 12345

11. Po úvodním přihlášení budete upozorněni, abyste si změnili výchozí heslo, proto vám doporučuji to udělat.

12. Pokud chcete povolit přihlášení kontaktů k databázi MySQL a vytvořit novou databázi s privilegovaným uživatelem, zadejte přihlašovací údaje k databázi na stránce Kontakty pole.

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;

13. Ve výchozím nastavení Rainloop poskytuje konfigurační soubory poštovního serveru domén Gmail, Yahoo a Outlook, ale můžete přidat další domény poštovního serveru, pokud chcete.

14. Chcete-li se přihlásit na svůj poštovní server, nasměrujte svůj prohlížeč na https://rainloop.lan a zadejte přihlašovací údaje k doménovému serveru.

Pro další konfigurace prosím navštivte oficiální stránku dokumentace Rainloop na http://rainloop.net/docs/.

S Rainloop můžete přistupovat k poštovním serverům z jakéhokoli zařízení, které má prohlížeč, pokud má váš server připojení k internetu, jedinou nevýhodou používání aplikace Rainloop v Arch Linuxu je zatím chybějící balíček pluginů poppassd pro změnu hesla e-mailového účtu.