Sakinisha RainLoop Webmail (Mteja wa Barua Pepe Kulingana na Wavuti) kwa kutumia Nginx na Apache katika Arch Linux


Rainloop ni programu ya wavuti isiyolipishwa ya Open Source iliyoandikwa katika PHP ambayo hutoa kiolesura cha kisasa cha haraka cha kufikia barua pepe zako kwenye watoa huduma wakuu wa barua za kikoa kama vile Yahoo, Gmail, Outlook na wengine wengi pamoja na seva zako za barua pepe za ndani, na, pia, hufanya kazi kama MUA (Wakala wa Mtumiaji wa Barua) kwa kufikia seva za barua za kikoa kupitia itifaki za IMAP na SMTP.

Angalia kwa haraka usanidi wa ukurasa wa onyesho na mwandishi katika http://demo.rainloop.net/.

Mara tu unapotuma programu ya Rainloop kwenye seva zako, jambo pekee linalosalia kufanya ni kufikia kikoa chako cha Rainloop kupitia kivinjari cha wavuti na kutoa vitambulisho kwa seva yako ya barua pepe ya kikoa iliyowezeshwa.

Mafunzo haya yanahusu Rainloop mchakato wa usakinishaji wa barua pepe kwenye Arch Linux kutoka kwa faili zote mbili za usanidi wa sehemu ya kutazama za Apache na Nginx, kwa kutumia kikoa pepe cha ndani kilichosanidiwa kupitia faili ya mwenyeji wa ndani, bila seva ya DNS.

Ikiwa unahitaji pia marejeleo ya kusakinisha Rainloop kwenye mifumo ya Debian na Red Hat tembelea makala ya awali ya RainLoop Webmail.

  1. Sakinisha RainLoop Webmail kwenye Mifumo ya Debian na Red Hat

  1. Sakinisha LEMP (Nginx, PHP, MySQL na injini ya MariaDB na PhpMyAdmin) katika Arch Linux
  2. Unda Wapangishi Pepe katika Seva ya Wavuti ya Nginx

  1. Sakinisha LAMP (Linux, Apache, MySQL/MariaDB, na PHP/PhpMyAdmin) katika Arch Linux

Hatua ya 1: Unda Majeshi Virtual kwa Nginx au Apache

1. Kwa kuchukulia kuwa umesanidi seva zako (Nginx au Apache) kama ilivyofafanuliwa katika viungo vya juu vya mawasilisho, jambo la kwanza unahitaji kufanya ni kuunda rudimentary Ingizo la DNS kwenye wapangishi wa karibu faili unaoelekeza kwenye Arch Linux IP ya mfumo.

Kwenye mfumo wa Linux hariri faili ya /etc/hosts na ujumuishe kikoa chako pepe cha Rainloop baada ya kuingiza mwenyeji.

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

Kwenye mfumo wa Windows hariri C:\Windows\System32\drivers\etc\hosts na uongeze laini ifuatayo chini.

192.168.1.33       rainloop.lan

2. Baada ya kuthibitisha kikoa cha ndani kwa kutumia amri ya ping, unda Wapaji halisi na SSL usanidi unaohitajika wa Apache au Nginx.

Unda faili iitwayo rainloop.lan katika /etc/nginx/sites-available/ njia na usanidi ufuatao.

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

Ongeza yaliyomo kwenye faili ifuatayo.

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

Kisha unda yaliyomo kwenye faili sawa ya SSL.

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

Ongeza yaliyomo kwenye faili ifuatayo.

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

Katika hatua inayofuata, tengeneza faili Cheti na Vifunguo vya SSL Virtual Host na uongeze jina la kikoa chako pepe (rainloop.lan >) kwenye Cheti Jina la Kawaida.

$ sudo nginx_gen_ssl.sh

Baada ya vitufe vya Cheti na SSL kutengenezwa, unda njia ya faili ya Rainloop root ya faili ya seva ya wavuti ( mahali ambapo faili za Rainloop PHP zinakaa), kisha uwashe Wapangishi Mtandaoni na uwashe upya daemon ya Nginx ili kuweka mipangilio.

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

Unda faili mpya iitwayo rainloop.conf katika /etc/httpd/conf/sites-available/ yenye maudhui yafuatayo.

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

Ongeza yaliyomo kwenye faili ifuatayo.

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

