Horde Webmail — это надежное веб-приложение для работы с электронной почтой с открытым исходным кодом, которое используется для управления электронной почтой, календарями, задачами и контактами. Установка и настройка Horde с Apache или Nginx позволяет пользователям использовать все его возможности в самостоятельной среде. Если вы системный администратор или просто любопытный энтузиаст, этот учебник шаг за шагом поможет вам настроить Horde Webmail.
Введение
Horde Webmail разработан для работы с несколькими пользователями, легко интегрируется с существующими почтовыми протоколами и предоставляет удобный веб-интерфейс. Это руководство предполагает чистую установку сервера Linux (например, Ubuntu или CentOS) и проведет вас через процесс установки конфигураций Apache и Nginx. В конце вы получите функциональный интерфейс Horde Webmail, безопасно работающий на вашем сервере.
Предварительные условия
Перед началом работы убедитесь, что у вас есть:
- Сервер Linux (Ubuntu 20.04+ или CentOS 8+) с правами root.
- PHP (7.4 или более поздняя версия) и необходимые расширения.
- Полностью определенное доменное имя (FQDN), указывающее на ваш сервер.
- База данных MariaDB/MySQL для Horde.
- Почтовый сервер типа Postfix/Dovecot (уже настроен).
- SSH-доступ к серверу.
Установка необходимых зависимостей
Для работы Horde требуется PHP, база данных и веб-сервер. Мы начнем с установки этих компонентов.
Обновление системы
Убедитесь, что пакеты вашего сервера обновлены:
$ sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
$ sudo yum update -y # CentOS/RHEL
Шаг 1: Установка PHP и расширений
Для работы Horde требуется несколько расширений PHP. Установите их следующим образом:
На Ubuntu/Debian
$ sudo apt install php php-cli php-mysql php-imap php-curl php-xml php-mbstring php-pear php-zip php-intl php-gd php-bz2 -y
На CentOS/RHEL
Включите репозитории EPEL и Remi для последних версий PHP:
$ sudo yum install epel-release -y
$ sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
$ sudo yum module reset php -y
$ sudo yum module enable php:remi-7.4 -y
$ sudo yum install php php-cli php-mysqlnd php-imap php-curl php-xml php-mbstring php-pear php-zip php-intl php-gd php-bz2 -y
Проверьте версию PHP:
$ php -v
Шаг 2: Установка и настройка базы данных
Horde поддерживает MariaDB или MySQL. Для установки MariaDB используйте следующие шаги:
Установите MariaDB
$ sudo apt install mariadb-server -y # Ubuntu/Debian
$ sudo yum install mariadb-server -y # CentOS/RHEL
Безопасная установка MariaDB
Запустите сценарий безопасности, чтобы удалить настройки по умолчанию:
$ sudo mysql_secure_installation
Создание базы данных для Орды
Войдите в MariaDB и создайте новую базу данных и пользователя:
$ mysql -u root -p
Внутри оболочки MariaDB выполните команду:
CREATE DATABASE horde_db;
CREATE USER 'horde_user'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON horde_db.* TO 'horde_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Шаг 3: Установите Apache или Nginx
Horde может быть размещен на Apache или Nginx. Следуйте соответствующему разделу для выбранного вами веб-сервера.
Вариант A: Настройка Apache для Horde
Установите Apache:
$ sudo apt install apache2 libapache2-mod-php -y # Ubuntu/Debian
$ sudo yum install httpd -y # CentOS/RHEL
Включите и запустите Apache:
$ sudo systemctl enable apache2 && sudo systemctl start apache2 # Ubuntu/Debian
$ sudo systemctl enable httpd && sudo systemctl start httpd # CentOS/RHEL
Создание виртуального хоста Apache для Horde
Создайте новый файл конфигурации:
$ sudo nano /etc/apache2/sites-available/horde.conf # Ubuntu/Debian
$ sudo nano /etc/httpd/conf.d/horde.conf # CentOS/RHEL
Добавьте следующую конфигурацию:
<VirtualHost *:80>
ServerName webmail.example.com
DocumentRoot /var/www/horde
<Directory /var/www/horde>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/horde_error.log
CustomLog ${APACHE_LOG_DIR}/horde_access.log combined
</VirtualHost>
Включите конфигурацию:
$ sudo a2ensite horde.conf # Ubuntu/Debian
$ sudo systemctl reload apache2
Вариант B: Настройте Nginx для Horde
Установите Nginx:
$ sudo apt install nginx -y # Ubuntu/Debian
$ sudo yum install nginx -y # CentOS/RHEL
Включите и запустите Nginx:
$ sudo systemctl enable nginx && sudo systemctl start nginx
Создание конфигурации Nginx для Horde
Отредактируйте файл конфигурации:
$ sudo nano /etc/nginx/conf.d/horde.conf
Добавьте следующее содержимое:
server {
listen 80;
server_name webmail.example.com;
root /var/www/horde;
index index.php;
location / {
try_files $uri /index.php;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Adjust PHP version if needed
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Протестируйте и перезагрузите Nginx:
$ sudo nginx -t
$ sudo systemctl reload nginx
Шаг 4: Скачайте и установите Horde
Загрузите версию Horde Groupware Webmail Edition:
$ cd /var/www
$ sudo git clone https://github.com/horde/horde.git
$ sudo chown -R www-data:www-data /var/www/horde # Apache
$ sudo chown -R nginx:nginx /var/www/horde # Nginx
Установите соответствующие разрешения:
$ sudo chmod -R 755 /var/www/horde
Шаг 5: Настройте Орду
Зайдите в веб-установщик через http://webmail.example.com
. Следуйте инструкциям на экране:
- Введите данные базы данных, которые вы настроили ранее.
- Настройте параметры почтового сервера (например, IMAP, SMTP).
Шаг 6: Защитите Horde с помощью SSL
Установите Let’s Encrypt для получения бесплатного SSL-сертификата.
Установите Certbot
$ sudo apt install certbot python3-certbot-apache -y # Apache
$ sudo apt install certbot python3-certbot-nginx -y # Nginx
Получение SSL-сертификата
$ sudo certbot --apache -d webmail.example.com # Apache
$ sudo certbot --nginx -d webmail.example.com # Nginx
Проверка HTTPS:
Посетите https://webmail.example.com
.
Часто задаваемые вопросы
Как устранить проблемы с установкой Horde?
- Проверьте журналы сервера (
/var/log/apache2/error.log
или/var/log/nginx/error.log
). - Убедитесь в правильности конфигурации PHP и базы данных.
Могу ли я использовать другой тип базы данных для Horde?
Да, Horde поддерживает PostgreSQL и SQLite в дополнение к MySQL/MariaDB.
Какие почтовые серверы совместимы с Horde?
Horde работает с IMAP/SMTP-совместимыми почтовыми серверами, такими как Postfix, Dovecot и Exim.
Как сбросить пароль администратора Horde?
Зайдите в базу данных и обновите учетную запись администратора напрямую.
Могу ли я настроить интерфейс Орды?
Да, Horde позволяет настраивать темы и модули.
Заключение
Настройка Horde Webmail с Apache или Nginx обеспечивает мощное решение для самостоятельного хостинга электронной почты. Следуя этому руководству, вы обеспечите безопасную и эффективную настройку. Наслаждайтесь управлением электронной почтой, контактами и задачами с помощью многофункциональной платформы Horde.