Namestite spletno pošto RainLoop (spletni e-poštni odjemalec) z uporabo Nginx in Apache v Arch Linux


Rainloop je brezplačna odprtokodna spletna aplikacija, napisana v PHP, ki ponuja hiter sodoben spletni vmesnik za dostop do vaših e-poštnih sporočil na vseh glavnih ponudnikih pošte, kot so Yahoo, Gmail, Outlook in mnogi drugi, pa tudi do vaših lokalnih poštnih strežnikov, in tudi, deluje kot MUA (Mail User Agent) z dostopom do poštnih strežnikov domene prek protokolov IMAP in SMTP.

Hitro si oglejte predstavitveno stran avtorja na http://demo.rainloop.net/.

Ko na svojih strežnikih namestite Rainloop, morate le še dostopati do svoje domene Rainloop prek spletnega brskalnika in zagotoviti poverilnice za omogočen poštni strežnik domene.

Ta vadnica zajema postopek namestitve spletne pošte Rainloop na Arch Linux z obeh vidikov konfiguracijskih datotek za Apache in Nginx , z uporabo navidezne lokalne domene, konfigurirane prek datoteke lokalnih gostiteljev, brez strežnika DNS.

Če potrebujete tudi reference o namestitvi Rainloopa na sistemih Debian in Red Hat, obiščite prejšnji članek o spletni pošti RainLoop na naslovu.

  1. Namestite spletno pošto RainLoop na sisteme, ki temeljijo na sistemih Debian in Red Hat

  1. Namestite LEMP (Nginx, PHP, MySQL z mehanizmom MariaDB in PhpMyAdmin) v Arch Linux
  2. Ustvarite navidezne gostitelje v spletnem strežniku Nginx

  1. Namestite LAMP (Linux, Apache, MySQL/MariaDB in PHP/PhpMyAdmin) v Arch Linux

1. korak: ustvarite navidezne gostitelje za Nginx ali Apache

1. Ob predpostavki, da ste svoje strežnike ( Nginx ali Apache ) konfigurirali, kot je opisano v zgornjih povezavah do predstavitev, morate najprej ustvariti osnovno DNS vnos v lokalni datoteki gostitelji , ki kaže na sistemski IP sistem Arch Linux .

V sistemu Linux uredite datoteko /etc/hosts in vključite svojo virtualno domeno Rainloop po vnosu localhost.

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

V sistemu Windows uredite C:\Windows\System32\drivers\etc\hosts in dodajte naslednjo vrstico na dnu.

192.168.1.33       rainloop.lan

2. Ko preverite lokalno domeno z ukazom ping , ustvarite potrebne konfiguracije Virtual Hosts in SSL za Apache ali Nginx .

Ustvarite datoteko z imenom rainloop.lan v poti /etc/nginx/sites-available/ z naslednjo konfiguracijo.

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

Dodajte naslednjo vsebino 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;
    }
 }

Nato ustvarite enakovredno vsebino datoteke SSL.

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

Dodajte naslednjo vsebino 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;
    }
 }

V naslednjem koraku ustvarite datoteko Certifikat in Ključe za SSL Virtual Host in dodajte svoje ime navidezne domene ( rainloop.lan ) na potrdilu Splošno ime .

$ sudo nginx_gen_ssl.sh

Ko se generirajo potrdila in ključi SSL, ustvarite pot do datoteke spletnega strežnika Rainloop root (mesto, kjer so datoteke Rainloop PHP), nato omogočite navidezne gostitelje in znova zaženite demon Nginx, da uporabite konfiguracije.

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

Ustvarite novo datoteko z imenom rainloop.conf v /etc/httpd/conf/sites-available/ z naslednjo vsebino.

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

Dodajte naslednjo vsebino 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>

Nato ustvarite enakovredno vsebino datoteke SSL za Apache.

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

Dodajte naslednjo vsebino 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>

Naslednji korak je ustvariti datoteko SSL Certificate in tipke za SSL Virtual Host in dodati put virtualno ime domene ( rainloop.lan ) na potrdilu Splošno ime .

$ sudo apache_gen_ssl

Ko so potrdila in ključi SSL ustvarjeni, dodajte Rainloop DocumentRoot pot, nato omogočite navidezne gostitelje in znova zaženite demon Apache, da uporabite konfiguracije.

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

2. korak: dodajte potrebne razširitve PHP

3. Ne glede na to, ali uporabljate spletni strežnik Apache ali Nginx , morate v datoteki php.ini omogočiti naslednje razširitve PHP in vključiti tudi nova pot spletnega strežnika DocumentRoot do direktive open_basedir .

$ sudo nano /etc/php/php.ini

Poiščite in razkomentirajte naslednje razširitve 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

Tudi izjava open_basedir bi morala izgledati tako.

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

4. Po spremembi datoteke php.ini znova zaženite strežnik, nato pa preverite datoteko phpinfo in preverite, ali so protokoli SSL omogočeni.

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

3. korak: Prenesite in namestite spletno pošto RainLoop

5. Zdaj je čas, da aplikacijo Rainloop prenesete in izvlečete z uradnega spletnega mesta v korenski imenik dokumentov, vendar najprej namestite wget in unzip sistemske pripomočke.

$ sudo pacman -S unzip wget

6. S pomočjo ukaza wget ali z brskalnikom prenesite najnovejši izvorni paket Rainloop zip arhiv na http://rainloop.net/downloads/.

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

7. Ko se postopek prenosa konča, ekstrahirajte Rainloop arhiv na korensko pot dokumenta navideznega gostitelja (/srv/www/rainloop/).

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

8. Nato nastavite naslednja dovoljenja za privzeto pot aplikacije.

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

4. korak: Konfigurirajte Rainloop prek spletnega vmesnika

9. Aplikacijo Rainloop lahko nastavite na dva načina: z uporabo sistemske lupine prek brskalnika. Če želite konfigurirati prek terminala, odprite in uredite datoteko application.ini , ki se nahaja v /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Za dostop do skrbniškega vmesnika iz brskalnika uporabite naslednji naslov URL https: //rainloop.lan/? Admin , nato vnesite privzete poverilnice aplikacije.

User= admin
Password= 12345

11. Po začetni prijavi boste opozorjeni, da spremenite privzeto geslo, zato vam svetujem, da to storite.

12. Če želite omogočiti stike , se prijavite v bazo podatkov MySQL in ustvarite novo bazo podatkov s privilegiranim uporabnikom, nato vnesite poverilnice baze podatkov v polja Stiki .

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 privzeto ponuja Gmail , Yahoo in Outlook domene konfiguracijske datoteke poštnega strežnika, po želji pa lahko dodate druge domene poštnega strežnika.

14. Če se želite prijaviti na svoj poštni strežnik, usmerite brskalnik na https: //rainloop.lan in vnesite poverilnice domene.

Za nadaljnje konfiguracije obiščite uradno stran z dokumentacijo Rainloop na naslovu http://rainloop.net/docs/.

Z Rainloop lahko dostopate do poštnih strežnikov iz katere koli naprave, ki ima brskalnik, če ima vaš strežnik internetno povezavo, edini minus uporabe Rainloop aplikacije v Arch Linuxu pa je pomanjkanje potrebnega paketa vtičnikov poppassd za spremembo gesla za e-poštni račun.