Поиск по сайту:

Установите клиент веб-почты WebMail Lite PHP на Debian 9.1


На этой странице

  1. Требования
  2. Исходная конфигурация
  3. Установить WebMail Lite

В этом руководстве мы покажем вам, как установить последнюю версию WebMail Lite PHP в Debian 9.1, и покажем, как настроить приложение для получения электронной почты из популярной почтовой службы Yahoo! Почта. Мы будем использовать Yahoo! Почтовые сервисы только в демонстрационных целях, но не стесняйтесь использовать свой собственный домен для обработки почты с помощью WebMail Lite, потому что процедура добавления параметров домена в основном такая же, как и для настройки Yahoo! Почтовые сервисы. Мы будем использовать клиент WebMail Lite в качестве интерфейса для служб IMAP и SMTP, предоставляемых Yahoo! учетная запись, и вся электронная почта будет обрабатываться локально на нашем собственном частном веб-сервере.

WebMail Lite — это бесплатный почтовый пользовательский агент или веб-клиент с открытым исходным кодом, написанный на PHP и развернутый в Linux под компонентами Apache/Nginx, PHP и MySQL/MariaDB, которые составляют стек LEMP/LAMP. WebMail Lite можно использовать для доступа к почте через протоколы IMAP/S и/или SMTP/S с целью синхронизации почтовых файлов и/или отправки почтовых сообщений.

Требования

  • Минимальная установка Debian 9 на чистом железе или на виртуальном частном сервере.
  • Статический IP-адрес, настроенный для одной из карт сетевого интерфейса вашей системы.
  • привилегии sudo root для локальной или удаленной учетной записи или прямой доступ к учетной записи root.
  • Доменное имя, частное или общедоступное, в зависимости от развертывания, с правильно настроенными записями DNS.
  • Правильно настроенная почтовая служба в вашем помещении с удаленным доступом к своим службам IMAP и SMTP.

Начальная конфигурация

Прежде чем приступить к установке и настройке WebMail Lite из исходного кода на собственном сервере, сначала убедитесь, что система соответствует всем требованиям к программному обеспечению для компиляции и установки приложения. На первом этапе обновите системные репозитории и пакеты программного обеспечения, выполнив приведенную ниже команду.

apt update
apt upgrade

На следующем шаге выполните следующую команду, чтобы установить некоторые утилиты, которые будут использоваться для дальнейшего управления вашей системой из командной строки.

apt install wget bash-completion unzip

Затем настройте имя для вашей системы, выполнив следующую команду. Соответственно замените переменную вашего имени хоста.

hostnamectl set-hostname mail

Проверьте имя хоста машины и файл hosts, введя приведенные ниже команды.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Наконец, перезагрузите сервер Debian, чтобы применить обновления ядра и правильно изменить имя хоста.

systemctl reboot

WebMail Lite — это клиент веб-почты, написанный в основном на языке серверного программирования PHP. Для выполнения PHP-скриптов файлов WebMail Lite в системе должны быть установлены и работать веб-сервер, например HTTP-сервер Apache, и шлюз обработки PHP. Чтобы установить веб-сервер Apache и интерпретатор PHP вместе со всеми необходимыми модулями PHP, необходимыми приложению для правильной работы, введите следующую команду в консоли сервера.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-mcrypt php7.0-opcache php7.0-mbstring php7.0-curl

После установки Apache и PHP проверьте, запущен ли веб-сервер и прослушивает ли он сетевые подключения через порт 80, выполнив следующую команду с привилегиями root.

netstat –tlpn

Если сетевая утилита netstat не установлена по умолчанию в вашей системе Debian, выполните приведенную ниже команду, чтобы установить ее.

apt install net-tools

Изучив выходные данные команды netstat, вы увидите, что веб-сервер Apache прослушивает входящие сетевые подключения через порт 80. Для той же задачи вы также можете использовать команду ss, которая автоматически устанавливается по умолчанию в Debian 9.

ss- tlpn

