Installer RainLoop Webmail (en nettbasert e-postklient) ved å bruke 'Nginx og Apache' i Arch Linux
Rainloop er en gratis åpen kildekode-nettapplikasjon skrevet i PHP som gir et raskt moderne nettgrensesnitt for å få tilgang til e-postene dine på alle store domenepostleverandører som Yahoo, Gmail, Outlook og mange andre, så vel som dine egne lokale e-postservere, og også, fungerer som en MUA (Mail User Agent) ved å få tilgang til domenepostservere gjennom IMAP- og SMTP-protokoller.
RainLoop-demo
Ta en rask titt på demosideoppsettet av forfatteren på http://demo.rainloop.net/.
Når du har distribuert Rainloop på serverne dine, er det eneste som gjenstår å få tilgang til Rainloop-domenet ditt via en nettleser og oppgi legitimasjon for din aktiverte domene-e-postserver.
Denne opplæringen dekker installasjonsprosessen for Rainloop webmail på Arch Linux fra begge konfigurasjonsfiler for Apache og Nginx, ved å bruke et virtuelt lokalt domene konfigurert gjennom en lokal vertsfil, uten en DNS-server.
Hvis du også trenger referanser for å installere Rainloop på Debian og Red Hat-systemer, besøk den forrige RainLoop Webmail-artikkelen på.
- Installer RainLoop Webmail på Debian- og Red Hat-baserte systemer
Krav
For Nginx
- Installer LEMP (Nginx, PHP, MySQL med MariaDB-motor og PhpMyAdmin) i Arch Linux
- Opprett virtuelle verter i Nginx Web Server
For Apache
- Installer LAMP (Linux, Apache, MySQL/MariaDB og PHP/PhpMyAdmin) i Arch Linux
Trinn 1: Lag virtuelle verter for Nginx eller Apache
1. Forutsatt at du har konfigurert serverne (Nginx eller Apache) som beskrevet i øvre presentasjonskoblinger, er det første du må gjøre for å lage en rudimentær DNS-oppføring på lokal hosts-fil som peker til Arch Linux system-IP.
Rediger /etc/hosts-filen på et Linux-system og inkluder det virtuelle Rainloop-domenet ditt etter oppføring av localhost.
127.0.0.1 localhost.localdomain localhost rainloop.lan
192.168.1.33 rainloop.lan
På Windows-system rediger C:\Windows\System32\drivers\etc\hosts og legg til følgende linje nederst.
192.168.1.33 rainloop.lan
2. Etter at du har bekreftet lokalt domene ved hjelp av kommandoen ping, oppretter du de nødvendige Virtual Hosts- og SSL-konfigurasjonene for Apache eller Nginx.
Nginx virtuelle verter
Opprett en fil med navnet rainloop.lan i /etc/nginx/sites-available/ banen med følgende konfigurasjon.
sudo nano /etc/nginx/sites-available/rainloop.conf
Legg til følgende filinnhold.
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;
}
}
Deretter oppretter du det tilsvarende SSL-filinnholdet.
sudo nano /etc/nginx/sites-available/rainloop-ssl.conf
Legg til følgende filinnhold.
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;
}
}
På neste trinn generer du Sertifikat-fil og nøkler for SSL Virtual Host og legg til ditt virtuelle domenenavn (rainloop.lan >) på sertifikatet Fellesnavn.
sudo nginx_gen_ssl.sh
Etter at sertifikatet og SSL-nøklene er generert, oppretter du Rainloop root webserver filbane (sted der Rainloop PHP-filer ligger), og deretter aktiverer Virtual Hosts og start Nginx daemon på nytt for å bruke konfigurasjoner.
sudo mkdir -p /srv/www/rainloop
sudo n2ensite rainloop
sudo n2ensite rainloop-ssl
sudo systemctl restart nginx
Apache virtuelle verter
Opprett en ny fil kalt rainloop.conf i /etc/httpd/conf/sites-available/ med følgende innhold.
sudo nano /etc/httpd/conf/sites-available/rainloop.conf
Legg til følgende filinnhold.
<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>
Opprett deretter SSL-ekvivalent filinnhold for Apache.
sudo nano /etc/httpd/conf/sites-available/rainloop-ssl.conf
Legg til følgende filinnhold.
<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>
Det neste trinnet er å opprette SSL-sertifikat-fil og nøkler for SSL Virtual Host og legge til ditt virtuelle domenenavn (rainloop.lan ) på sertifikatet Fellesnavn.
sudo apache_gen_ssl
Etter at sertifikatet og SSL-nøklene er opprettet, legg til Rainloop DocumentRoot-bane, aktiver deretter Virtual Hosts og start Apache-demonen på nytt for å bruke konfigurasjoner.
sudo mkdir -p /srv/www/rainloop
sudo a2ensite rainloop
sudo a2ensite rainloop-ssl
sudo systemctl restart httpd
Trinn 2: Legg til nødvendige PHP-utvidelser
3. Enten du bruker Apache eller Nginx webserver, må du aktivere følgende PHP-utvidelser på php.ini fil og inkludere også den nye webserveren DocumentRoot-banen til open_basedir-direktivet.
sudo nano /etc/php/php.ini
Finn og fjern kommentarer til følgende PHP-utvidelser.
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
Også open_basedir-setningen skal se slik ut.
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/
4. Etter at php.ini-filen ble endret, start serveren på nytt og sjekk phpinfo-filen for å se om SSL-protokoller er aktivert.
----------On Apache Web Server----------
sudo systemctl restart httpd
----------On Nginx Web Server----------
sudo systemctl restart nginx
sudo systemctl restart php-fpm
Trinn 3: Last ned og installer RainLoop Webmail
5. Nå er det på tide å laste ned og trekke ut Rainloop-applikasjonen fra den offisielle nettsiden til Document Root-katalogen, men først installer wget og unzip systemverktøy.
sudo pacman -S unzip wget
6. Last ned den nyeste kildepakken Rainloop zip-arkiv ved å bruke wget-kommandoen eller ved å bruke en nettleser for å navigere til http://rainloop.net/downloads/.
wget http://repository.rainloop.net/v1/rainloop-latest.zip
7. Etter at nedlastingsprosessen er ferdig, pakk ut Rainloop-arkivet til Virtual Host Document Root-bane ( /srv/www/rainloop/ ).
sudo unzip rainloop-latest.zip -d /srv/www/rainloop/
8. Angi deretter følgende tillatelser på programmets standardbane.
sudo chmod -R 755 /srv/www/rainloop/
sudo chown -R http:http /srv/www/rainloop/
Trinn 4: Konfigurer Rainloop via webgrensesnitt
9. Rainloop-applikasjonen kan konfigureres på to måter: ved å bruke et system-skall eller via nettleseren. Hvis du vil konfigurere over terminal, åpne og rediger application.ini-filen som ligger i /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.
10. For å få tilgang til administrasjonsgrensesnittet fra nettleseren, bruk følgende URL-adresse https://rainloop.lan/?admin, og oppgi deretter standard applikasjonslegitimasjonen.
User= admin
Password= 12345
11. Etter første pålogging vil du bli advart om å endre standardpassordet, så jeg anbefaler deg å gjøre det.
12. Hvis du vil aktivere kontakter pålogging til MySQL-databasen og opprette en ny database med en privilegert bruker på den, oppgi databaselegitimasjon på Kontakter felt.
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. Som standard gir Rainloop e-postserverkonfigurasjonsfiler for Gmail, Yahoo og Outlook domener, men du kan legge til andre e-postserverdomener hvis du vil.
14. For å logge på e-postserveren peker du på https://rainloop.lan i nettleseren og oppgir legitimasjonen til domeneserveren.
For ytterligere konfigurasjoner, besøk den offisielle Rainloop-dokumentasjonssiden på http://rainloop.net/docs/.
Med Rainloop kan du få tilgang til e-postservere fra hvilken som helst enhet som har en nettleser så lenge serveren din har Internett-tilkobling, det eneste minuset med å bruke Rainloop-applikasjonen i Arch Linux så langt er mangelen på poppassd plugin-pakke som trengs for å endre passordet til e-postkontoen.