Kisha unda yaliyomo kwenye faili sawa ya SSL kwa Apache.

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

Ongeza yaliyomo kwenye faili ifuatayo.

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

Hatua inayofuata ni kuunda Cheti cha SSL faili na Vifunguo vya SSL Virtual Host na kuongeza weka jina la kikoa chako pepe (rainloop.lan ) kwenye Cheti Jina la Kawaida.

$ sudo apache_gen_ssl

Baada ya funguo za Cheti na SSL kuundwa, ongeza njia ya Rainloop DocumentRoot, kisha uwashe Wapangishi Mtandaoni na uwashe upya daemon ya Apache ili kuweka mipangilio.

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

Hatua ya 2: Ongeza Viendelezi muhimu vya PHP

3. Iwe unatumia Apache au Nginx seva ya tovuti, unahitaji kuwezesha viendelezi vifuatavyo vya PHP kwenye faili ya php.ini na, pia, ujumuishe. njia mpya ya DocumentRoot ya webserver ya open_basedir maelekezo.

$ sudo nano /etc/php/php.ini

Pata na uondoe maoni kwa viendelezi vifuatavyo vya 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

Pia open_basedir taarifa inapaswa kuonekana kama hii.

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

4. Baada ya faili ya php.ini kurekebishwa anzisha upya seva yako kuliko kuangalia faili ya phpinfo ili kuona ikiwa itifaki za SSL zimewashwa.

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

Hatua ya 3: Pakua na Usakinishe RainLoop Webmail

5. Sasa ni wakati wa kupakua na kutoa programu ya Rainloop kutoka kwa tovuti rasmi hadi saraka ya Document Root lakini kwanza usakinishe wget na unzip huduma za mfumo.

$ sudo pacman -S unzip wget

6. Pakua hifadhi ya chanzo ya hivi punde ya Rainloop zip kwa kutumia wget amri au kwa kutumia kivinjari kwenda kwa http://rainloop.net/downloads/.

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

7. Baada ya mchakato wa upakuaji kukamilika, toa kumbukumbu ya Rainloop kwenye njia ya Mizizi ya Hati ya Mpangishi Mtandaoni ( /srv/www/rainloop/ ).

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

8. Kisha weka ruhusa zifuatazo kwenye njia chaguo-msingi ya programu.

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

Hatua ya 4: Sanidi Rainloop kupitia Kiolesura cha Wavuti

9. Programu ya Rainloop inaweza kusanidiwa kwa njia mbili: kwa kutumia shell ya mfumo wa kupitia kivinjari. Iwapo ungependa kusanidi kupitia terminal fungua na uhariri application.ini faili iliyo katika /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Ili kufikia Kiolesura cha Msimamizi kutoka kwa kivinjari, tumia anwani ya URL ifuatayo https://rainloop.lan/?admin, kisha utoe kitambulisho chaguomsingi cha programu.

User= admin
Password= 12345

11. Baada ya kuingia kwa awali utaonywa kubadili nenosiri la msingi, kwa hiyo nakushauri uifanye.

12. Ikiwa ungependa kuwezesha anwani kuingia kwenye hifadhidata ya MySQL na kuunda hifadhidata mpya iliyo na mtumiaji aliyebahatika juu yake, kisha toa kitambulisho cha hifadhidata kwenye sehemu za Anwani.

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. Kwa chaguo-msingi Rainloop hutoa Gmail, Yahoo na Outlook faili za usanidi za seva ya barua pepe, lakini unaweza kuongeza vikoa vingine vya seva ya barua ukipenda.

14. Ili kuingia kwenye seva yako ya barua elekeza kivinjari chako kwa https://rainloop.lan na utoe vitambulisho vya seva ya kikoa chako.

Kwa usanidi zaidi tafadhali tembelea ukurasa rasmi wa hati wa Rainloop katika http://rainloop.net/docs/.

Ukiwa na Rainloop unaweza kufikia seva za barua kutoka kwa kifaa chochote kilicho na kivinjari mradi tu seva yako ina muunganisho wa Mtandao, minus pekee ya kutumia programu ya Rainloop katika Arch Linux kufikia sasa ni ukosefu wa poppassd kifurushi cha programu-jalizi kinachohitajika. kubadilisha nenosiri la akaunti ya barua pepe.