ആർച്ച് ലിനക്സിൽ Nginx, Apache എന്നിവ ഉപയോഗിച്ച് RainLoop വെബ്മെയിൽ (ഒരു വെബ് അധിഷ്ഠിത ഇമെയിൽ ക്ലയന്റ്) ഇൻസ്റ്റാൾ ചെയ്യുക


Yahoo, Gmail, Outlook തുടങ്ങിയ എല്ലാ പ്രധാന ഡൊമെയ്uൻ മെയിൽ ദാതാക്കളിലും നിങ്ങളുടെ സ്വന്തം പ്രാദേശിക മെയിൽ സെർവറുകളിലും നിങ്ങളുടെ ഇമെയിലുകൾ ആക്uസസ് ചെയ്യുന്നതിനുള്ള വേഗതയേറിയ ആധുനിക വെബ് ഇന്റർഫേസ് നൽകുന്ന PHP-യിൽ എഴുതപ്പെട്ട ഒരു സൗജന്യ ഓപ്പൺ സോഴ്uസ് വെബ് ആപ്ലിക്കേഷനാണ് റെയിൻലൂപ്പ്. IMAP, SMTP പ്രോട്ടോക്കോളുകൾ വഴി ഡൊമെയ്ൻ മെയിൽ സെർവറുകൾ ആക്സസ് ചെയ്യുന്നതിലൂടെ MUA (മെയിൽ യൂസർ ഏജന്റ്) ആയി പ്രവർത്തിക്കുന്നു.

http://demo.rainloop.net/ എന്നതിലെ രചയിതാവിന്റെ ഡെമോ പേജ് സജ്ജീകരണത്തിലേക്ക് പെട്ടെന്ന് നോക്കൂ.

നിങ്ങളുടെ സെർവറുകളിൽ റെയിൻലൂപ്പ് വിന്യസിച്ചുകഴിഞ്ഞാൽ, ചെയ്യേണ്ട ഒരേയൊരു കാര്യം ഒരു വെബ് ബ്രൗസറിലൂടെ നിങ്ങളുടെ റെയിൻലൂപ്പ് ഡൊമെയ്uൻ ആക്uസസ് ചെയ്യുകയും നിങ്ങളുടെ പ്രാപ്uതമാക്കിയ ഡൊമെയ്uൻ മെയിൽ സെർവറിന് ക്രെഡൻഷ്യലുകൾ നൽകുകയും ചെയ്യുക എന്നതാണ്.

ഈ ട്യൂട്ടോറിയൽ Apache, Nginx എന്നിവയ്uക്കായുള്ള രണ്ട് വീക്ഷണ കോൺഫിഗറേഷൻ ഫയലുകളിൽ നിന്നും Rainloop വെബ്uമെയിൽ ഇൻസ്റ്റാളേഷൻ പ്രക്രിയയെ Arch Linux കവർ ചെയ്യുന്നു, DNS സെർവർ ഇല്ലാതെ ലോക്കൽ ഹോസ്റ്റ് ഫയലിലൂടെ കോൺഫിഗർ ചെയ്ത ഒരു വെർച്വൽ ലോക്കൽ ഡൊമെയ്ൻ ഉപയോഗിക്കുന്നു.

ഡെബിയൻ, റെഡ് ഹാറ്റ് സിസ്റ്റങ്ങളിൽ റെയിൻലൂപ്പ് ഇൻസ്റ്റോൾ ചെയ്യുന്നതിനെ കുറിച്ച് നിങ്ങൾക്ക് അവലംബങ്ങൾ ആവശ്യമുണ്ടെങ്കിൽ മുമ്പത്തെ റെയിൻലൂപ്പ് വെബ്uമെയിൽ ലേഖനം സന്ദർശിക്കുക.

  1. Debian, Red Hat അടിസ്ഥാനമാക്കിയുള്ള സിസ്റ്റങ്ങളിൽ റെയിൻലൂപ്പ് വെബ്uമെയിൽ ഇൻസ്റ്റാൾ ചെയ്യുക

  1. ആർച്ച് ലിനക്സിൽ LEMP (Nginx, PHP, MySQL, MariaDB എഞ്ചിൻ, PhpMyAdmin എന്നിവ ഉപയോഗിച്ച്) ഇൻസ്റ്റാൾ ചെയ്യുക
  2. Nginx വെബ് സെർവറിൽ വെർച്വൽ ഹോസ്റ്റുകൾ സൃഷ്ടിക്കുക

  1. ആർച്ച് ലിനക്സിൽ LAMP (Linux, Apache, MySQL/MariaDB, PHP/PhpMyAdmin) ഇൻസ്റ്റാൾ ചെയ്യുക

