ຕິດຕັ້ງ RainLoop Webmail (Web Client Email Client) ໂດຍໃຊ້ Nginx ແລະ Apache ໃນ Arch Linux


Rainloop ແມ່ນໂປແກຼມ Open Source ທີ່ບໍ່ເສຍຄ່າທີ່ຂຽນໄວ້ໃນ PHP ເຊິ່ງໃຫ້ອິນເຕີເຟດເວບໄຊທ໌ທີ່ທັນສະ ໄໝ ເພື່ອເຂົ້າເຖິງອີເມວຂອງທ່ານໃນຜູ້ໃຫ້ບໍລິການຈົດ ໝາຍ ໂດເມນທີ່ ສຳ ຄັນທັງ ໝົດ ເຊັ່ນ Yahoo, Gmail, Outlook ແລະອີກຫລາຍໆຢ່າງເຊັ່ນດຽວກັນກັບ server mail ຂອງທ່ານເອງແລະ, ເຮັດຫນ້າທີ່ເປັນ MUA (ຕົວແທນຜູ້ໃຊ້ອີເມວ) ໂດຍການເຂົ້າເຖິງເຄື່ອງແມ່ຂ່າຍເມລໂດເມນຜ່ານ IMAP ແລະ SMTP ໂປໂຕຄອນ.

ເບິ່ງທີ່ ໜ້າ ການສາທິດການຕັ້ງ ໜ້າ ໂດຍຜູ້ຂຽນທີ່ http://demo.rainloop.net/.

ເມື່ອທ່ານເຜີຍແຜ່ Rainloop ໃນເຄື່ອງແມ່ຂ່າຍຂອງທ່ານສິ່ງດຽວທີ່ຕ້ອງເຮັດກໍ່ຄືການເຂົ້າເຖິງໂດເມນ Rainloop ຂອງທ່ານຜ່ານໂປແກຼມທ່ອງເວັບແລະໃຫ້ຂໍ້ມູນປະ ຈຳ ຕົວ ສຳ ລັບເຄື່ອງແມ່ຂ່າຍເມລໂດເມນທີ່ເປີດໃຊ້ງານຂອງທ່ານ.

ບົດແນະ ນຳ ນີ້ລວມເຖິງ Rainloop ຂັ້ນຕອນການຕິດຕັ້ງ webmail ໃນ Arch Linux ຈາກທັງສອງຈຸດຂອງໄຟລ໌ການຕັ້ງຄ່າການເບິ່ງ ສຳ ລັບ Apache ແລະ Nginx , ໃຊ້ໂດເມນທ້ອງຖິ່ນແບບເສມືນຕັ້ງຄ່າຜ່ານແຟ້ມໂຮດໃນທ້ອງຖິ່ນ, ໂດຍບໍ່ຕ້ອງມີເຄື່ອງແມ່ຂ່າຍ DNS.

ຖ້າທ່ານຍັງຕ້ອງການການອ້າງອີງກ່ຽວກັບການຕິດຕັ້ງ Rainloop ໃນລະບົບ Debian ແລະ Red Hat ຢ້ຽມຢາມບົດຂຽນກ່ອນ ໜ້າ ນີ້ຂອງ RainLoop Webmail ທີ່.

