Fi sori ẹrọ RainLoop Webmail (Onibara Imeeli Wẹẹbu Wẹẹbu kan) nipa lilo Nginx ati Apache ni Arch Linux


Rainloop jẹ ohun elo wẹẹbu Ṣiṣii Ọfẹ ọfẹ ti a kọ sinu PHP eyiti o pese wiwo wẹẹbu iyara ti o yara lati wọle si awọn imeeli rẹ lori gbogbo awọn olupese ifiweranṣẹ pataki bi Yahoo, Gmail, Outlook ati ọpọlọpọ awọn miiran bii awọn olupin meeli tirẹ, ati, tun, ṣe bi MUA (Oluranlowo Olumulo Meeli) nipa iraye si awọn olupin meeli ase nipasẹ IMAP ati awọn ilana SMTP.

Ni yiyara wo eto oju-iwe demo nipasẹ onkọwe ni http://demo.rainloop.net/.

Ni kete ti o ba ti ran Rainloop sori awọn olupin rẹ ohun kan ti o ku lati ṣe ni lati wọle si agbegbe rẹ Rainloop nipasẹ ẹrọ lilọ kiri lori ayelujara kan ati lati pese awọn iwe-ẹri fun olupin meeli ti o ṣiṣẹ.

Itọsọna yii bo Rainloop ilana fifi sori ẹrọ wẹẹbu lori Arch Linux lati aaye mejeji ti awọn faili iṣeto wiwo fun Apache ati Nginx , lilo ase agbegbe ti o ṣatunṣe nipasẹ faili awọn ọmọ-ogun agbegbe, laisi olupin DNS kan.

Ti o ba tun nilo awọn itọkasi lori fifi sori Rainloop lori awọn ọna Debian ati Red Hat ṣabẹwo si nkan ti RainLoop Webmail ti tẹlẹ.

  1. Fi sori ẹrọ Webmail RainLoop lori Awọn ọna orisun Debian ati Red Hat

  1. Fi sori ẹrọ LEMP (Nginx, PHP, MySQL pẹlu ẹrọ MariaDB ati PhpMyAdmin) ni Arch Linux
  2. Ṣẹda Awọn alejo gbigba foju ni Nginx Web Server

  1. Fi atupa sii (Lainos, Apache, MySQL/MariaDB, ati PHP/PhpMyAdmin) ni Arch Linux

Igbesẹ 1: Ṣẹda Awọn ogun ti o foju fun Nginx tabi Apache

1. A ro pe o ti tunto awọn olupin rẹ ( Nginx tabi Apache ) bi a ti ṣalaye ninu awọn ọna asopọ awọn igbejade ti oke, ohun akọkọ ti o nilo lati ṣe ni lati ṣẹda ipilẹṣẹ Titẹsi DNS si agbegbe awọn alejo faili ti o tọka si Arch Linux eto IP.

Lori eto Linux ṣatunkọ /ati be be/awọn ogun faili ki o ṣafikun agbegbe ibugbe rẹ Rainloop lẹhin titẹsi localhost.

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

Lori satunkọ eto Windows C: Windows Windows System32\awakọ tc\ogun ati ṣafikun ila atẹle ni isalẹ.

192.168.1.33       rainloop.lan

2. Lẹhin ti o ṣayẹwo ijẹrisi agbegbe nipa lilo pipaṣẹ ping , ṣẹda awọn pataki Awọn alejo gbigba foju ati awọn atunto SSL pataki fun Apache tabi Nginx .

Ṣẹda faili ti a npè ni rainloop.lan ni ọna /etc/nginx/ojula-wa/ pẹlu iṣeto atẹle.

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

Ṣafikun akoonu faili atẹle.

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

Lẹhinna ṣẹda akoonu faili deede SSL.

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

Ṣafikun akoonu faili atẹle.

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

Ni igbesẹ ti n tẹle n ṣe ina faili Ijẹrisi ati Awọn bọtini fun SSL Virtual Host ati ṣafikun orukọ ibugbe foju rẹ ( rainloop.lan ) lori Iwe-ẹri Orukọ Wọpọ .

$ sudo nginx_gen_ssl.sh

Lẹhin ti o jẹ ipilẹṣẹ Iwe-ẹri ati awọn bọtini SSL, ṣẹda Rainloop root ọna faili webserver (ibi ti awọn faili Rainloop PHP ngbe), lẹhinna mu Awọn alejo gbigba Foju ṣiṣẹ ki o tun bẹrẹ Nginx daemon lati lo awọn atunto.

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

Ṣẹda faili tuntun ti a npè ni rainloop.conf ni /ati be be/httpd/conf/ojula-wa/ pẹlu akoonu atẹle.

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

Ṣafikun akoonu faili atẹle.

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

Lẹhinna ṣẹda akoonu faili deede SSL fun Apache.

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