ഘട്ടം 1: Nginx അല്ലെങ്കിൽ Apache-നായി വെർച്വൽ ഹോസ്റ്റുകൾ സൃഷ്ടിക്കുക

1. മുകളിലെ അവതരണ ലിങ്കുകളിൽ വിവരിച്ചിരിക്കുന്നതുപോലെ നിങ്ങളുടെ സെർവറുകൾ (Nginx അല്ലെങ്കിൽ Apache) ക്രമീകരിച്ചിട്ടുണ്ടെന്ന് അനുമാനിക്കുക, നിങ്ങൾ ആദ്യം ചെയ്യേണ്ടത് ഒരു അടിസ്ഥാന സൃഷ്ടിക്കുക എന്നതാണ്. Arch Linux സിസ്റ്റം IP-ലേക്ക് പോയിന്റ് ചെയ്യുന്ന പ്രാദേശിക ഹോസ്റ്റുകൾ ഫയലിൽ DNS എൻട്രി.

Linux സിസ്റ്റത്തിൽ /etc/hosts ഫയൽ എഡിറ്റ് ചെയ്യുകയും ലോക്കൽ ഹോസ്റ്റ് എൻട്രിക്ക് ശേഷം നിങ്ങളുടെ റെയിൻലൂപ്പ് വെർച്വൽ ഡൊമെയ്ൻ ഉൾപ്പെടുത്തുകയും ചെയ്യുക.

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

വിൻഡോസ് സിസ്റ്റത്തിൽ C:\Windows\System32\drivers tc\hosts എഡിറ്റ് ചെയ്ത് താഴെയുള്ള വരി ചേർക്കുക.

192.168.1.33       rainloop.lan

2. നിങ്ങൾ ping കമാൻഡ് ഉപയോഗിച്ച് ലോക്കൽ ഡൊമെയ്ൻ പരിശോധിച്ചുറപ്പിച്ച ശേഷം, ആവശ്യമായ Virtual Hosts, SSL എന്നിവ Apache അല്ലെങ്കിൽ Nginx.

ഇനിപ്പറയുന്ന കോൺഫിഗറേഷൻ ഉപയോഗിച്ച് /etc/nginx/sites-available/ പാതയിൽ rainloop.lan എന്ന പേരിൽ ഒരു ഫയൽ സൃഷ്uടിക്കുക.

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

ഇനിപ്പറയുന്ന ഫയൽ ഉള്ളടക്കം ചേർക്കുക.

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

തുടർന്ന് SSL തുല്യമായ ഫയൽ ഉള്ളടക്കം സൃഷ്ടിക്കുക.

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

ഇനിപ്പറയുന്ന ഫയൽ ഉള്ളടക്കം ചേർക്കുക.

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

അടുത്ത ഘട്ടത്തിൽ SSL വെർച്വൽ ഹോസ്റ്റിനായി സർട്ടിഫിക്കറ്റ് ഫയലും കീകളും ജനറേറ്റ് ചെയ്യുകയും നിങ്ങളുടെ വെർച്വൽ ഡൊമെയ്ൻ നാമം ചേർക്കുകയും ചെയ്യുക (rainloop.lan) സർട്ടിഫിക്കറ്റിൽ പൊതുനാമം.

$ sudo nginx_gen_ssl.sh

സർuട്ടിഫിക്കറ്റും SSL കീകളും സൃഷ്uടിച്ച ശേഷം, റെയിൻuലൂപ്പ് റൂട്ട് വെബ്uസെർവർ ഫയൽ പാത്ത് (റെയിൻuലൂപ്പ് പിuഎച്ച്uപി ഫയലുകൾ താമസിക്കുന്ന സ്ഥലം) സൃഷ്ടിക്കുക, തുടർന്ന് കോൺഫിഗറേഷനുകൾ പ്രയോഗിക്കുന്നതിന് വെർച്വൽ ഹോസ്റ്റുകൾ പ്രവർത്തനക്ഷമമാക്കി Nginx ഡെമൺ പുനരാരംഭിക്കുക.

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

ഇനിപ്പറയുന്ന ഉള്ളടക്കം ഉപയോഗിച്ച് /etc/httpd/conf/sites-available/ എന്നതിൽ rainloop.conf എന്ന പേരിൽ ഒരു പുതിയ ഫയൽ സൃഷ്uടിക്കുക.

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

ഇനിപ്പറയുന്ന ഫയൽ ഉള്ളടക്കം ചേർക്കുക.

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

