Asenna RainLoop Webmail (verkkopohjainen sähköpostiohjelma) käyttämällä "Nginxiä ja Apachea" Arch Linuxissa


Rainloop on ilmainen PHP:llä kirjoitettu avoimen lähdekoodin verkkosovellus, joka tarjoaa nopean ja modernin verkkokäyttöliittymän, jolla voit käyttää sähköpostejasi kaikilla tärkeimmillä verkkotunnuksen sähköpostipalveluntarjoajilla, kuten Yahoolla, Gmaililla, Outlookilla ja monilla muilla, sekä omilla paikallisilla sähköpostipalvelimillasi sekä toimii MUA:na (Mail User Agent) käyttämällä verkkoalueen sähköpostipalvelimia IMAP- ja SMTP-protokollien kautta.

RainLoop demo

Katso nopeasti kirjoittajan esittelysivun asetukset osoitteessa http://demo.rainloop.net/.

Kun olet ottanut Rainloopin käyttöön palvelimillesi, sinun tarvitsee vain käyttää Rainloop-verkkotunnustasi verkkoselaimen kautta ja antaa käyttöön otetun verkkotunnuksesi sähköpostipalvelimen tunnistetiedot.

Tämä opetusohjelma kattaa Rainloop-verkkosähköpostin asennusprosessin Arch Linuxissa sekä Apachen että Nginx-määritystiedostojen näkökulmasta. käyttämällä virtuaalista paikallista toimialuetta, joka on määritetty paikallisen isäntätiedoston kautta, ilman DNS-palvelinta.

Jos tarvitset myös viitteitä Rainloopin asentamisesta Debian- ja Red Hat -järjestelmiin, tutustu edelliseen RainLoop Webmail -artikkeliin osoitteessa.

  1. Asenna RainLoop Webmail Debian- ja Red Hat -pohjaisiin järjestelmiin

Vaatimukset

Nginxille
  1. Asenna LEMP (Nginx, PHP, MySQL MariaDB-moottorilla ja PhpMyAdmin) Arch Linuxiin
  2. Luo virtuaalisia isäntiä Nginx-verkkopalvelimessa
Apachelle
  1. Asenna LAMP (Linux, Apache, MySQL/MariaDB ja PHP/PhpMyAdmin) Arch Linuxiin

Vaihe 1: Luo virtuaalipalvelimet Nginxille tai Apachelle

1. Olettaen, että olet määrittänyt palvelimesi (Nginx tai Apache) esitysten ylemmissä linkeissä kuvatulla tavalla, sinun on ensin tehtävä luodaksesi alkeellisen DNS-merkinnän paikalliseen hosts-tiedostoon, joka osoittaa Arch Linux -järjestelmän IP-osoitteeseen.

Muokkaa Linux-järjestelmässä /etc/hosts-tiedostoa ja lisää Rainloop-virtuaaliverkkotunnuksesi localhost-merkinnän jälkeen.

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

Muokkaa Windows-järjestelmässä C:\Windows\System32\drivers\etc\hosts ja lisää seuraava rivi alareunaan.

192.168.1.33       rainloop.lan

2. Kun olet vahvistanut paikallisen verkkotunnuksen ping-komennolla, luo tarvittavat Virtual Hosts- ja SSL-määritykset verkkotunnukselle Apache tai Nginx.

Nginx-virtuaalipalvelimet

Luo tiedosto nimeltä rainloop.lan polulle /etc/nginx/sites-available/ seuraavilla määrityksillä.

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

Lisää seuraava tiedostosisältö.

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

Luo sitten SSL-vastaava tiedostosisältö.

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

Lisää seuraava tiedostosisältö.

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

Luo seuraavassa vaiheessa varmenne-tiedosto ja avaimet SSL-virtuaalipalvelimelle ja lisää virtuaalinen verkkotunnuksesi nimi (rainloop.lan). >) sertifikaatissa Yleinen nimi.

sudo nginx_gen_ssl.sh

Kun varmenne- ja SSL-avaimet on luotu, luo Rainloopin juuri-verkkopalvelimen tiedostopolku (paikka, jossa Rainloop PHP -tiedostot sijaitsevat), ota sitten käyttöön Virtual Hosts ja käynnistä Nginx-daemon uudelleen määrityksiä varten.

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

Apache-virtuaalipalvelimet

Luo uusi tiedosto nimeltä rainloop.conf osoitteessa /etc/httpd/conf/sites-available/, jossa on seuraava sisältö.

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

