Weboldal keresés

Telepítse a RainLoop Webmailt (egy web alapú e-mail klienst) az „Nginx és Apache” használatával az Arch Linuxban


A Rainloop egy ingyenes, nyílt forráskódú, PHP-ben írt webalkalmazás, amely gyors, modern webes felületet biztosít az e-mailek eléréséhez az összes főbb domain levelezőszolgáltatón, például a Yahoo-n, a Gmailen, az Outlookon és sok máson, valamint a saját helyi levelezőszervereken, valamint MUA-ként (Mail User Agent) működik azáltal, hogy IMAP és SMTP protokollokon keresztül éri el a tartományi levelezőszervereket.

RainLoop bemutató

Tekintse meg gyorsan a szerző bemutató oldalának beállítását a http://demo.rainloop.net/ címen.

Miután telepítette a Rainloopot a szerverein, már csak egy webböngészőn keresztül kell elérnie a Rainloop-tartományt, és megadnia a hitelesítő adatokat az engedélyezett tartományi levelezőszerverhez.

Ez az oktatóanyag a Rainloop webmail telepítési folyamatát mutatja be Arch Linux rendszeren az Apache és az Nginx konfigurációs fájljaiból egyaránt, helyi hosts fájlon keresztül konfigurált virtuális helyi tartomány használatával, DNS-kiszolgáló nélkül.

Ha a Rainloop Debian ésRed Hat rendszerekre történő telepítésével kapcsolatos hivatkozásokra is szüksége van, keresse fel a RainLoop Webmail előző cikket a címen.

  1. Telepítse a RainLoop Webmailt Debian és Red Hat alapú rendszerekre

Követelmények

Az Nginx számára
  1. Telepítse a LEMP-t (Nginx, PHP, MySQL MariaDB motorral és PhpMyAdmin) az Arch Linuxban
  2. Hozzon létre virtuális gazdagépeket az Nginx webszerveren
Apache számára
  1. Telepítse a LAMP-ot (Linux, Apache, MySQL/MariaDB és PHP/PhpMyAdmin) az Arch Linuxban

1. lépés: Hozzon létre virtuális gazdagépeket az Nginx vagy az Apache számára

1. Feltéve, hogy a kiszolgálókat (Nginx vagy Apache) a felső prezentációs hivatkozásokban leírtak szerint konfigurálta, az első dolog, amit tennie kell egy kezdetleges DNS bejegyzés létrehozásához a helyi hosts fájlban, amely az Arch Linux rendszer IP-címére mutat.

Linux rendszeren szerkessze az /etc/hosts fájlt, és adja meg Rainloop virtuális tartományát a localhost bejegyzés után.

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

Windows rendszeren szerkessze a C:\Windows\System32\drivers\etc\hosts elemet, és adja hozzá a következő sort az aljára.

192.168.1.33       rainloop.lan

2. Miután ellenőrizte a helyi domaint a ping paranccsal, hozza létre a szükséges virtuális gazdagépek és SSL konfigurációkat a következőhöz: Apache vagy Nginx.

Nginx virtuális gépek

Hozzon létre egy rainloop.lan nevű fájlt az /etc/nginx/sites-available/ útvonalon a következő konfigurációval.

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

Adja hozzá a következő fájltartalmat.

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

Ezután hozza létre az SSL-nek megfelelő fájltartalmat.

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

Adja hozzá a következő fájltartalmat.

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

A következő lépésben hozzon létre tanúsítvány fájlt és kulcsokat az SSL Virtual Host számára, és adja hozzá a virtuális domain nevét (rainloop.lan >) a Köznév tanúsítványon.

sudo nginx_gen_ssl.sh

A tanúsítvány és az SSL kulcsok létrehozása után hozza létre a Rainloop root webszerver fájl elérési útját (a Rainloop PHP fájlok helye), majd engedélyezze a Virtual Hosts szolgáltatást, és indítsa újra az Nginx démont a konfigurációk alkalmazásához.

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

Apache virtuális gazdagépek

Hozzon létre egy új fájlt rainloop.conf néven az /etc/httpd/conf/sites-available/ mappában a következő tartalommal.

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

