Instalirajte RainLoop Webmail (web baziran e-mail klijent) koristeći 'Nginx i Apache' u Arch Linuxu


Rainloop je besplatna web aplikacija otvorenog koda napisana u PHP-u koja pruža brzo moderno web sučelje za pristup vašoj e-pošti na svim glavnim provajderima e-pošte na domeni kao što su Yahoo, Gmail, Outlook i mnogi drugi, kao i na vašim vlastitim lokalnim serverima pošte, kao i, djeluje kao MUA (Mail User Agent) pristupajući serverima pošte domene putem IMAP i SMTP protokola.

RainLoop Demo

Brzo pogledajte autorovo podešavanje demo stranice na http://demo.rainloop.net/.

Nakon što postavite Rainloop na svoje servere, jedina stvar koja vam preostaje je da pristupite vašoj Rainloop domeni preko web pretraživača i pružite vjerodajnice za vaš omogućeni server za poštu domene.

Ovaj vodič pokriva Rainloop proces instalacije web pošte na Arch Linux sa obje tačke gledišta konfiguracijskih fajlova za Apache i Nginx, koristeći virtuelnu lokalnu domenu konfigurisanu preko datoteke lokalnog hosta, bez DNS servera.

Ako su vam također potrebne reference za instaliranje Rainloopa na Debian i Red Hat sisteme posjetite prethodni RainLoop Webmail članak na.

  1. Instalirajte RainLoop Webmail na Debian i Red Hat sisteme

Zahtjevi

Za Nginx
  1. Instalirajte LEMP (Nginx, PHP, MySQL sa MariaDB motorom i PhpMyAdmin) u Arch Linux
  2. Kreirajte virtuelne hostove u Nginx web serveru
Za Apache
  1. Instalirajte LAMP (Linux, Apache, MySQL/MariaDB i PHP/PhpMyAdmin) u Arch Linux

Korak 1: Kreirajte virtuelne hostove za Nginx ili Apache

1. Pod pretpostavkom da ste konfigurirali svoje servere (Nginx ili Apache) kako je opisano u gornjim vezama za prezentaciju, prva stvar koju trebate učiniti je za kreiranje rudimentarnog DNS unosa na lokalnom hosts datoteci koja ukazuje na Arch Linux sistemsku IP adresu.

Na Linux sistemu uredite datoteku /etc/hosts i uključite svoju Rainloop virtualnu domenu nakon unosa localhost.

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

Na Windows sistemu uredite C:\Windows\System32\drivers\etc\hosts i dodajte sljedeći red na dnu.

192.168.1.33       rainloop.lan

2. Nakon što potvrdite lokalnu domenu pomoću naredbe ping, kreirajte potrebne virtuelne hostove i SSL konfiguracije za Apache ili Nginx.

Nginx virtuelni hostovi

Kreirajte datoteku pod nazivom rainloop.lan na /etc/nginx/sites-available/ putanji sa sljedećom konfiguracijom.

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

Dodajte sadržaj sljedeće datoteke.

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

Zatim kreirajte sadržaj datoteke ekvivalentan SSL-u.

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

Dodajte sadržaj sljedeće datoteke.

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

U sljedećem koraku generirajte datoteku Certifikat i Ključeve za SSL Virtual Host i dodajte naziv svoje virtualne domene (rainloop.lan >) na certifikatu Uobičajeno ime.

sudo nginx_gen_ssl.sh

Nakon što se generiraju ključevi certifikata i SSL, kreirajte putanju datoteke Rainloop root web servera ( mjesto gdje se nalaze Rainloop PHP datoteke), zatim omogućite Virtual Hosts i ponovo pokrenite Nginx demon da biste primijenili konfiguracije.

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

Apache virtuelni hostovi

Kreirajte novu datoteku pod nazivom rainloop.conf u /etc/httpd/conf/sites-available/ sa sljedećim sadržajem.

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

Dodajte sadržaj sljedeće datoteke.

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

Zatim kreirajte SSL ekvivalentan sadržaj datoteke za Apache.

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

Dodajte sadržaj sljedeće datoteke.

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

Sljedeći korak je kreiranje datoteke SSL certifikata i ključeva za SSL virtuelni host i dodavanje imena vaše virtualne domene (rainloop.lan ) na certifikatu Uobičajeno ime.

sudo apache_gen_ssl

Nakon što se kreiraju ključevi certifikata i SSL, dodajte stazu Rainloop DocumentRoot, zatim omogućite virtualne hostove i ponovo pokrenite Apache demon da biste primijenili konfiguracije.

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

Korak 2: Dodajte potrebne PHP ekstenzije

3. Bilo da koristite Apache ili Nginx web server, morate omogućiti sljedeće PHP ekstenzije na php.ini datoteku i, također, uključiti novi web server DocumentRoot putanju do open_basedir direktive.

sudo nano /etc/php/php.ini

Pronađite i dekomentirajte sljedeće PHP ekstenzije.

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

Također open_basedir izjava bi trebala izgledati ovako.

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

4. Nakon što je datoteka php.ini izmijenjena, ponovo pokrenite server, a zatim provjerite phpinfo datoteku da vidite da li SSL protokoli su omogućeni.

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

Korak 3: Preuzmite i instalirajte RainLoop Webmail

5. Sada je vrijeme da preuzmete i izdvojite Rainloop aplikaciju sa službene web stranice u Root direktorij dokumenta, ali prvo instalirajte wget i unzip sistemske uslužne programe.

sudo pacman -S unzip wget

6. Preuzmite najnoviji izvorni paket Rainloop zip arhivu koristeći naredbu wget ili korištenjem pretraživača za navigaciju na http://rainloop.net/downloads/.

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

7. Nakon što se proces preuzimanja završi, raspakirajte Rainloop arhivu u korijensku stazu dokumenta virtuelnog hosta ( /srv/www/rainloop/).

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

8. Zatim postavite sljedeće dozvole na zadanu putanju aplikacije.

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

Korak 4: Konfigurirajte Rainloop putem web sučelja

9. Aplikacija Rainloop se može konfigurirati na dva načina: korištenjem sistemske ljuske putem pretraživača. Ako želite konfigurirati preko terminala otvorite i uredite application.ini datoteku koja se nalazi u /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Za pristup administratorskom interfejsu iz pretraživača, koristite sljedeću URL adresu https://rainloop.lan/?admin, a zatim unesite zadane akreditive aplikacije.

User= admin
Password= 12345

11. Nakon prve prijave bit ćete upozoreni da promijenite zadanu lozinku, pa vam savjetujem da to učinite.

12. Ako želite omogućiti kontakte prijavu na MySQL bazu podataka i kreirati novu bazu podataka sa privilegiranim korisnikom na njoj, tada unesite vjerodajnice baze podataka na Kontakti polja.

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. Po zadanim postavkama Rainloop pruža Gmail, Yahoo i Outlook fajlove za konfiguraciju servera pošte, ali možete dodati i druge domene mail servera ako želite.

14. Da biste se prijavili na vaš mail server, usmjerite svoj pretraživač na https://rainloop.lan i navedite akreditive vašeg domenskog servera.

Za dalje konfiguracije posjetite zvaničnu stranicu dokumentacije Rainloop-a na http://rainloop.net/docs/.

Sa Rainloop-om možete pristupiti mail serverima sa bilo kojeg uređaja koji ima pretraživač sve dok vaš server ima internet konekciju, jedini minus korištenja Rainloop aplikacije u Arch Linux-u do sada je nedostatak potrebnog paketa dodataka poppassd da promijenite lozinku za račun e-pošte.