Installa RainLoop Webmail (A Web Based Email Client) billi tuża Nginx u Apache f'Arch Linux


Rainloop hija applikazzjoni tal-web Open Source b'xejn miktuba f'PHP li tipprovdi interface tal-web moderna veloċi biex taċċessa l-emails tiegħek fuq il-fornituri ewlenin kollha tal-posta tad-dominju bħal Yahoo, Gmail, Outlook u ħafna oħrajn kif ukoll is-servers tal-posta lokali tiegħek stess, u, ukoll, jaġixxi bħala MUA (Mail User Agent) billi jaċċessa servers tal-posta tad-dominju permezz ta' protokolli IMAP u SMTP.

Agħti ħarsa malajr lejn is-setup tal-paġna demo mill-awtur fuq http://demo.rainloop.net/.

Ladarba tkun skjerat Rainloop fuq is-servers tiegħek, l-unika ħaġa li fadal li tagħmel hi li taċċessa d-dominju Rainloop tiegħek permezz ta’ web browser u tipprovdi kredenzjali għas-server tal-posta tad-dominju attivat tiegħek.

Dan it-tutorja jkopri l-proċess ta' installazzjoni ta' Rainloop webmail fuq Arch Linux miż-żewġ lat fajls ta' konfigurazzjoni għal Apache u Nginx, bl-użu ta 'dominju lokali virtwali kkonfigurat permezz ta' fajl hosts lokali, mingħajr server DNS.

