Установите RainLoop Webmail (веб-клиент электронной почты) с помощью Nginx и Apache в Arch Linux.
Rainloop — это бесплатное веб-приложение с открытым исходным кодом, написанное на PHP, которое обеспечивает быстрый современный веб-интерфейс для доступа к вашей электронной почте на всех основных почтовых провайдерах домена, таких как Yahoo, Gmail, Outlook и многих других, а также на ваших собственных локальных почтовых серверах, а также на действует как MUA (агент пользователя почты), получая доступ к почтовым серверам домена через протоколы IMAP и SMTP.
Демо-версия RainLoop
Взгляните на настройку демонстрационной страницы автора по адресу http://demo.rainloop.net/.
После того, как вы развернули Rainloop на своих серверах, единственное, что вам остается сделать, — это получить доступ к вашему домену Rainloop через веб-браузер и предоставить учетные данные для включенного почтового сервера вашего домена.
В этом руководстве рассматривается процесс установки веб-почты Rainloop в Arch Linux с точки зрения файлов конфигурации для Apache и Nginx. использование виртуального локального домена, настроенного через файл локальных хостов, без DNS-сервера.
Если вам также нужны рекомендации по установке Rainloop в системах Debian и Red Hat, посетите предыдущую статью RainLoop Webmail по адресу.
- Установите RainLoop Webmail в системах на базе Debian и Red Hat.
Требования
Для Нгинкс
- Установите LEMP (Nginx, PHP, MySQL с движком MariaDB и PhpMyAdmin) в Arch Linux.
- Создание виртуальных хостов на веб-сервере Nginx
Для Апача
- Установите LAMP (Linux, Apache, MySQL/MariaDB и PHP/PhpMyAdmin) в Arch Linux.
Шаг 1. Создайте виртуальные хосты для Nginx или Apache.
1. Предполагая, что вы настроили свои серверы (Nginx или Apache), как описано в верхних ссылках на презентации, первое, что вам нужно сделать, это чтобы создать элементарную запись DNS в локальном файле hosts, которая указывает на IP-адрес системы Arch Linux.
В системе Linux отредактируйте файл /etc/hosts и включите виртуальный домен 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 создайте необходимые конфигурации Виртуальных хостов и SSL для Apache или Nginx.
Виртуальные хосты Nginx
Создайте файл с именем rainloop.lan по пути /etc/nginx/sites-available/ со следующей конфигурацией.
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 и добавьте свое виртуальное доменное имя (rainloop.lan) в сертификате Общее имя.
sudo nginx_gen_ssl.sh
После создания ключей сертификата и SSL создайте корневой путь к файлу веб-сервера Rainloop (место, где находятся PHP-файлы Rainloop), затем включите виртуальные хосты и перезапустите демон Nginx для применения конфигураций.
sudo mkdir -p /srv/www/rainloop
sudo n2ensite rainloop
sudo n2ensite rainloop-ssl
sudo systemctl restart nginx
Виртуальные хосты Apache
Создайте новый файл с именем 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 для 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 и добавление вашего виртуального доменного имени (rainloop.lan). ) в сертификате Общее имя.
sudo apache_gen_ssl
После создания ключей сертификата и SSL добавьте путь Rainloop DocumentRoot, затем включите виртуальные хосты и перезапустите демон Apache, чтобы применить конфигурации.
sudo mkdir -p /srv/www/rainloop
sudo a2ensite rainloop
sudo a2ensite rainloop-ssl
sudo systemctl restart httpd
Шаг 2. Добавьте необходимые расширения PHP.
3. Независимо от того, используете ли вы веб-сервер Apache или Nginx, вам необходимо включить следующие расширения 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
5. Теперь пришло время загрузить и извлечь приложение Rainloop с официального сайта в корневой каталог документа, но сначала установите системные утилиты wget и разархивируйте.
sudo pacman -S unzip wget
6. Загрузите последний zip-архив исходного пакета Rainloop с помощью команды wget или с помощью браузера перейдите по адресу http://rainloop.net/downloads/.
wget http://repository.rainloop.net/v1/rainloop-latest.zip
7. После завершения процесса загрузки извлеките архив Rainloop в корневой путь к документу виртуального хоста ( /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 через веб-интерфейс
9. Приложение Rainloop можно настроить двумя способами: с помощью системной оболочки или через браузер. Если вы хотите настроить через терминал, откройте и отредактируйте файл application.ini, расположенный в /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/.
10. Чтобы получить доступ к интерфейсу администратора из браузера, используйте следующий URL-адрес https://rainloop.lan/?admin, затем укажите учетные данные приложения по умолчанию.
User= admin
Password= 12345
11. После первоначального входа в систему вам будет предложено изменить пароль по умолчанию, поэтому я советую вам это сделать.
12. Если вы хотите разрешить контактам войти в базу данных MySQL и создать новую базу данных с привилегированным пользователем, укажите учетные данные базы данных в Контактах. > поля.
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 предоставляет файлы конфигурации почтовых серверов доменов Gmail, Yahoo и Outlook, но вы можете добавить и другие домены почтовых серверов, если хотите.
14. Чтобы войти на свой почтовый сервер, откройте в браузере https://rainloop.lan и введите учетные данные сервера домена.
Для дальнейших настроек посетите официальную страницу документации Rainloop по адресу http://rainloop.net/docs/.
С помощью Rainloop вы можете получить доступ к почтовым серверам с любого устройства, на котором есть браузер, если ваш сервер подключен к Интернету. Единственным минусом использования приложения Rainloop в Arch Linux на данный момент является отсутствие необходимого пакета плагинов poppassd. изменить пароль учетной записи электронной почты.