<

  • ຕິດຕັ້ງ RainLoop Webmail ໃນລະບົບທີ່ອີງໃສ່ Debian ແລະ Red Hat
  • <

  • ຕິດຕັ້ງ LEMP (Nginx, PHP, MySQL ກັບເຄື່ອງຈັກ MariaDB ແລະ PhpMyAdmin) ໃນ Arch Linux
  • ສ້າງ Virtual Hosts ໃນ Nginx Web Server
  • <

  • ຕິດຕັ້ງ LAMP (Linux, Apache, MySQL/MariaDB, ແລະ PHP/PhpMyAdmin) ໃນ Arch Linux
  • ຂັ້ນຕອນທີ 1: ສ້າງ Virtual Hosts ສຳ ລັບ Nginx ຫຼື Apache

    1. ສົມມຸດວ່າທ່ານໄດ້ຕັ້ງຄ່າເຊີບເວີຂອງທ່ານ ( Nginx ຫຼື Apache ) ດັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນບັນດາການເຊື່ອມຕໍ່ ນຳ ສະ ເໜີ ຢູ່ເທິງ, ສິ່ງ ທຳ ອິດທີ່ທ່ານຕ້ອງເຮັດຄືການສ້າງພື້ນຖານການ ນຳ ໃຊ້ ການເຂົ້າສູ່ລະບົບ DNS ໃນເອກະສານ ເຈົ້າຂອງທ້ອງຖິ່ນ ທີ່ຊີ້ໄປທີ່ Arch Linux ລະບົບ IP.

    ໃນລະບົບ Linux ແກ້ໄຂ /etc/hosts file ແລະລວມເອົາໂດເມນ virtual ຂອງ Rainloop ຂອງທ່ານຫຼັງຈາກທີ່ localhost ເຂົ້າມາ.

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

    ໃນການແກ້ໄຂລະບົບ Windows C:\Windows\System32\drivers\etc\hosts ແລະເພີ່ມແຖວຕໍ່ໄປນີ້ຢູ່ທາງລຸ່ມ.

    192.168.1.33       rainloop.lan

    2. ຫຼັງຈາກທີ່ທ່ານກວດສອບໂດເມນທ້ອງຖິ່ນໂດຍໃຊ້ ຄຳ ສັ່ງ ping , ສ້າງທີ່ ຈຳ ເປັນ Virtual Hosts ແລະ SSL ການຕັ້ງຄ່າ ສຳ ລັບ Apache ຫຼື Nginx .

    ສ້າງແຟ້ມເອກະສານທີ່ມີຊື່ວ່າ rainloop.lan ໃນ /etc/nginx/sites-available/ path ທີ່ມີການຕັ້ງຄ່າຕໍ່ໄປນີ້.

    $ 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 Virtual Host ແລະເພີ່ມຊື່ໂດເມນ virtual ຂອງທ່ານ ( rainloop.lan >) ໃນໃບຢັ້ງຢືນ ຊື່ສາມັນ .

    $ sudo nginx_gen_ssl.sh

    ຫຼັງຈາກທີ່ໃບຢັ້ງຢືນແລະລະຫັດ SSL ຖືກສ້າງຂຶ້ນ, ສ້າງເສັ້ນທາງໄຟລ໌ Rainloop ຮາກ webserver (ສະຖານທີ່ບ່ອນທີ່ໄຟລ໌ Rainloop PHP ຢູ່), ຫຼັງຈາກນັ້ນເປີດໃຊ້ Virtual Hosts ແລະເລີ່ມ Nginx daemon ເພື່ອ ນຳ ໃຊ້ການຕັ້ງຄ່າ.

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

    ສ້າງແຟ້ມເອກະສານ ໃໝ່ ທີ່ມີຊື່ວ່າ rainloop.conf ໃນ /etc/httpd/conf/sites-available/ ດ້ວຍເນື້ອຫາຕໍ່ໄປນີ້.

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

    ຈາກນັ້ນສ້າງເນື້ອຫາເອກະສານ SSL ທີ່ທຽບເທົ່າກັບ SSL ສຳ ລັບ Apache.

    $ 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 Virtual Host ແລະເພີ່ມໃສ່ຊື່ໂດເມນເສມືນຂອງທ່ານ ( rainloop.lan ) ໃນໃບຢັ້ງຢືນ ຊື່ສາມັນ .

    $ sudo apache_gen_ssl

    ຫຼັງຈາກທີ່ໃບຢັ້ງຢືນແລະ SSL ຖືກສ້າງຂື້ນມາ, ໃຫ້ຕື່ມເສັ້ນທາງ Rainloop DocumentRoot , ຫຼັງຈາກນັ້ນເປີດໃຊ້ Virtual Hosts ແລະເລີ່ມ daemon Apache ໃໝ່ ເພື່ອ ນຳ ໃຊ້ການຕັ້ງຄ່າ.

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

    ຂັ້ນຕອນທີ 2: ເພີ່ມການຂະຫຍາຍ PHP ທີ່ ຈຳ ເປັນ

    3. ບໍ່ວ່າທ່ານ ກຳ ລັງໃຊ້ Apache ຫຼື Nginx webserver, ທ່ານຕ້ອງການເປີດໃຊ້ໂປແກຼມ PHP ຕໍ່ໄປນີ້ໃນ php.ini ແລະ, ລວມທັງ ຜູ້ ນຳ ທາງເວັບ ໃໝ່ 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 ທີ່ຢູ່ເອກະສານຖືກແກ້ໄຂແລ້ວໃຫ້ເລີ່ມຕົ້ນເຊີບເວີຂອງທ່ານຄືນ ໃໝ່ ກ່ວາກວດເບິ່ງ phpinfo ເພື່ອເບິ່ງວ່າໂປແກຼມ SSL ຖືກເປີດໃຊ້ງານຫຼືບໍ່.

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

    ຂັ້ນຕອນທີ 3: ດາວໂຫລດແລະຕິດຕັ້ງ RainLoop Webmail

    5. ດຽວນີ້ເຖິງເວລາແລ້ວທີ່ທ່ານຈະດາວໂຫລດແລະສະກັດເອົາແອັບພລິເຄຊັນ Rainloop ຈາກເວັບໄຊທ໌ທາງການໄປຫາໄດເລກະທໍລີ Document Root ແຕ່ກ່ອນຕິດຕັ້ງ wget ແລະ ການປິດລະບົບ ເຄື່ອງໃຊ້ຕ່າງໆ.

    $ sudo pacman -S unzip wget

    6. ດາວໂຫລດຊຸດຮວບຮວມແຫຼ່ງຂໍ້ມູນຫຼ້າສຸດຂອງ Rainloop ໂດຍໃຊ້ wget ຫຼືໂດຍໃຊ້ browser ເພື່ອ ນຳ ທາງໄປທີ່ http://rainloop.net/downloads/.

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

    7. ຫຼັງຈາກຂະບວນການດາວໂຫລດສິ້ນສຸດລົງ, ຮວບຮວມຮວບຮວມ Rainloop ເຂົ້າສູ່ເສັ້ນທາງ Virtual Host Document Root (/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: ຕັ້ງຄ່າ Rainloop ຜ່ານ Web Interface

    9. ໂປແກມ Rainloop ສາມາດຕັ້ງຄ່າໄດ້ສອງທາງ: ການ ນຳ ໃຊ້ຫອຍລະບົບຂອງຜ່ານ browser. ຖ້າທ່ານຕ້ອງການ ກຳ ນົດຄ່າທີ່ເປີດແລະ ກຳ ນົດແກ້ໄຂເອກະສານ application.ini ທີ່ຢູ່ໃນ /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

    10. ເພື່ອເຂົ້າຫາການໂຕ້ຕອບຂອງ Admin ຈາກ browser, ໃຫ້ໃຊ້ທີ່ຢູ່ URL ຕໍ່ໄປນີ້ https: //rainloop.lan/? admin , ຫຼັງຈາກນັ້ນໃຫ້ຂໍ້ມູນປະ ຈຳ ໃບສະ ໝັກ.

    User= admin
    Password= 12345

    11. ຫຼັງຈາກເຂົ້າສູ່ລະບົບເບື້ອງຕົ້ນທ່ານຈະໄດ້ຮັບການເຕືອນໃຫ້ປ່ຽນລະຫັດຜ່ານແບບເດີມ, ສະນັ້ນຂ້າພະເຈົ້າແນະ ນຳ ໃຫ້ທ່ານເຮັດ.

    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. ໂດຍຄ່າເລີ່ມຕົ້ນ Rainloop ໃຫ້ Gmail , Yahoo ແລະ Outlook ທີ່ຢູ່ແຟ້ມເອກະສານການຕັ້ງຄ່າຂອງ server, ແຕ່ທ່ານສາມາດເພີ່ມໂດເມນຂອງ server server ຖ້າທ່ານຕ້ອງການ.

    14. ເພື່ອເຂົ້າສູ່ລະບົບໃນເຄື່ອງແມ່ຂ່າຍເມລຂອງທ່ານຊີ້ໃຫ້ຕົວທ່ອງເວັບຂອງທ່ານໄປ https: //rainloop.lan ແລະໃຫ້ຂໍ້ມູນຄວາມສາມາດຂອງເຄື່ອງແມ່ຂ່າຍຂອງໂດເມນຂອງທ່ານ.

    ສຳ ລັບການ ກຳ ນົດເພີ່ມເຕີມກະລຸນາເຂົ້າເບິ່ງ ໜ້າ ເອກະສານ Rainloop ຢ່າງເປັນທາງການທີ່ http://rainloop.net/docs/.

    ດ້ວຍ Rainloop ທ່ານສາມາດເຂົ້າເຖິງເຄື່ອງແມ່ຂ່າຍເມລຈາກອຸປະກອນຕ່າງໆທີ່ມີໂປແກຼມທ່ອງເວັບຕາບໃດທີ່ເຄື່ອງແມ່ຂ່າຍຂອງທ່ານມີການເຊື່ອມຕໍ່ອິນເຕີເນັດ, ພຽງແຕ່ການໃຊ້ເວລາພຽງແຕ່ການ ນຳ ໃຊ້ໂປແກຼມ Rainloop ໃນ Arch Linux ເທົ່ານັ້ນຈົນເຖິງປະຈຸບັນນີ້ການຂາດ poppassd ຊຸດແພັກເກັດທີ່ ຈຳ ເປັນ ປ່ຽນລະຫັດຜ່ານບັນຊີອີເມວ.