തുടർന്ന് അപ്പാച്ചെയ്uക്കായി SSL തുല്യമായ ഫയൽ ഉള്ളടക്കം സൃഷ്uടിക്കുക.

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

ഇനിപ്പറയുന്ന ഫയൽ ഉള്ളടക്കം ചേർക്കുക.

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

അടുത്ത ഘട്ടം SSL വെർച്വൽ ഹോസ്റ്റിനായി SSL സർട്ടിഫിക്കറ്റ് ഫയലും കീകളും സൃഷ്uടിക്കുകയും നിങ്ങളുടെ വെർച്വൽ ഡൊമെയ്uൻ നാമം ചേർക്കുകയുമാണ് (rainloop.lan. ) സർട്ടിഫിക്കറ്റിൽ പൊതുനാമം.

$ sudo apache_gen_ssl

സർട്ടിഫിക്കറ്റും SSL കീകളും സൃഷ്ടിച്ച ശേഷം, റെയിൻലൂപ്പ് DocumentRoot പാത്ത് ചേർക്കുക, തുടർന്ന് വിർച്ച്വൽ ഹോസ്റ്റുകൾ പ്രവർത്തനക്ഷമമാക്കുകയും കോൺഫിഗറേഷനുകൾ പ്രയോഗിക്കുന്നതിന് Apache ഡെമൺ പുനരാരംഭിക്കുകയും ചെയ്യുക.

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

ഘട്ടം 2: ആവശ്യമായ PHP വിപുലീകരണങ്ങൾ ചേർക്കുക

3. നിങ്ങൾ Apache അല്ലെങ്കിൽ Nginx വെബ്uസെർവർ ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങൾ php.ini ഫയലിൽ ഇനിപ്പറയുന്ന PHP വിപുലീകരണങ്ങൾ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്, കൂടാതെ ഇവയും ഉൾപ്പെടുന്നു പുതിയ വെബ്uസെർവർ DocumentRoot open_basedir നിർദ്ദേശത്തിലേക്കുള്ള പാത.

$ sudo nano /etc/php/php.ini

ഇനിപ്പറയുന്ന 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

കൂടാതെ open_basedir പ്രസ്താവന ഇതുപോലെ ആയിരിക്കണം.

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

4. php.ini ഫയൽ പരിഷ്കരിച്ചതിന് ശേഷം, SSL പ്രോട്ടോക്കോളുകൾ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടോ എന്നറിയാൻ phpinfo ഫയൽ പരിശോധിക്കുന്നതിനേക്കാൾ നിങ്ങളുടെ സെർവർ പുനരാരംഭിക്കുക.

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

ഘട്ടം 3: റെയിൻലൂപ്പ് വെബ്uമെയിൽ ഡൗൺലോഡ് ചെയ്ത് ഇൻസ്റ്റാൾ ചെയ്യുക

5. ഔദ്യോഗിക വെബ്uസൈറ്റിൽ നിന്ന് ഡോക്യുമെന്റ് റൂട്ട് ഡയറക്uടറിയിലേക്ക് റെയിൻലൂപ്പ് ആപ്ലിക്കേഷൻ ഡൗൺലോഡ് ചെയ്യാനും എക്uസ്uട്രാക്uറ്റുചെയ്യാനുമുള്ള സമയമാണിത്, എന്നാൽ ആദ്യം wget, unzip സിസ്റ്റം യൂട്ടിലിറ്റികൾ ഇൻസ്റ്റാൾ ചെയ്യുക.

$ sudo pacman -S unzip wget

6. ഏറ്റവും പുതിയ ഉറവിട പാക്കേജ് Rainloop zip ആർക്കൈവ് ഡൗൺലോഡ് ചെയ്യുക wget കമാൻഡ് ഉപയോഗിച്ചോ അല്ലെങ്കിൽ http://rainloop.net/downloads/ എന്നതിലേക്ക് നാവിഗേറ്റ് ചെയ്യാൻ ഒരു ബ്രൗസർ ഉപയോഗിച്ചോ.

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

7. ഡൗൺലോഡ് പ്രോസസ്സ് പൂർത്തിയായ ശേഷം, റെയിൻലൂപ്പ് ആർക്കൈവ് വെർച്വൽ ഹോസ്റ്റ് ഡോക്യുമെന്റ് റൂട്ട് പാതയിലേക്ക് (/srv/www/rainloop/) എക്സ്ട്രാക്റ്റ് ചെയ്യുക.

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