Adja hozzá a következő fájltartalmat.

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

Ezután hozza létre az SSL-nek megfelelő fájltartalmat az Apache számára.

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

Adja hozzá a következő fájltartalmat.

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

A következő lépés az SSL-tanúsítvány fájl és a kulcsok létrehozása az SSL Virtual Host számára, és adja hozzá a virtuális domain nevét (rainloop.lan ) a Köznév tanúsítványon.

sudo apache_gen_ssl

A tanúsítvány és az SSL kulcsok létrehozása után adja hozzá a Rainloop DocumentRoot elérési útját, majd engedélyezze a Virtual Hosts szolgáltatást, és indítsa újra az Apache démont a konfigurációk alkalmazásához.

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

2. lépés: Adja hozzá a szükséges PHP-bővítményeket

3. Akár Apache vagy Nginx webszervert használ, engedélyeznie kell a következő PHP-bővítményeket a php.ini oldalon > fájlt, és tartalmazza az új webszerver DocumentRoot elérési útját az open_basedir direktívához.

sudo nano /etc/php/php.ini

Keresse meg a következő PHP-bővítményeket, és törölje a megjegyzéseket.

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

Az open_basedir utasításnak is így kell kinéznie.

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

4. A php.ini fájl módosítása után indítsa újra a szervert, majd ellenőrizze a phpinfo fájlt, hogy ellenőrizze, hogy az SSL protokollok vannak-e engedélyezve vannak.

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

3. lépés: Töltse le és telepítse a RainLoop Webmailt

5. Most itt az ideje, hogy letöltse és kicsomagolja a Rainloop alkalmazást a hivatalos webhelyről a Document Root könyvtárba, de először telepítse a wget és a unzip rendszersegédprogramokat.

sudo pacman -S unzip wget

6. Töltse le a Rainloop zip-archívum legújabb forráscsomagját a wget paranccsal vagy böngészővel a http://rainloop.net/downloads/ címre való navigáláshoz.

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

7. A letöltési folyamat befejezése után csomagolja ki a Rainloop archívumot a Virtual Host dokumentum gyökérútvonalába ( /srv/www/rainloop/ ).

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

8. Ezután állítsa be a következő engedélyeket az alkalmazás alapértelmezett elérési útjára.

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

4. lépés: A Rainloop konfigurálása webes felületen keresztül

9. A Rainloop alkalmazás kétféleképpen konfigurálható: a böngészőn keresztüli rendszerhéj használatával. Ha terminálon keresztül szeretné konfigurálni, nyissa meg és szerkessze az /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/ címen található application.ini fájlt.

10. Az Admin Interface böngészőből való eléréséhez használja a következő URL-címet: https://rainloop.lan/?admin, majd adja meg az alkalmazás alapértelmezett hitelesítő adatait.

User= admin
Password= 12345

11. Az első bejelentkezés után figyelmeztetést kap az alapértelmezett jelszó megváltoztatására, ezért azt tanácsolom, hogy tegye meg.

12. Ha engedélyezni szeretné a névjegyek bejelentkezést a MySQL-adatbázisba, és új adatbázist szeretne létrehozni egy kiváltságos felhasználóval, akkor adja meg az adatbázis hitelesítő adatait a Kapcsolatok oldalon. > mezők.

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. A Rainloop alapértelmezés szerint a Gmail, Yahoo és Outlook domain levelezőszerver konfigurációs fájljait biztosítja, de hozzáadhat másokat is levelezőszerver tartományok, ha úgy tetszik.

14. A levelezőszerverre való bejelentkezéshez mutasson böngészőjében a https://rainloop.lan címre, és adja meg tartományszerverének hitelesítő adatait.

További konfigurációkért látogasson el a hivatalos Rainloop dokumentációs oldalra a http://rainloop.net/docs/ címen.

A Rainloop segítségével bármilyen böngészővel rendelkező eszközről elérheti a levelezőszervereket, amíg a szerver rendelkezik internetkapcsolattal. A Rainloop alkalmazás Arch Linuxban eddigi használatának egyetlen hátránya a poppassd bővítménycsomag hiánya. az e-mail fiók jelszavának megváltoztatásához.