Installige RainLoop Webmail (veebipõhine e-posti klient), kasutades Arch Linuxis Nginxi ja Apache'i


Rainloop on PHP-s kirjutatud tasuta avatud lähtekoodiga veebirakendus, mis pakub kiiret ja kaasaegset veebiliidest, et pääseda juurde teie e-kirjadele kõigis suuremates domeeniposti pakkujates, nagu Yahoo, Gmail, Outlook ja paljud teised, samuti teie enda kohalikes meiliserverites ja toimib MUA (Mail User Agent), kasutades IMAP- ja SMTP-protokollide kaudu domeeniposti serveritele juurdepääsu.

Vaadake autori demolehe seadistust kiirelt aadressil http://demo.rainloop.net/.

Kui olete Rainloopi oma serveritesse juurutanud, jääb teha vaid veebibrauseri kaudu juurdepääs oma Rainloopi domeenile ja anda volitused lubatud domeenimeiliserverile.

See õpetus hõlmab Rainloop veebimeili installiprotsessi rakenduses Arch Linux mõlemast vaatenurgast Apache ja Nginx konfiguratsioonifailid, kasutades virtuaalset kohalikku domeeni, mis on konfigureeritud kohaliku hosti faili kaudu, ilma DNS-serverita.

Kui vajate ka viiteid Rainloopi installimiseks Debiani ja Red Hati süsteemidesse, külastage eelmist RainLoopi veebimeili artiklit aadressil.

  1. Installige RainLoopi veebimeil Debiani ja Red Hat'i põhistesse süsteemidesse

  1. Installige Arch Linuxi LEMP (Nginx, PHP, MySQL koos MariaDB mootoriga ja PhpMyAdmin)
  2. virtuaalsete hostide loomine Nginxi veebiserverisse

  1. Installige Arch Linuxi LAMP (Linux, Apache, MySQL/MariaDB ja PHP/PhpMyAdmin)

1. samm: looge Nginxi või Apache'i jaoks virtuaalsed hostid

1. Eeldades, et olete oma serverid ( Nginx või Apache ) konfigureerinud, nagu on kirjeldatud ülemistes esitluslinkides, peate kõigepealt looma algelise DNS kirje kohalikus failis hostid , mis osutab Arch Linux süsteemi IP-le.

Redigeerige Linuxi süsteemis faili /etc/hosts ja lisage pärast localhosti sisestust oma Rainloopi virtuaalne domeen.

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

Windowsi süsteemis muutke C:\Windows\System32\drivers\etc\hosts ja lisage allservas järgmine rida.

192.168.1.33       rainloop.lan

2. Pärast käsu ping abil kohaliku domeeni kinnitamist looge Apache või Apache või Nginx .

Looge faili nimega rainloop.lan saidil /etc/nginx/sites-available/ järgmine konfiguratsioon.

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

Lisage järgmine faili sisu.

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

Seejärel looge SSL-i samaväärne faili sisu.

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

Lisage järgmine faili sisu.

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

Järgmisel etapil genereerige SSL-i virtuaalhosti fail Sertifikaadi fail ja Võtmed ja lisage oma virtuaalne domeeninimi ( rainloop.lan ) sertifikaadil üldnimi .

$ sudo nginx_gen_ssl.sh

Pärast sertifikaadi ja SSL-võtmete loomist looge Rainloopi juur veebiserveri faili tee (Rainloopi PHP-failide asukoht), seejärel lubage konfiguratsioonide rakendamiseks virtuaalsed hostid ja taaskäivitage Nginxi deemon.

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

Looge saidil /etc/httpd/conf/sites-available/ uus fail nimega rainloop.conf järgmise sisuga.

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

Lisage järgmine faili sisu.

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

Seejärel looge Apache jaoks SSL-iga samaväärne failisisu.

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

Lisage järgmine faili sisu.

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

Järgmine samm on luua SSL-i sertifikaadi fail ja võtmed SSL-i virtuaalse hosti jaoks ja lisada oma virtuaalse domeeni nimi ( rainloop.lan ) sertifikaadil üldnimi .

$ sudo apache_gen_ssl

Pärast sertifikaadi ja SSL-võtmete loomist lisage Rainloopi DocumentRoot tee, seejärel lubage konfiguratsioonide rakendamiseks Virtual Hosts ja taaskäivitage Apache deemon.

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

2. samm: lisage vajalikud PHP laiendused

3. Sõltumata sellest, kas kasutate veebiserverit Apache või Nginx , peate failis php.ini lubama järgmised PHP laiendused ja lisama ka uue veebiserveri DocumentRoot tee open_basedir direktiivi juurde.

$ sudo nano /etc/php/php.ini

Leidke järgmised PHP laiendused ja tühistage nende kommenteerimine.

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

Ka open_basedir lause peaks välja nägema selline.

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

4. Pärast faili php.ini muutmist taaskäivitage oma server, seejärel kontrollige faili phpinfo , et näha, kas SSL -protokollid on lubatud.

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

3. samm: laadige alla ja installige RainLoopi veebimeil

5. Nüüd on aeg alla laadida ja Rainloopi rakendus ametlikelt veebisaitidelt dokumendi juurkataloogi tõmmata, kuid kõigepealt installige utiliidid ja unzip .

$ sudo pacman -S unzip wget

6. Laadige alla uusim lähtekomplekt Rainloop zip-arhiiv, kasutades käsku wget või brauseri abil navigeerimiseks saidile http://rainloop.net/downloads/.

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

7. Pärast allalaadimisprotsessi lõppu tõmmake Rainloopi arhiiv virtuaalse hostidokumendi juurteele (/srv/www/rainloop/).

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

8. Seejärel määrake rakenduse vaiketeele järgmised õigused.

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

4. samm: konfigureerige Rainloop veebiliidese kaudu

9. Rainloopi rakendust saab konfigureerida kahel viisil: kasutades brauseri kaudu süsteemi kestat. Kui soovite konfigureerida terminali kaudu, avage fail ja muutke fail application.ini , mis asub failis /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Administraatori liidesele pääsemiseks brauserist kasutage järgmist URL-i aadressi https: //rainloop.lan/? Admin ja sisestage seejärel vaikerakendused.

User= admin
Password= 12345

11. Pärast esmast sisselogimist hoiatatakse teid vaikeparooli muutmise eest, seega soovitan teil seda teha.

12. Kui soovite lubada kontaktide sisselogimise MySQL-i andmebaasi ja luua uue andmebaasi, millel on privilegeeritud kasutaja, sisestage väljadele Kontaktid andmebaasi mandaadid.

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. Vaikimisi pakub Rainloop Gmaili , Yahoo ja Outlook domeenide meiliserveri konfiguratsioonifaile, kuid soovi korral saate lisada ka teisi meiliserveri domeene.

14. Meiliserverisse sisselogimiseks suunake brauser aadressile https: //rainloop.lan ja esitage oma domeeniserveri mandaadid.

Täiendavate konfiguratsioonide saamiseks külastage Rainloopi ametlikku dokumentatsiooni lehte aadressil http://rainloop.net/docs/.

Rainloopi abil pääsete meiliserveritele juurde igast seadmest, millel on brauser, kui teie serveril on Interneti-ühendus. Ainus miinus Rainloopi rakenduse kasutamisel Arch Linuxis on vaja poppassd pistikprogrammipaketi puudumist e-posti konto parooli muutmiseks.