Если в вашей системе включен брандмауэр, например приложение брандмауэра UFW, вам следует добавить новое правило, разрешающее HTTP-трафику проходить через брандмауэр, введя следующую команду.

ufw allow WWW

или

ufw allow 80/tcp

Если вы используете необработанные правила iptables для управления правилами брандмауэра на сервере Debian, добавьте следующее правило, чтобы разрешить входящий трафик порта 80 на брандмауэре, чтобы посетители могли просматривать онлайн-приложение.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Затем включите следующие модули Apache, которые будут использоваться для защиты некоторых частей приложения WebMail Lite, введя следующую команду.

a2enmod rewrite
systemctl restart apache2

Наконец, проверьте, может ли веб-страница веб-сервера Apache по умолчанию отображаться в браузерах ваших клиентов, посетив IP-адрес вашего компьютера с Debian или ваше доменное имя или полное доменное имя сервера по протоколу HTTP. Если вы не знаете IP-адрес своего компьютера, выполните команды ifconfig или ip a, чтобы узнать IP-адрес вашего сервера. Страница Apache по умолчанию для Debian будет отображаться в вашем браузере.

http://ваш_домен.tld

Чтобы установить и получить доступ к приложению WebMail Lite через протокол HTTPS, который будет защищать трафик для ваших клиентов, введите следующую команду, чтобы включить модуль SSL веб-сервера Apache и файл конфигурации сайта SSL.

a2enmod ssl
a2ensite default-ssl.conf

Затем откройте файл конфигурации SSL-сайта Apache по умолчанию в текстовом редакторе и включите правила перезаписи URL-адресов, добавив следующие строки кода после директивы DocumentRoot, как показано в приведенном ниже примере:

nano /etc/apache2/sites-enabled/default-ssl.conf

Выдержка из файла конфигурации сайта SSL:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Кроме того, внесите следующие изменения в строку VirtualHost, чтобы она выглядела так, как показано в приведенном ниже отрывке:

        <VirtualHost *:443>

Закройте файл SSL Apache и откройте файл /etc/apache2/sites-enabled/000-default.conf для редактирования и добавьте те же правила перезаписи URL-адресов, что и для файла конфигурации SSL. Вставьте строки кода после оператора DocumentRoot, как показано в приведенном ниже примере.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Наконец, перезапустите демон Apache, чтобы применить все настроенные правила и посетить ваш домен по протоколу HTTP. Поскольку вы используете пары самозаверяющих сертификатов, автоматически выдаваемые Apache при установке, в браузере должно отображаться предупреждение об ошибке, как показано на снимке экрана ниже.

systemctl restart apache2

https://вашдомен.tld

Примите предупреждение, чтобы продолжить и быть перенаправленным на веб-страницу Apache по умолчанию через HTTPS.

В случае, если приложение брандмауэра UFW блокирует входящие сетевые подключения к порту HTTPS, вам следует добавить новое правило, разрешающее трафику HTTPS проходить через брандмауэр, введя следующую команду.

ufw allow 'WWW Full'

или

ufw allow 443/tcp

Если iptables является приложением брандмауэра по умолчанию, установленным для защиты вашей системы Debian на сетевом уровне. Добавьте следующее правило, чтобы разрешить входящий трафик порта 443 в брандмауэре, чтобы посетители могли просматривать ваше доменное имя.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

На следующем шаге нам нужно внести некоторые дополнительные изменения в файл конфигурации PHP по умолчанию, чтобы убедиться, что следующие переменные PHP включены, а настройка часового пояса PHP правильно настроена и соответствует географическому положению вашей системы. Откройте файл /etc/php/7.0/apache2/php.ini для редактирования и убедитесь, что следующие строки настроены следующим образом. Также изначально сделайте резервную копию файла конфигурации PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Найдите, отредактируйте и измените следующие переменные в файле конфигурации php.ini:

file_uploads = On
allow_url_fopen = On
memory_limit = 128 M
upload_max_file_size = 64M
date.timezone = Europe/London