8. തുടർന്ന് ആപ്ലിക്കേഷൻ ഡിഫോൾട്ട് പാത്തിൽ ഇനിപ്പറയുന്ന അനുമതികൾ സജ്ജമാക്കുക.

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

ഘട്ടം 4: വെബ് ഇന്റർഫേസ് വഴി റെയിൻലൂപ്പ് കോൺഫിഗർ ചെയ്യുക

9. റെയിൻലൂപ്പ് ആപ്ലിക്കേഷൻ രണ്ട് തരത്തിൽ ക്രമീകരിക്കാം: ബ്രൗസർ വഴിയുള്ള സിസ്റ്റം ഷെൽ ഉപയോഗിച്ച്. നിങ്ങൾക്ക് ടെർമിനലിലൂടെ കോൺഫിഗർ ചെയ്യണമെങ്കിൽ /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/ എന്നതിൽ സ്ഥിതിചെയ്യുന്ന application.ini ഫയൽ തുറക്കുക.

10. ബ്രൗസറിൽ നിന്ന് അഡ്മിൻ ഇന്റർഫേസ് ആക്uസസ് ചെയ്യാൻ, ഇനിപ്പറയുന്ന URL വിലാസം https://rainloop.lan/?admin ഉപയോഗിക്കുക, തുടർന്ന് ഡിഫോൾട്ട് ആപ്ലിക്കേഷൻ ക്രെഡൻഷ്യലുകൾ നൽകുക.

User= admin
Password= 12345

11. പ്രാരംഭ ലോഗിൻ കഴിഞ്ഞ് സ്ഥിരസ്ഥിതി പാസ്uവേഡ് മാറ്റാൻ നിങ്ങൾക്ക് മുന്നറിയിപ്പ് നൽകും, അതിനാൽ ഇത് ചെയ്യാൻ ഞാൻ നിങ്ങളെ ഉപദേശിക്കുന്നു.

12. നിങ്ങൾക്ക് MySQL ഡാറ്റാബേസിലേക്ക് കോൺടാക്റ്റുകൾ പ്രവർത്തനക്ഷമമാക്കാനും അതിൽ ഒരു പ്രത്യേക ഉപയോക്താവുമായി ഒരു പുതിയ ഡാറ്റാബേസ് സൃഷ്ടിക്കാനും ആഗ്രഹിക്കുന്നുവെങ്കിൽ, കോൺടാക്റ്റുകൾ ഫീൽഡുകളിൽ ഡാറ്റാബേസ് ക്രെഡൻഷ്യലുകൾ നൽകുക.

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. സ്ഥിരസ്ഥിതിയായി റെയിൻലൂപ്പ് Gmail, Yahoo, Outlook എന്നീ ഡൊമെയ്uനുകൾ മെയിൽ സെർവർ കോൺഫിഗറേഷൻ ഫയലുകൾ നൽകുന്നു, എന്നാൽ നിങ്ങൾക്ക് വേണമെങ്കിൽ മറ്റ് മെയിൽ സെർവർ ഡൊമെയ്uനുകൾ ചേർക്കാവുന്നതാണ്.

14. നിങ്ങളുടെ മെയിൽ സെർവറിൽ ലോഗിൻ ചെയ്യാൻ നിങ്ങളുടെ ബ്രൗസർ https://rainloop.lan എന്നതിലേക്ക് പോയി നിങ്ങളുടെ ഡൊമെയ്ൻ സെർവർ ക്രെഡൻഷ്യലുകൾ നൽകുക.

കൂടുതൽ കോൺഫിഗറേഷനുകൾക്കായി ദയവായി http://rainloop.net/docs/ എന്നതിലെ റെയിൻലൂപ്പ് ഡോക്യുമെന്റേഷൻ പേജ് സന്ദർശിക്കുക.

നിങ്ങളുടെ സെർവറിന് ഇന്റർനെറ്റ് കണക്റ്റിവിറ്റി ഉള്ളിടത്തോളം കാലം ബ്രൗസറുള്ള ഏത് ഉപകരണത്തിൽ നിന്നും മെയിൽ സെർവറുകൾ Rainloop ഉപയോഗിച്ച് നിങ്ങൾക്ക് ആക്സസ് ചെയ്യാൻ കഴിയും, ആർച്ച് ലിനക്സിൽ ഇതുവരെ റെയിൻലൂപ്പ് ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്നതിന്റെ ഒരേയൊരു മൈനസ് poppassd പ്ലഗിൻ പാക്കേജിന്റെ അഭാവം മാത്രമാണ്. ഇമെയിൽ അക്കൗണ്ട് പാസ്uവേഡ് മാറ്റാൻ.