Jekk għandek bżonn ukoll referenzi dwar l-installazzjoni ta' Rainloop fuq is-sistemi Debian u Red Hat żur l-artikolu preċedenti ta' RainLoop Webmail fuq.

  1. Installa RainLoop Webmail fuq Sistemi bbażati fuq Debian u Red Hat

  1. Installa LEMP (Nginx, PHP, MySQL b'magna MariaDB u PhpMyAdmin) f'Arch Linux
  2. Oħloq Hosts Virtwali f'Nginx Web Server

  1. Installa LAMP (Linux, Apache, MySQL/MariaDB, u PHP/PhpMyAdmin) f'Arch Linux

Pass 1: Oħloq Hosts Virtwali għal Nginx jew Apache

1. Jekk wieħed jassumi li kkonfigurajt is-servers tiegħek (Nginx jew Apache) kif deskritt fil-links tal-preżentazzjonijiet ta' fuq, l-ewwel ħaġa li trid tagħmel hi li toħloq rudimentali. DNS dħul fuq hosts lokali li jindika l-IP tas-sistema Arch Linux.

Fis-sistema Linux editja l-fajl /etc/hosts u inkludi d-dominju virtwali Rainloop tiegħek wara d-dħul tal-localhost.

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

Fis-sistema Windows editja C:\Windows\System32\drivers tc\hosts u żid il-linja li ġejja fil-qiegħ.

192.168.1.33       rainloop.lan

2. Wara li tivverifika d-dominju lokali bl-użu tal-kmand ping, oħloq il-konfigurazzjonijiet Virtwali Hosts u SSL meħtieġa għal Apache jew Nginx.

Oħloq fajl bl-isem rainloop.lan fil-mogħdija /etc/nginx/sites-available/ bil-konfigurazzjoni li ġejja.

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

Żid il-kontenut tal-fajl li ġej.

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

Imbagħad oħloq il-kontenut tal-fajl ekwivalenti SSL.

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

Żid il-kontenut tal-fajl li ġej.

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

Fuq il-pass li jmiss iġġenera fajl Ċertifikat u Ċwievet għal SSL Virtual Host u żid l-isem tad-dominju virtwali tiegħek (rainloop.lan) fuq Ċertifikat Isem Komuni.

$ sudo nginx_gen_ssl.sh

Wara li ċ-Ċertifikat u ċ-ċwievet SSL jiġu ġġenerati, oħloq Rainloop root mogħdija tal-fajl tal-webserver (post fejn joqogħdu l-fajls Rainloop PHP), imbagħad ippermetti Virtual Hosts u terġa 'tibda Nginx daemon biex tapplika konfigurazzjonijiet.

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

Oħloq fajl ġdid bl-isem rainloop.conf fi /etc/httpd/conf/sites-available/ bil-kontenut li ġej.

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

Żid il-kontenut tal-fajl li ġej.

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

Imbagħad oħloq il-kontenut tal-fajl ekwivalenti SSL għal Apache.

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

Żid il-kontenut tal-fajl li ġej.

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

Il-pass li jmiss huwa li toħloq Ċertifikat SSL fajl u Ċwievet għal SSL Virtual Host u żid poġġi l-isem tad-dominju virtwali tiegħek (rainloop.lan ) fuq Ċertifikat Isem Komuni.

$ sudo apache_gen_ssl

Wara li jinħolqu ċ-Ċertifikat u ċ-ċwievet SSL, żid it-triq Rainloop DocumentRoot, imbagħad ippermetti Virtual Hosts u terġa 'tibda Apache daemon biex tapplika konfigurazzjonijiet.

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

Pass 2: Żid l-estensjonijiet PHP meħtieġa

3. Kemm jekk qed tuża Apache jew Nginx webserver, għandek bżonn tattiva l-estensjonijiet PHP li ġejjin fuq il-fajl php.ini u, ukoll, tinkludi it-triq il-ġdida tal-webserver DocumentRoot għad-direttiva open_basedir.

$ sudo nano /etc/php/php.ini

Sib u neħħi l-kumment tal-estensjonijiet PHP li ġejjin.

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

Ukoll id-dikjarazzjoni open_basedir għandha tidher bħal din.

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

4. Wara li l-fajl php.ini ġie modifikat erġa ibda s-server tiegħek milli iċċekkja l-fajl phpinfo biex tara jekk il-protokolli SSL humiex attivati.

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

Pass 3: Niżżel u Installa RainLoop Webmail

5. Issa wasal iż-żmien li tniżżel u estratt l-applikazzjoni Rainloop minn websajt uffiċjali għad-direttorju tal-Għerq tad-Dokument iżda l-ewwel tinstalla l-utilitajiet tas-sistema wget u unzip.

$ sudo pacman -S unzip wget

6. Niżżel l-aħħar pakkett tas-sors Rainloop arkivju zip billi tuża kmand wget jew billi tuża browser biex tinnaviga għal http://rainloop.net/downloads/.

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

7. Wara li jintemm il-proċess tat-tniżżil, estratt l-arkivju ta 'Rainloop għal passaġġ tal-Għerq tad-Dokument Ospitanti Virtwali ( /srv/www/rainloop/ ).

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

8. Imbagħad issettja l-permessi li ġejjin fuq il-mogħdija default tal-applikazzjoni.

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

Pass 4: Ikkonfigura Rainloop permezz tal-Interface tal-Web

9. L-applikazzjoni Rainloop tista 'tiġi kkonfigurata f'żewġ modi: bl-użu ta' qoxra tas-sistema ta 'via browser. Jekk trid tikkonfigura fuq it-terminal tiftaħ u teditja l-fajl application.ini li jinsab f'/srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Biex taċċessa l-Interface tal-Amministratur mill-browser, uża l-indirizz URL li ġej https://rainloop.lan/?admin, imbagħad ipprovdi l-kredenzjali tal-applikazzjoni default.

User= admin
Password= 12345

11. Wara l-login inizjali inti tkun avżat biex tibdel il-password default, għalhekk nagħtik parir biex tagħmel dan.

12. Jekk trid tattiva kuntatti idħol fid-database MySQL u toħloq database ġdida b'utent privileġġjat fuqha, imbagħad ipprovdi kredenzjali tad-database fuq l-oqsma Kuntatti.

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. B'mod awtomatiku Rainloop jipprovdi fajls tal-konfigurazzjoni tas-server tal-posta tad-dominji Gmail, Yahoo u Outlook, imma tista' żżid dominji oħra ta' server tal-posta jekk tixtieq.

14. Biex tilloggja fis-server tal-posta tiegħek ippunta l-browser tiegħek fuq https://rainloop.lan u agħti l-kredenzjali tas-server tad-dominju tiegħek.

Għal aktar konfigurazzjonijiet jekk jogħġbok żur il-paġna ta' dokumentazzjoni uffiċjali ta' Rainloop fuq http://rainloop.net/docs/.

B'Rainloop tista' taċċessa s-servers tal-posta minn kwalunkwe apparat li għandu browser sakemm is-server tiegħek ikollu konnettività tal-Internet, l-uniku żvantaġġ tal-użu tal-applikazzjoni Rainloop f'Arch Linux s'issa huwa n-nuqqas ta' poppassd pakkett plugin meħtieġ biex tibdel il-password tal-kont tal-email.