Установка и настройка WebMail Lite на CentOS 8


Afterlogic WebMail Lite — веб-клиент для работы с почтой, написанный на PHP. Мы рассмотрим процесс его установки на свой сервер с CentOS 8 и настройки для подключения к внутреннему почтовому серверу. Подразумевается, что у нас уже настроен почтовый сервер. Инструкцию можно использовать для настройки данного почтового клиента как на выделенном сервере, так и на одном сервере с почтовым сервером.
Подготовка системы
Описание требований
Установка веб-сервера
NGINX
Apache
Установка PHP
PHP + компоненты
Связка с NGINX
Связка с Apache
Установка СУБД
PHP + MariaDB
Установка WebMail
Загрузка на сервер
Настройка домена на сервере
Создание базы данных
Установка через веб-интерфейс
Читайте также
Подготовка системы
1. В брандмауэре должны быть открыты порты для отправки запросов на веб-сервер. Это можно сделать командами:
firewall-cmd --permanent --add-port={80,443}/tcp
firewall-cmd --reload
* в данном примере мы откроем порты для http (80 порт) и https (443).
2. Устанавливаем wget и unzip командой:
dnf install wget unzip
3. Отключаем SELinux. Для этого вводим 2 команды:
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
* первая команда отключит разово SELinux; вторая — не даст ему запуститься после перезагрузки.
Требования к системе
Для работы WebMail Lite необходимо, чтобы на сервере были установлены следующие компоненты:
- Веб-сервер: Apache или NGINX. Мы рассмотрим оба варианта.
- PHP 5.6 или 7 (рекомендуется).
- СУБД: MySQL или MariaDB. Будем использовать последнюю.
Если у нас уже есть рабочий веб-сервер с данными компонентами, соответствующие шаги, описанные ниже можно пропустить.
Веб-сервер
И так, мы решили рассмотреть вариант настройки как с NGINX, так и Apache. В данном разделе выполним только установку, а настройку — позже.
Если используем NGINX
Для установки NGINX выполняем
dnf install nginx
После установки nginx разрешаем его автозапуск и стартуем сервис:
systemctl enable nginx --now
Открываем браузер и переходим на страницу http://<IP-адрес сервера> — мы должны увидеть страницу приветствия NGINX:
* для разных источников установки пакета данная страница может иметь разный вид.
Веб-сервер NGINX установлен.
Если используем Apache
Для установки Apache в CentOS выполняем команду:
dnf install httpd
После установки разрешаем его автозапуск и стартуем сервис httpd:
systemctl enable httpd --now
Открываем браузер и переходим на страницу http://<IP-адрес сервера> — мы должны увидеть страницу приветствия Apache:
Веб-сервер Apache установлен.
PHP
Мы рассмотрим установку PHP версии 7. Процесс зависит от выбранного нами веб-сервера.
Установка php и компонентов
Сначала выполним установку php и компонентов, необходимых для работы webmail lite:
dnf install php php-json php-xml
* где
- php-json — модуль для обмена данными в формате JSON.
- php-xml — обработка XML.
Настройка связки с NGINX
Если у нас будет использоваться nginx, устанавливаем php-fpm:
dnf install php-fpm
Разрешаем автозапуск модуля и стартуем его:
systemctl enable php-fpm --now
Открываем конфигурационный файл nginx:
vi /etc/nginx/nginx.conf
В раздел http добавляем:
http {
...
location ~ \.php$ {
set $root_path /usr/share/nginx/html;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
}
}
Перезапускаем nginx:
systemctl restart nginx
Создаем файл:
vi /usr/share/nginx/html/index.php
<?php phpinfo(); ?>
Открываем браузер и переходим на страницу http://<IP-адрес сервера> — мы должны увидеть страницу phpinfo:
Настройка связки с Apache
Устанавливаем модуль для связки с apache:
dnf install mod_php
Перезапускаем apache:
systemctl restart httpd
Создаем файл:
vi /var/www/html/index.php
<?php phpinfo(); ?>
Открываем браузер и переходим на страницу http://<IP-адрес сервера> — мы должны увидеть страницу phpinfo:
Сервер баз данных
Мы рассмотрим установку и использование СУБД MariaDB. Для ее установки вводим:
dnf install mariadb-server
Разрешим автозапуск и запустим сервис:
systemctl enable mariadb --now
Задаем пароль для учетной записи root:
mysqladmin -u root password
Настройка связки php + mariadb
Устанавливаем компонент:
dnf install php-mysqli
Снова переходим на нашу страницу с phpinfo — мы на ней должны увидеть информацию о включенном компоненте mysqli:
Установка WebMail Lite
После того, как мы подняли веб-сервер, переходим к установке самого веб-клиента для чтения почты.
Загрузка
Создаем каталог:
mkdir /var/www/wmlite
Скачиваем архив для webmail lite:
wget https://afterlogic.org/download/webmail_php.zip
* в моем примере мы скачиваем webmail lite последней версии. Для загрузки 7-й версии можно воспользоваться ссылкой https://afterlogic.org/download/webmail-lite-php-7.zip.
Распаковываем архив, созданный ранее каталог:
unzip webmail_php.zip -d /var/www/wmlite/
Задаем владельца:
chown -R apache:apache /var/www/wmlite
Создание виртуального домена на веб-сервере
Настраиваем веб-сервер для корректной работы с нашим созданным каталогом.
Если используем NGINX
Создаем файл:
vi /etc/nginx/conf.d/webmail_lite.conf
server {
listen 80;
server_name webmaillite.dmosk.ru;
set $root_path /var/www/wmlite;
root $root_path;
location / {
index index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
fastcgi_read_timeout 300;
}
}
* где webmaillite.dmosk.ru — адрес сайта, на котором будет отвечать наш почтовый клиент; /var/www/wmlite — каталог, в котором размещены файлы сайта.
Перезагружаем nginx:
systemctl restart nginx
Если используем Apache
Создаем конфигурационный файл:
vi /etc/httpd/conf.d/webmail_lite.conf
<VirtualHost *:80>
ServerName webmaillite.dmosk.ru
DocumentRoot /var/www/wmlite
</VirtualHost>
* где webmaillite.dmosk.ru — адрес сайта, на котором будет отвечать наш почтовый клиент; /var/www/wmlite — каталог, в котором размещены файлы сайта.
Перезагружаем apache:
systemctl restart httpd
Создание базы и пользователя в СУБД
Открываем оболочку sql:
mysql -uroot -p
Создаем базу данных для Webmail Lite:
> CREATE DATABASE webmail DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* данной командой мы создадим базу webmail. По умолчанию будет использоваться кодировка utf8.
Создаем пользователя с полными правами на созданную базу:
> GRANT ALL PRIVILEGES ON webmail.* TO uwebmail@localhost IDENTIFIED BY 'webmail-123';
* данная команда создаст пользователя uwebmail с паролем webmail-123 и доступом к базе webmail.
Выходим из командной оболочки mariadb:
> \q
Установка WebMail Lite через веб-интерфейс
Переходим по адресу виртуального домена, который был нами настроен на предыдущем шаге. В моем случае, это http://webmaillite.dmosk.ru/?install.
Мы должны открыть наш портал именно по доменному имени. Для этого мы его должны зарегистрировать в DNS или занести в файл hosts.
Должна открыться страница проверки компонентов и доступа к директории. Если будут недочеты, необходимо их исправить. В конечном итоге, мы должны увидеть пройденные тесты:
Нажимаем Next. Нас перекинет на страницу авторизации — вводим логин superadmin без пароля:
На начальной странице задаем пароль для суперадмина и выбираем предпочтительный язык, например, русский:
На странице «Database settings» прописываем настройки для подключения к базе данных и кликаем по Test connection:
* ранее мы создали базу webmail с пользователем uwebmail и паролем webmail-123 — используем эти значения; в качестве сервера баз данных указываем локальный сервер (127.0.0.1).
Тестирование подключение должно пройти успешно:
Нажимаем на Create/Update tables для создания таблиц в базе данных; в появившемся окне кликаем по OK:
Мы должны увидеть сообщение об успешном создании таблиц:
Кликаем по Update configuration:
Мы должны увидеть сообщение об успешном обновлении настроек Webmail Lite:
Переходим в раздел Почтовые серверы:
Справа кликаем по Добавить новый сервер:
В открывшемся окне заполняем поля для подключения к нашему почтовому серверу:
* где:
- Название — произвольное название для нашей настройки.
- Домены — домены, для которых будет работать данная настройка.
- Сервер IMAP — сервер для подключения по IMAP.
- Сервер SMTP — сервер для подключения по SMTP.
- Порт — порт подключения к серверу IMAP/SMTP.
- SSL — если наш почтовый сервер требует безопасного подключения, необходимо поставить галочку SSL.
Кликаем по Create для создания конфигурации подключения к серверу:
Почтовый клиент готов к использованию. Выходим из панели управления и пытаемся зайти под почтовой учетной записью.