Ṣafikun akoonu faili atẹle.

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

Igbesẹ ti n tẹle ni lati ṣẹda SSL ijẹrisi faili ati Awọn bọtini fun SSL Virtual Host ati ṣafikun fi orukọ ìkápá foju rẹ ( rainloop.lan) ) lori Iwe-ẹri Orukọ Wọpọ .

$ sudo apache_gen_ssl

Lẹhin ti a ti ṣẹda Iwe-ẹri ati awọn bọtini SSL, ṣafikun ọna Rainloop DocumentRoot , lẹhinna mu Awọn alejo gbigba Foju ṣiṣẹ ki o tun bẹrẹ daemon Apache lati lo awọn atunto.

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

Igbesẹ 2: Ṣafikun Awọn ifaagun PHP pataki

3. Boya o nlo Apache tabi Nginx webserver, o nilo lati jẹki awọn amugbooro PHP wọnyi lori faili php.ini ati, pẹlu, pẹlu aṣawakiri wẹẹbu tuntun DocumentRoot si itọsọna open_basedir .

$ sudo nano /etc/php/php.ini

Wa ki o ṣoki awọn itẹsiwaju PHP wọnyi.

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

Tun open_basedir gbólóhùn yẹ ki o dabi eleyi.

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

4. Lẹhin ti php.ini faili ti tunṣe tun bẹrẹ olupin rẹ ju ṣayẹwo phpinfo faili lati rii boya awọn ilana SSL ti ṣiṣẹ.

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

Igbesẹ 3: Gbaa lati ayelujara ati Fi sori ẹrọ Webmail RainLoop

5. Bayi o to lati gba lati ayelujara ati jade ohun elo Rainloop lati oju opo wẹẹbu osise si Iwe akọọlẹ Gbongbo ṣugbọn kọkọ fi sori ẹrọ wget ati awọn ohun elo eto unzip .

$ sudo pacman -S unzip wget

6. Ṣe igbasilẹ package orisun tuntun ti Rainloop pelu lilo pipaṣẹ wget tabi nipa lilo aṣawakiri kan lati lilö kiri si http://rainloop.net/downloads/.

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

7. Lẹhin ilana igbasilẹ ti pari, jade ni iwe-akọọlẹ Rainloop si ọna Root Document Gbalejo Foju (/srv/www/rainloop/).

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

8. Lẹhinna ṣeto awọn igbanilaaye wọnyi lori ọna aiyipada ohun elo.

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

Igbesẹ 4: Tunto Rainloop nipasẹ Ọlọpọọmídíà Wẹẹbu

9. Ohun elo Rainloop le jẹ tunto ni awọn ọna meji: lilo ikarahun eto ti nipasẹ ẹrọ lilọ kiri ayelujara. Ti o ba fẹ tunto lori ṣiṣi ebute ati satunkọ application.ini faili ti o wa ni /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Lati wọle si Ọlọpọọmídíà Ọlọpọọmídíà lati aṣàwákiri, lo adirẹsi URL wọnyi https: //rainloop.lan/? Admin , lẹhinna pese awọn ẹri ohun elo aiyipada.

User= admin
Password= 12345

11. Lẹhin iwọle akọkọ ti iwọ yoo kilọ lati yi ọrọ igbaniwọle aiyipada pada, nitorinaa Mo gba ọ ni imọran lati ṣe.

12. Ti o ba fẹ mu ṣiṣẹ awọn olubasọrọ buwolu wọle si ibi ipamọ data MySQL ki o ṣẹda ipilẹ data tuntun pẹlu olumulo ti o ni anfani lori rẹ, lẹhinna pese awọn iwe-ẹri data lori awọn aaye Awọn olubasọrọ .

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. Nipa aiyipada Rainloop n pese Gmail , Yahoo ati Outlook awọn ibugbe awọn faili iṣeto olupin olupin, ṣugbọn o le ṣafikun awọn ibugbe olupin meeli miiran ti o ba fẹ.

14. Lati buwolu wọle lori olupin meeli rẹ tọka aṣawakiri rẹ si https: //rainloop.lan ki o pese awọn iwe-ẹri olupin olupin rẹ.

Fun awọn atunto siwaju jọwọ jọwọ lọsi oju-iwe iwe aṣẹ Rainloop osise ni http://rainloop.net/docs/.

Pẹlu Rainloop o le wọle si awọn olupin meeli lati eyikeyi ẹrọ ti o ni ẹrọ aṣawakiri bi igba ti olupin rẹ ba ni isopọmọ Intanẹẹti, iyokuro nikan ti lilo ohun elo Rainloop ni Arch Linux titi di asiko yii ni aini poppassd ohun elo itanna ti o nilo lati yi ọrọ igbaniwọle iroyin imeeli pada.