Instalirajte RainLoop Webmail (web klijent e-pošte) koristeći Nginx i Apache u Arch Linuxu


Rainloop je besplatna web aplikacija s otvorenim kodom napisana na PHP-u koja pruža brzo i moderno web sučelje za pristup vašim e-porukama na svim glavnim davateljima usluga pošte, kao što su Yahoo, Gmail, Outlook i mnogi drugi, kao i na vašim lokalnim poslužiteljima pošte, i, također, djeluje kao MUA (Mail User Agent) pristupanjem poslužiteljima pošte domene putem IMAP i SMTP protokola.

Na brzinu pogledajte postavke demo stranice od strane autora na http://demo.rainloop.net/.

Nakon što rasporedite Rainloop na svoje poslužitelje, preostaje vam samo pristupiti svojoj Rainloop domeni putem web preglednika i pružiti vjerodajnice za svoj omogućeni poslužitelj pošte domene.

Ovaj tutorial pokriva Rainloop postupak instalacije web pošte na Arch Linux s obje točke gledišta konfiguracijske datoteke za Apache i Nginx , pomoću virtualne lokalne domene konfigurirane kroz datoteku lokalnih hostova, bez DNS poslužitelja.

Ako su vam potrebne i reference o instaliranju Rainloopa na sustavima Debian i Red Hat, posjetite prethodni članak RainLoop Webmail na.

  1. Instalirajte RainLoop Webmail na sustave temeljene na Debianu i Red Hat-u

  1. Instalirajte LEMP (Nginx, PHP, MySQL s MariaDB motorom i PhpMyAdmin) u Arch Linux
  2. Stvorite virtualne hostove na Nginx web poslužitelju

  1. Instalirajte LAMP (Linux, Apache, MySQL/MariaDB i PHP/PhpMyAdmin) u Arch Linux

Korak 1: Stvorite virtualne hostove za Nginx ili Apache

1. Pod pretpostavkom da ste konfigurirali svoje poslužitelje ( Nginx ili Apache ) kako je opisano u gornjim vezama prezentacija, prvo što trebate napraviti je stvoriti osnovni DNS unos na lokalnoj datoteci domaćina koja upućuje na IP sustava Arch Arch .

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

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

U sustavu Windows uredite C:\Windows\System32\drivers\etc\hosts i dodajte sljedeći redak na dnu.

192.168.1.33       rainloop.lan

2. Nakon što potvrdite lokalnu domenu pomoću naredbe ping , stvorite potrebne konfiguracije virtualnih hostova i SSL za Apache ili Nginx .

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

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

Dodajte sljedeći sadržaj 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 stvorite SSL ekvivalentni sadržaj datoteke.

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

Dodajte sljedeći sadržaj 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;
    }
 }

Na sljedećem koraku generirajte datoteku certifikata i ključeve za SSL virtualni host i dodajte svoje ime virtualne domene ( rainloop.lan ) na potvrdi Uobičajeni naziv .

$ sudo nginx_gen_ssl.sh

Nakon generiranja certifikata i SSL ključeva, stvorite Rainloop root datoteku web poslužitelja (mjesto na kojem se nalaze Rainloop PHP datoteke), a zatim omogućite virtualne hostove i ponovno pokrenite Nginx demon za primjenu konfiguracija.

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

Stvorite 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 sljedeći sadržaj 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 stvorite SSL ekvivalentni sadržaj datoteke za Apache.

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

Dodajte sljedeći sadržaj 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 je korak stvoriti datoteku SSL certifikata i ključeve za SSL virtualni host i dodati put svoje ime virtualne domene ( rainloop.lan ) na potvrdi Uobičajeni naziv .

$ sudo apache_gen_ssl

Nakon kreiranja certifikata i SSL ključeva dodajte Rainloop DocumentRoot put, a zatim omogućite virtualne hostove i ponovno pokrenite Apache demon za primjenu konfiguracija.

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

Korak 2: Dodajte potrebna PHP proširenja

3. Bez obzira koristite li web poslužitelj Apache ili Nginx , morate omogućiti sljedeća PHP proširenja u datoteci php.ini i, također, uključiti novi put DocumentRoot web poslužitelja do direktive open_basedir .

$ sudo nano /etc/php/php.ini

Pronađite i komentirajte sljedeća PHP proširenja.

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 izjava open_basedir trebala bi izgledati ovako.

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

4. Nakon izmjene datoteke php.ini , ponovo pokrenite poslužitelj, provjerite datoteku phpinfo da biste vidjeli jesu li omogućeni protokoli SSL .

----------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 izvadite aplikaciju Rainloop sa službene web stranice u korijenski direktorij dokumenata, ali prvo instalirajte wget i raspakirajte sistemske uslužne programe.

$ sudo pacman -S unzip wget

6. Preuzmite najnoviji izvorni paket Rainloop zip arhivu pomoću naredbe wget ili pomoću preglednika za odlazak na http://rainloop.net/downloads/.

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

7. Nakon završetka postupka preuzimanja, izvadite Rainloop arhivu u korijensku stazu dokumenta virtualnog hosta (/srv/www/rainloop/).

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

8. Zatim postavite sljedeća dopuštenja na zadani put 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. Rainloop aplikacija može se konfigurirati na dva načina: pomoću sistemske ljuske putem preglednika. Ako želite konfigurirati preko terminala, otvorite i uredite datoteku application.ini koja se nalazi u /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Da biste pristupili Admin sučelju iz preglednika, upotrijebite sljedeću URL adresu https: //rainloop.lan/? Admin , a zatim unesite zadane vjerodajnice aplikacije.

User= admin
Password= 12345

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

12. Ako želite omogućiti prijavu kontakata u MySQL bazu podataka i stvorite novu bazu podataka s privilegiranim korisnikom, a zatim navedite vjerodajnice baze podataka u poljima Kontakti .

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. Rainloop prema zadanim postavkama pruža Gmail , Yahoo i Outlook domene konfiguracijske datoteke poslužitelja pošte, ali po želji možete dodati i druge domene poslužitelja pošte.

14. Da biste se prijavili na svoj poslužitelj pošte, usmerite preglednik na https: //rainloop.lan i unesite vjerodajnice poslužitelja domene.

Za daljnje konfiguracije posjetite službenu stranicu dokumentacije Rainloop-a na http://rainloop.net/docs/.

Uz Rainloop možete pristupiti poslužiteljima pošte s bilo kojeg uređaja koji ima preglednik sve dok vaš poslužitelj ima internetsku vezu, jedini minus korištenja Rainloop aplikacije u Arch Linuxu je nedostatak potrebnog paketa dodataka poppassd za promjenu lozinke za račun e-pošte.