Wụnye RainLoop Webmail (Onye ahịa Email dabere na Weebụ) site na iji Nginx na Apache na Arch Linux


Rainloop bụ ngwa weebụ mepere emepe nke edere na PHP nke na-enye ngwa ngwa webụ ọgbara ọhụrụ iji nweta ozi-e gị na ndị na-eweta ozi ngalaba niile dị ka Yahoo, Gmail, Outlook na ọtụtụ ndị ọzọ yana sava ozi mpaghara gị, yana, yana, na-eme dị ka MUA (Onye Ọrụ Onye Ọrụ Ozi) site na ịnweta sava ozi ngalaba site na IMAP na SMTP protocols.

Lee ngwa ngwa na ntọala ngosi ngosi nke onye ode akwụkwọ nọ na http://demo.rainloop.net/.

Ozugbo i bufere Rainloop na sava gị naanị ihe fọdụrụ ime bụ ịnweta ngalaba Rainloop gị site na ihe nchọgharị weebụ wee nye nzere maka sava ozi ngalaba enyere gị aka.

Nkuzi a na-ekpuchi usoro nrụnye webmail Rainloop na Arch Linux site na nleba anya faịlụ nhazi abụọ maka Apache na Nginx, iji ngalaba mebere mpaghara ahaziri site na faịlụ ndị nnabata mpaghara, na-enweghị ihe nkesa DNS.

Ọ bụrụ na ị chọkwara ntụaka maka ịwụnye Rainloop na sistemụ Debian na Red Hat gaa na akụkọ RainLoop Webmail gara aga na.

  1. Wụnye Webmail RainLoop na sistemụ Debian na Red Hat

    Wụnye LEMP (Nginx, PHP, MySQL na injin MariaDB na PhpMyAdmin) na Arch Linux
  1. Mepụta ndị ọbịa mebere na sava Webụ Nginx

  1. Wụnye LAMP (Linux, Apache, MySQL/MariaDB, na PHP/PhpMyAdmin) na Arch Linux

Kwụpụ 1: Mepụta ndị ọbịa mebere maka Nginx ma ọ bụ Apache

1. Na-eche na ị haziela sava gị (Nginx ma ọ bụ Apache) dị ka akọwara na njikọ ngosi elu, ihe mbụ ị ga - eme bụ ịmepụta usoro iwu Ntinye DNS na faịlụ ndị ọbịa nke na-arụtụ aka na Arch Linux sistemu IP.

Na sistemu Linux dezie faịlụ /etc/hosts ma tinye ngalaba nke Rainloop mebere gị ka ntinye localhost gasịrị.

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

Na sistemụ Windows dezie C:\WindowsSystem32drivers tchosts wee tinye ahịrị na-esote na ala.

192.168.1.33       rainloop.lan

2. Mgbe ị mechara nyochaa ngalaba mpaghara site na iji iwu ping, mepụta ihe dị mkpa Virtual Hosts na SSL nhazi maka Apache ma ọ bụ Nginx.

Mepụta faịlụ aha ya bụ rainloop.lan na ụzọ /etc/nginx/sites-available/ nwere nhazi ndị a.

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

Tinye ọdịnaya faịlụ ndị a.

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

Mepụta ọdịnaya faịlụ dakọtara SSL.

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

Tinye ọdịnaya faịlụ ndị a.

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 nzọụkwụ ọzọ wepụta faịlụ Sertificate yana Igodo maka SSL Virtual Host wee tinye aha ngalaba mebere gị (rainloop.lan >) na Asambodo Aha a na-ahụkarị.

$ sudo nginx_gen_ssl.sh

Mgbe emechara Asambodo na igodo SSL, mepụta Rainloop mgbọrọgwụ ụzọ faịlụ websava (ebe faịlụ PHP Rainloop bi), wee mee ka Virtual Hosts wee malite Nginx daemon ka itinye nhazi.

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

Mepụta faịlụ ọhụrụ akpọrọ rainloop.conf na /etc/httpd/conf/sites-available/ nwere ọdịnaya ndị a.

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

Tinye ọdịnaya faịlụ ndị a.

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

Mepụta ọdịnaya faịlụ dakọtara SSL maka Apache.

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