Увеличьте значение переменной memory_limit для поддержки вложений больших файлов и замените переменную time.zone в соответствии с вашим физическим временем, сверившись со списком часовых поясов, предоставленным документацией PHP по следующей ссылке http://php. net/manual/en/timezones.php

Если вы хотите увеличить скорость загрузки страниц вашего веб-сайта с помощью подключаемого модуля OPCache, доступного для PHP7, добавьте следующие параметры OPCache внизу файла конфигурации интерпретатора PHP, как описано ниже:

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Закройте файл конфигурации php.ini и проверьте конец файла конфигурации PHP, чтобы проверить правильность добавления переменных, выполнив приведенную ниже команду.

tail /etc/php/7.0/apache2/php.ini

После внесения всех изменений, описанных выше, перезапустите демон apache, чтобы применить новые изменения, введя следующую команду.

systemctl restart apache2

Наконец, создайте информационный файл PHP, выполнив следующую команду, и проверьте правильность настройки часового пояса PHP, посетив файл сценария информации PHP из браузера по следующему URL-адресу, как показано на рисунке ниже. Прокрутите вниз до настройки даты, чтобы проверить конфигурацию часового пояса php.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

https://domain.tld/info.php

Клиент веб-почты WebMail Lite хранит различные конфигурации, такие как пользователи, сеансы, контакты и т. д., в базе данных СУБД. В этом руководстве мы настроим WebMail Lite для использования базы данных MariaDB в качестве серверной части. Выполните приведенную ниже команду, чтобы установить базу данных MariaDB и модуль PHP, необходимый для доступа к базе данных mysql.

apt install mariadb-server php7.0-mysql

После того, как вы установили MariaDB, убедитесь, что демон работает и прослушивает соединения на локальном хосте, порт 3306, запустив команду netstat или ss.

netstat –tlpn | grep mysql

Затем войдите в консоль MySQL и защитите корневую учетную запись MariaDB, введя следующие команды.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

На следующем шаге защитите MariaDB, выполнив скрипт mysql_secure_installation. Во время работы скрипт задаст ряд вопросов, предназначенных для защиты базы данных MariaDB, таких как: изменить пароль root для MySQL, удалить анонимных пользователей, отключить удаленный вход в систему root и удалить тестовую базу данных. Выполните сценарий, введя приведенную ниже команду, и убедитесь, что вы вводите «да» на все заданные вопросы, чтобы полностью защитить демон MySQL. Используйте приведенный ниже вывод скрипта, кроме как в качестве руководства.

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
 
You already have a root password set, so you can safely answer 'n'.
 
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
 
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
 
Remove anonymous users? [Y/n] y
 ... Success!
 
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
 
Disallow root login remotely? [Y/n] y
 ... Success!
 
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
 
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
 
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
 
Reload privilege tables now? [Y/n] y
 ... Success!
 
Cleaning up...
 
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
 
Thanks for using MariaDB!

Чтобы проверить безопасность MariaDB, попробуйте войти в базу данных с консоли без пароля root. Доступ к базе данных должен быть запрещен, если для учетной записи root не указан пароль. Если указан пароль, процесс входа в систему должен быть предоставлен консоли MySQL, как показано на снимке экрана ниже.

mysql -h localhost -u root
mysql -h localhost -u root –p

Затем войдите в консоль базы данных MariaDB, создайте базу данных, чтобы использовать ее для WebMail Lite, и пользователя с паролем, который будет использоваться для управления этой базой данных, введя следующие команды. Замените имя базы данных WebMail Lite, пользователя и пароль соответствующим образом.

mysql –u root -p
create database webmaillite;
grant all privileges on webmaillite.* to 'webmail_user'@'localhost' identified by 'webmail_pass';
flush privileges;
exit

Чтобы применить все сделанные до сих пор изменения, перезапустите демоны MySQL и Apache и проверьте, работают ли демоны, введя следующие команды.