Lisää seuraava tiedostosisältö.

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

Luo sitten SSL-vastaava tiedostosisältö Apachelle.

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

Lisää seuraava tiedostosisältö.

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

Seuraava vaihe on luoda SSL-sertifikaatti-tiedosto ja avaimet SSL-virtuaalipalvelimelle ja lisätä virtuaalinen verkkotunnuksesi nimi (rainloop.lan). ) sertifikaatissa Yleinen nimi.

sudo apache_gen_ssl

Kun varmenne- ja SSL-avaimet on luotu, lisää Rainloopin DocumentRoot-polku, ota sitten käyttöön Virtual Hosts ja käynnistä Apache-daemon uudelleen määrityksiä varten.

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

Vaihe 2: Lisää tarvittavat PHP-laajennukset

3. Käytitpä Apachea tai Nginx-verkkopalvelinta, sinun on otettava käyttöön seuraavat PHP-laajennukset osoitteessa php.ini tiedosto ja myös uusi verkkopalvelimen DocumentRoot-polku open_basedir-käskyyn.

sudo nano /etc/php/php.ini

Etsi seuraavat PHP-laajennukset ja poista niiden kommentit.

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

Myös open_basedir-lauseen pitäisi näyttää tältä.

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

4. Kun php.ini-tiedostoa on muokattu, käynnistä palvelimesi uudelleen ja tarkista, onko SSL-protokolla ovat käytössä.

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

Vaihe 3: Lataa ja asenna RainLoop Webmail

5. Nyt on aika ladata ja purkaa Rainloop-sovellus viralliselta verkkosivustolta Document Root -hakemistoon, mutta asenna ensin wget- ja unzip-järjestelmäapuohjelmat.

sudo pacman -S unzip wget

6. Lataa uusin lähdepaketti Rainloop zip -arkisto käyttämällä wget-komentoa tai siirtymällä selaimella osoitteeseen http://rainloop.net/downloads/.

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

7. Kun latausprosessi on valmis, pura Rainloop-arkisto Virtual Host -asiakirjan juuripolkuun ( /srv/www/rainloop/ ).

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

8. Aseta sitten seuraavat käyttöoikeudet sovelluksen oletuspolulle.

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

Vaihe 4: Määritä Rainloop verkkoliittymän kautta

9. Rainloop-sovellus voidaan määrittää kahdella tavalla: käyttämällä järjestelmän kuorta selaimen kautta. Jos haluat määrittää asetukset päätteen kautta, avaa ja muokkaa application.ini-tiedostoa, joka sijaitsee osoitteessa /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.

10. Päästäksesi järjestelmänvalvojan käyttöliittymään selaimella, käytä seuraavaa URL-osoitetta https://rainloop.lan/?admin ja anna sitten oletussovelluksen tunnistetiedot.

User= admin
Password= 12345

11. Ensimmäisen sisäänkirjautumisen jälkeen sinua varoitetaan vaihtamaan oletussalasana, joten suosittelen sinua tekemään sen.

12. Jos haluat sallia yhteystietojen kirjautumisen MySQL-tietokantaan ja luoda uuden tietokannan, jossa on etuoikeutettu käyttäjä, anna tietokannan tunnistetiedot yhteystiedoissa > kentät.

mysql -u root -p
create database if not exists rainloop;
create user rainloop_user@localhost identified by “password”;
grant all privileges on rainloop.* to rainloop_user@localhost;
flush privileges;
exit;

13. Rainloop tarjoaa oletuksena Gmailin, Yahoo- ja Outlook-verkkotunnusten sähköpostipalvelimen määritystiedostoja, mutta voit lisätä muitakin sähköpostipalvelimen verkkotunnuksia, jos haluat.

14. Kirjaudu sisään sähköpostipalvelimellesi osoittamalla selaimesi osoitteeseen https://rainloop.lan ja antamalla verkkotunnuksesi palvelimen tunnistetiedot.

Lisämäärityksiä varten vieraile virallisella Rainloopin dokumentaatiosivulla osoitteessa http://rainloop.net/docs/.

Rainloopin avulla voit käyttää sähköpostipalvelimia miltä tahansa laitteelta, jossa on selain, kunhan palvelimellasi on Internet-yhteys, ainoa miinus Rainloop-sovelluksen käytöstä Arch Linuxissa tähän mennessä on tarvittavan poppassd-laajennuspaketin puute. vaihtaaksesi sähköpostitilin salasanan.