Nainstalujte RainLoop Webmail (webový e-mailový klient) pomocí 'Nginx a Apache' v Arch Linuxu
Rainloop je bezplatná webová aplikace s otevřeným zdrojovým kódem napsaná v PHP, která poskytuje rychlé moderní webové rozhraní pro přístup k vašim e-mailům u všech hlavních poskytovatelů pošty v doménách, jako je Yahoo, Gmail, Outlook a mnoho dalších, stejně jako na vašich vlastních lokálních poštovních serverech a také, funguje jako MUA (Mail User Agent) tím, že přistupuje k poštovním serverům domény prostřednictvím protokolů IMAP a SMTP.
Demo RainLoop
Podívejte se rychle na nastavení demo stránky od autora na http://demo.rainloop.net/.
Jakmile nasadíte Rainloop na své servery, zbývá už jen přistupovat k vaší doméně Rainloop prostřednictvím webového prohlížeče a poskytnout přihlašovací údaje pro váš povolený doménový poštovní server.
Tento tutoriál popisuje proces instalace webové pošty Rainloop na Arch Linux z obou úhlů pohledu konfiguračních souborů pro Apache a Nginx, pomocí virtuální lokální domény konfigurované prostřednictvím souboru lokálních hostitelů, bez serveru DNS.
Pokud také potřebujete odkazy na instalaci Rainloop na systémy Debian a Red Hat, navštivte předchozí článek RainLoop Webmail na adrese.
- Nainstalujte RainLoop Webmail na systémy založené na Debianu a Red Hatu
Požadavky
Pro Nginx
- Nainstalujte LEMP (Nginx, PHP, MySQL s enginem MariaDB a PhpMyAdmin) v Arch Linuxu
- Vytvořte virtuální hostitele na webovém serveru Nginx
Pro Apache
- Nainstalujte LAMP (Linux, Apache, MySQL/MariaDB a PHP/PhpMyAdmin) v Arch Linuxu
Krok 1: Vytvořte virtuální hostitele pro Nginx nebo Apache
1. Za předpokladu, že jste nakonfigurovali své servery (Nginx nebo Apache), jak je popsáno v horních odkazech prezentací, první věc, kterou musíte udělat, je k vytvoření základního DNS záznamu v místním souboru hosts, který ukazuje na IP systému Arch Linux.
V systému Linux upravte soubor /etc/hosts a zahrňte svou virtuální doménu Rainloop za položku localhost.
127.0.0.1 localhost.localdomain localhost rainloop.lan
192.168.1.33 rainloop.lan
V systému Windows upravte C:\Windows\System32\drivers\etc\hosts a přidejte následující řádek dolů.
192.168.1.33 rainloop.lan
2. Po ověření místní domény pomocí příkazu ping vytvořte potřebné konfigurace Virtual Hosts a SSL pro Apache nebo Nginx.
Virtuální hostitelé Nginx
Vytvořte soubor s názvem rainloop.lan v cestě /etc/nginx/sites-available/ s následující konfigurací.
sudo nano /etc/nginx/sites-available/rainloop.conf
Přidejte následující obsah souboru.
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;
}
}
Poté vytvořte obsah souboru ekvivalentní SSL.
sudo nano /etc/nginx/sites-available/rainloop-ssl.conf
Přidejte následující obsah souboru.
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;
}
}
V dalším kroku vygenerujte soubor Certifikát a Klíče pro Virtuálního hostitele SSL a přidejte název své virtuální domény (rainloop.lan) na certifikátu Common Name.
sudo nginx_gen_ssl.sh
Po vygenerování klíčů certifikátu a SSL vytvořte cestu k souboru webového serveru Rainloop root (místo, kde se nacházejí soubory PHP Rainloop), poté povolte virtuální hostitele a restartujte démona Nginx, aby bylo možné použít konfigurace.
sudo mkdir -p /srv/www/rainloop
sudo n2ensite rainloop
sudo n2ensite rainloop-ssl
sudo systemctl restart nginx
Virtuální hostitelé Apache
Vytvořte nový soubor s názvem rainloop.conf v /etc/httpd/conf/sites-available/ s následujícím obsahem.
sudo nano /etc/httpd/conf/sites-available/rainloop.conf
Přidejte následující obsah souboru.
<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>
Poté vytvořte ekvivalentní obsah souboru SSL pro Apache.
sudo nano /etc/httpd/conf/sites-available/rainloop-ssl.conf
Přidejte následující obsah souboru.
<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>
Dalším krokem je vytvoření souboru Certifikátu SSL a Klíčů pro Virtuálního hostitele SSL a přidání názvu vaší virtuální domény (rainloop.lan ) na certifikátu Common Name.
sudo apache_gen_ssl
Po vytvoření klíčů certifikátu a SSL přidejte cestu Rainloop DocumentRoot, poté povolte virtuální hostitele a restartujte démona Apache, abyste použili konfigurace.
sudo mkdir -p /srv/www/rainloop
sudo a2ensite rainloop
sudo a2ensite rainloop-ssl
sudo systemctl restart httpd
Krok 2: Přidejte potřebná rozšíření PHP
3. Ať už používáte webový server Apache nebo Nginx, musíte povolit následující rozšíření PHP na php.ini soubor a také zahrnout cestu nového webového serveru DocumentRoot k direktivě open_basedir.
sudo nano /etc/php/php.ini
Vyhledejte a odkomentujte následující rozšíření 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
Také příkaz open_basedir by měl vypadat takto.
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/
4. Po úpravě souboru php.ini restartujte server a poté zkontrolujte soubor phpinfo a zjistěte, zda jsou protokoly SSL jsou povoleny.
----------On Apache Web Server----------
sudo systemctl restart httpd
----------On Nginx Web Server----------
sudo systemctl restart nginx
sudo systemctl restart php-fpm
Krok 3: Stáhněte a nainstalujte RainLoop Webmail
5. Nyní je čas stáhnout a extrahovat aplikaci Rainloop z oficiálního webu do adresáře Document Root, ale nejprve nainstalovat wget a rozbalit systémové nástroje.
sudo pacman -S unzip wget
6. Stáhněte si nejnovější zdrojový balíček Rainloop zip archiv pomocí příkazu wget nebo pomocí prohlížeče přejděte na http://rainloop.net/downloads/.
wget http://repository.rainloop.net/v1/rainloop-latest.zip
7. Po dokončení procesu stahování rozbalte archiv Rainloop do cesty kořenového adresáře dokumentu virtuálního hostitele ( /srv/www/rainloop/ ).
sudo unzip rainloop-latest.zip -d /srv/www/rainloop/
8. Poté nastavte následující oprávnění pro výchozí cestu aplikace.
sudo chmod -R 755 /srv/www/rainloop/
sudo chown -R http:http /srv/www/rainloop/
Krok 4: Nakonfigurujte Rainloop přes webové rozhraní
9. Aplikaci Rainloop lze konfigurovat dvěma způsoby: pomocí systémového shellu nebo pomocí prohlížeče. Pokud chcete konfigurovat přes terminál, otevřete a upravte soubor application.ini umístěný v /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.
10. Pro přístup k rozhraní Admin Interface z prohlížeče použijte následující URL adresu https://rainloop.lan/?admin a poté zadejte výchozí přihlašovací údaje aplikace.
User= admin
Password= 12345
11. Po úvodním přihlášení budete upozorněni, abyste si změnili výchozí heslo, proto vám doporučuji to udělat.
12. Pokud chcete povolit přihlášení kontaktů k databázi MySQL a vytvořit novou databázi s privilegovaným uživatelem, zadejte přihlašovací údaje k databázi na stránce Kontakty pole.
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. Ve výchozím nastavení Rainloop poskytuje konfigurační soubory poštovního serveru domén Gmail, Yahoo a Outlook, ale můžete přidat další domény poštovního serveru, pokud chcete.
14. Chcete-li se přihlásit na svůj poštovní server, nasměrujte svůj prohlížeč na https://rainloop.lan a zadejte přihlašovací údaje k doménovému serveru.
Pro další konfigurace prosím navštivte oficiální stránku dokumentace Rainloop na http://rainloop.net/docs/.
S Rainloop můžete přistupovat k poštovním serverům z jakéhokoli zařízení, které má prohlížeč, pokud má váš server připojení k internetu, jedinou nevýhodou používání aplikace Rainloop v Arch Linuxu je zatím chybějící balíček pluginů poppassd pro změnu hesla e-mailového účtu.