systemctl restart mysql apache2
systemctl status mysql apache2

Установите веб-почту Lite

После того, как все системные требования будут выполнены, посетите веб-страницу WebMail Lite по адресу https://afterlogic.org/download/webmail-lite-php и загрузите последний сжатый архив zip-пакета, запустив утилиту wget, как показано в следующем примере.

wget https://afterlogic.org/download/webmail_php.zip

После завершения загрузки zip-архива извлеките сжатый zip-архив WebMail Lite и перечислите извлеченные файлы, выполнив приведенные ниже команды. Кроме того, удалите файл index.html по умолчанию, установленный веб-сервером Apache, на корневой путь, а также удалите ранее созданный файл info.php.

rm /var/www/html/index.html
rm /var/www/html/info.php
unzip webmail_php.zip
ls

Затем рекурсивно скопируйте извлеченные файлы из каталога веб-почты в корневой каталог вашего домена, выполнив приведенную ниже команду. Кроме того, вы можете указать путь к веб-каталогу, чтобы увидеть, все ли файлы из каталога веб-почты полностью перенесены в веб-корневой каталог.

ls webmail
cp -rf webmail/* /var/www/html/
ls -l /var/www/html/

Затем выполните приведенные ниже команды, чтобы предоставить пользователю среды выполнения Apache полные права на запись корневого веб-пути. Используйте команду ls, чтобы получить список разрешений для установочных файлов Prestashop, расположенных в каталоге /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Продолжайте процесс установки WebMail Lite, открыв браузер и перейдя по IP-адресу или доменному имени вашего сервера по протоколу HTTPS в каталог /install. На первом экране установки скрипт установки WebMail Lite выполнит серию проверок системы, чтобы определить, установлены ли на вашем сервере все необходимые расширения и модули PHP и есть ли у пользователя apache права на запись в каталог данных и в файл конфигурации, как показано на изображении ниже. Если все требования к серверу выполнены, нажмите кнопку «Далее», чтобы перейти к следующему экрану установки.

https://вашдомен.tld/install

На следующем экране установки прочитайте и примите условия лицензионного соглашения и нажмите кнопку «Я согласен», чтобы продолжить, как показано на изображении ниже.

На следующем экране установки выберите тип базы данных MySQL и укажите адрес хоста базы данных MySQL, имя базы данных и учетные данные, созданные ранее для доступа к базе данных WebMail Lite. Проверьте подключение к базе данных, нажав кнопку «Проверить базу данных», и, если подключение к базе данных MySQL прошло успешно, установите флажок «Создать таблицы базы данных», чтобы программа установки создала необходимые таблицы, и нажмите кнопку «Далее», чтобы перейти к следующему экрану установки.

На следующем экране установки введите надежный пароль для пользователя mailadm и нажмите кнопку «Далее», чтобы продолжить. Этот пользователь будет использоваться для управления различными аспектами WebMail Lite через панель администратора.

Теперь проверим, правильно ли работает соединение с почтовым сервером по протоколам IMAP и SMP. В демонстрационных целях мы настроим и протестируем подключение к почтовым службам, предоставляемым Yahoo! Почта. Вы можете соответствующим образом изменить домен почтовых служб. Чтобы проверить SMTP-соединение Yahoo! Почтовые серверы, введите следующий адрес в поле хоста почтового сервера, smtp.mail.yahoo.com, установите флажок SMTP и нажмите кнопку проверки подключения. Если подключение к Yahoo! SMTP-сервер успешно установлен, зеленое сообщение сообщит вам, что вы можете отправлять исходящие электронные письма через SMTP с Yahoo! Почта.

Чтобы проверить, разрешены ли зашифрованные соединения IMAP для Yahoo! Почтовый сервер, введите imap.mail.yahoo.com:993 в поле Хост почтового сервера, установите флажок IMAP4 и нажмите кнопку «Проверить соединение». Если подключение к Yahoo! Сервер IMAP успешно установлен, зеленое сообщение информирует вас о том, что вы можете проверять и загружать входящие сообщения электронной почты через IMAPS от Yahoo! Почта. Когда вы закончите, нажмите кнопку «Далее», чтобы перейти к последнему шагу установки.

После завершения процесса установки установщик сообщит вам, что веб-приложение WebMail Lite было успешно установлено, и вам следует удалить каталог установщика из веб-сайта вашего домена. Нажмите кнопку «Выход», чтобы покинуть экран и перейти в панель администратора WebMail Lite.

Перейдите по следующему адресу, чтобы получить доступ к панели администратора WebMail Lite. Замените доменное имя или IP-адрес соответственно.

https://вашдомен.tld/adminpanel

Войдите в панель администратора с именем пользователя mailadm и настройте пароль для этого пользователя в процессе установки, как показано на снимке экрана ниже.

Чтобы настроить почтовые службы вашего домена для WebMail Lite, перейдите в раздел Домены -> Настройки по умолчанию. В демонстрационных целях в этом руководстве мы настроим WebMail Lite для управления электронной почтой для Yahoo! Mail, но вы можете настроить свой собственный домен, добавив необходимые параметры.

В поле входящей почты добавьте IMAP-адрес Yahoo! Почтовый сервер: imap.mail.yahoo.com и порт 993. Кроме того, установите флажок Использовать SSL для получения электронной почты через защищенное соединение.

В поле исходящей почты добавьте SMTP-адрес Yahoo! Почтовый сервер: smtp.mail.yahoo.com и порт 465. Также установите флажок Использовать SSL для отправки электронной почты через защищенное соединение.

В разделе «Аутентификация SMTP» установите флажок Использовать логин/пароль пользователя для входящей почты для аутентификации в Yahoo! Почтовые SMTP-серверы.

Наконец, вы также можете добавить имя для своего сайта, изменить тему приложения WebMail Lite и разрешить пользователям доступ к настройкам интерфейса. Кроме того, вы можете изменить региональные настройки приложения, как показано на снимке экрана ниже. Чтобы сохранить и применить настройки, нажмите кнопку «Сохранить».

Панель администратора WebMail Lite предлагает другие параметры, которые можно использовать для изменения настроек вашего приложения, например, включить ведение журнала, изменить имя и пароль учетной записи mailadm или интегрировать интерфейс веб-почты с другими внешними службами. Когда вы закончите настройку ваших пользовательских настроек, нажмите кнопку «Выйти».

Чтобы войти в приложение WebMail Lite с Yahoo! Mail, перейдите к своему доменному имени по протоколу HTTP и введите свой Yahoo! Почтовые учетные данные, как показано на изображении ниже. Электронные письма вашего Yahoo! учетная запись будет указана в интерфейсе WebMail Lite.

Чтобы заставить посетителей просматривать интерфейс WebMail Lite по протоколу HTTPS и защитить каталог установки и файл версии, перейдите в консоль сервера и создайте новый файл .htaccess в корневом каталоге документа веб-сервера со следующим содержимым.

nano /var/www/html/.htaccess

Выдержка из файла .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

RewriteEngine on
Options -Indexes
# return a 403 forbidden error for install dir and version file
RewriteRule ^install/?$ - [F,L]
RewriteRule ^VERSION/?$ - [F,L]

Создайте новый файл .haccess в каталоге установки со следующим содержимым:

nano /var/www/html/install/.htaccess

Выдержка из файла .htaccess:

RewriteEngine on
Options -Indexes
Require all denied

Вот и все! Вы успешно установили и настроили WebMail Lite в Debian 9.1. Однако, поскольку ваш HTTP-сервер Apache использует самозаверяющие сертификаты для шифрования трафика между сервером и браузерами посетителей, в вашем браузере всегда будет создаваться и отображаться предупреждающее сообщение. В этом случае вам следует купить сертификат, выданный доверенным центром сертификации или https://afterlogic.com/docs/webmail-lite.