Tinye ọdịnaya faịlụ ndị a.

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

Nzọụkwụ ọzọ bụ imepụta faịlụ SSL Asambodo na Igodo maka SSL Virtual Host wee tinye tinye aha ngalaba mebere gị (rainloop.lan). ) na Asambodo Aha a na-ahụkarị.

$ sudo apache_gen_ssl

Mgbe emechara Asambodo na igodo SSL, gbakwunye Rainloop DocumentRoot ụzọ, wee mee ka Virtual Hosts wee malitegharịa Apache daemon iji tinye nhazi.

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

Kwụpụ 2: Tinye mgbakwunye PHP dị mkpa

3. Ma ị na-eji Apache ma ọ bụ Nginx sava weebụ, ị ga-eme ka ndọtị PHP ndị a na faịlụ php.ini yana, gụnyekwara. ụzọ ọhụrụ DocumentRoot gaa na ntụziaka open_basedir.

$ sudo nano /etc/php/php.ini

Chọta wee kwupụta ndọtị PHP ndị a.

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

Ọzọkwa open_basedir nkwupụta kwesịrị ịdị ka nke a.

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

4. Mgbe emezigharịrị faịlụ php.ini malitegharịa nkesa gị karịa ịlele faịlụ phpinfo ka ịhụ ma agbanyere ụkpụrụ SSL.

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

Kwụpụ 3: Budata ma wụnye RainLoop Webmail

5. Ugbu a ọ bụ oge ibudata na wepụ Rainloop ngwa si ukara website na Document Root directory ma buru ụzọ tinye wget na unzip sistemu utilities.

$ sudo pacman -S unzip wget

6. Budata ihe ngwungwu mmiri ozuzo kacha ọhụrụ site na iji wget iwu ma ọ bụ site na iji ihe nchọgharị iji gaa na http://rainloop.net/downloads/.

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

7. Mgbe usoro nbudata ahụ gwụchara, wepụ akwụkwọ akụkọ Rainloop gaa na Virtual Host Document Root path ( /srv/www/rainloop/).

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

8. Mgbe ahụ tọọ ikike ndị a na ụzọ ndabere ngwa.

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

Kwụpụ 4: Hazie Rainloop site na Interface Webụ

9. Enwere ike ịhazi ngwa Rainloop na ụzọ abụọ: iji usoro shei nke site na ihe nchọgharị. Ọ bụrụ na ịchọrọ ịhazi n'elu ọnụ ọnụ mepere emepe wee dezie faịlụ application.ini dị na /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Iji nweta Interface Admin site na ihe nchọgharị, jiri URL na-esonụ https://rainloop.lan/?admin, wee nye nzere ngwa ndabara.

User= admin
Password= 12345

11. Mgbe mbụ nbanye, ị ga-adọ aka ná ntị ịgbanwe ndabara paswọọdụ, otú m ndụmọdụ gị ime ya.

12. Ọ bụrụ na ịchọrọ ime ka kọntaktị banye na MySQL nchekwa data wee mepụta nchekwa data ọhụrụ yana onye ọrụ nwere ihe ùgwù na ya, wee nye nzere nchekwa data na mpaghara Contacts.

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. Site na ndabara Rainloop na-enye Gmail, Yahoo na Outlook ngalaba na-eziga faịlụ nhazi ihe nkesa, mana ị nwere ike itinye ngalaba sava ozi ndị ọzọ ma ọ bụrụ na-amasị gị.

14. Iji banye na ihe nkesa ozi gị rụtụ aka ihe nchọgharị gị na https://rainloop.lan wee nye nzere nkesa ngalaba gị.

Maka nhazi ndị ọzọ biko gaa na ibe akwụkwọ akwụkwọ Rainloop na http://rainloop.net/docs/.

Site na Rainloop ị nwere ike ịnweta sava ozi site na ngwaọrụ ọ bụla nwere ihe nchọgharị ma ọ bụrụhaala na ihe nkesa gị nwere njikọ Ịntanetị, naanị mwepu iji ngwa Rainloop na Arch Linux ruo ugbu a bụ enweghị poppassd ngwungwu ngwa mgbakwunye achọrọ. ka ịgbanwee paswọọdụ akaụntụ email.