Что такое Roundcube?
Roundcube - это сетевой почтовый клиент IMAP, предлагающий пользовательский интерфейс, аналогичный Gmail Google. Это серверное приложение, написанное на PHP, предназначенное для доступа к почтовому серверу или сервису. Пользователи электронной почты взаимодействуют с Roundcube с помощью веб-браузера.
Прежде чем начать
- Ознакомьтесь с нашим руководством по и выполните шаги по настройке имени хоста и часового пояса вашего VPS.
- Заполните разделы « чтобы создать учетную запись стандартного пользователя, улучшить доступ по SSH и удалить ненужные сетевые службы.
- Это руководство предназначено для работы с нашими руководствами по , но вы можете использовать другой почтовый сервер.
- Сконфигурируйте DNS-запись HOST или CNAME (поддомен), чтобы она указывала на ваш VPS. Для этого руководства
webmail
будет использоваться поддомен . Обратитесь к нашему руководству если вам нужна помощь в создании этой записи. - Обновите пакеты программного обеспечения вашего сервера:
sudo apt-get update && sudo apt-get upgrade
Заметка
Это руководство написано для пользователя без полномочий root. Команды, которые требуют повышенных привилегий, имеют префикс sudo
. Если вы не знакомы с sudo
командой, вы можете проверить наше руководство .
стек для Linux, Apache, MySQL и PHP (LAMP)
В этом разделе будет рассказано об установке Apache, MySQL, PHP и SSL на VPS с нуля. Если у вас уже есть работающий стек LAMP, перейдите к разделу .
Установить пакеты стека LAMP
- Установите
lamp-server^
метапакет, который устанавливает Apache, MySQL и PHP как зависимости:
sudo apt-get install lamp-server^
- В процессе установки вам будет предложено выбрать пароль для пользователя root MySQL.
- Защитите вашу новую установку MySQL:
sudo mysql_secure_installation
- Укажите часовой пояс VPS в
/etc/php/7.0/apache2/php.ini
файле конфигурации PHP. Если ваш сервер не использует UTC, замените его местным часовым поясом, указанным на PHP.net :
sudo sed -i -e "s/^;date\.timezone =.*$/date\.timezone = 'UTC'/" /etc/php/7.0/apache2/php.ini
Создание Apache Виртуальный хост с SSL
В этом разделе мы создадим новый виртуальный хост для Roundcube. Это создаст новый рут-корень для Roundcube, отделив его от любых других рут-корней на вашем VPS.
- Разместите приглашение оболочки вашего VPS в
/etc/apache2/sites-available
каталоге:
cd /etc/apache2/sites-available
- Загрузите копию нашего
apache2-roundcube.sample.conf
файла конфигурации виртуального хоста. Замените экземпляры webmail.example.com
на нужный домен или поддомен вашей установки.
sudo wget https://VPS.com/docs/assets/roundcube/apache2-roundcube.sample.conf
- Перенесите владение файла в root :
sudo chown root:root apache2-roundcube.sample.conf
- Затем измените права доступа к файлу:
sudo chmod 644 apache2-roundcube.sample.conf
- Определите, какой тип сертификата шифрования Secure Socket Layer (SSL) лучше всего подходит для развертывания Roundcube. легко и свободно, но вызывает ошибку в большинстве современных браузеров , сообщающих о том , что соединение не является частным. Let's Encrypt предлагает браузеру надежные, бесплатные сертификаты SSL, но не поддерживает расширенную проверку (EV) или многодоменные ( подстановочные ) сертификаты. Чтобы получить эти функции, необходимо использовать .
- Получив сертификат SSL, измените следующие параметры в
apache2-roundcube.sample.conf
соответствии с желаемой конфигурацией:- ServerAdmin: административный адрес электронной почты для вашего линода (например,
admin@example.com
или webmaster@example.com
) - ServerName: полное доменное имя виртуального хоста (например
webmail.example.com
) - ErrorLog (необязательно): путь к пользовательскому файлу журнала ошибок (например
/var/log/apache2/webmail.example.com/error.log
, раскомментировать, удалив #
) - CustomLog (необязательно): путь к файлу журнала настраиваемого доступа (например
/var/log/apache2/webmail.example.com/access.log
, снова, раскомментируйте, удалив #
) - SSLCertificateFile: путь к файлу информации о сертификате SSL (
.crt
) - SSLCertificateKeyFile: путь к
.key
файлу закрытого ключа сертификата SSL ( )
предосторожность
Убедитесь, что пользовательский каталог и нужные .log
файлы существуют, прежде чем указывать их в конфигурации вашего виртуального хоста. В противном случае Apache не запустится. Файлы должны принадлежать www-data
пользователю с 644
разрешениями.
- Переименуйте файл конфигурации, чтобы он соответствовал полному имени домена:
sudo mv apache2-roundcube.sample.conf webmail.example.com.conf
- Наконец, отключите виртуальный хост Apache по умолчанию, если вы не планируете его использовать.
sudo a2dissite 000-default.conf default-ssl.conf
Создайте базу данных MySQL и постоянную пользователя
- Войдите в командную строку MySQL от имени пользователя root :
mysql -u root -p
- После входа в систему и
mysql>
отображения приглашения создайте новую базу данных MySQL с именем roundcubemail
:
CREATE DATABASE roundcubemail;
- Создайте нового пользователя MySQL с именем
roundcube
и назначьте ему надежный пароль:
CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'example_password';
- Предоставьте новому
roundcube
пользователю полный доступ к базе данных Roundcube roundcubemail
:
GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
- Очистите таблицы привилегий MySQL, чтобы перезагрузить их:
FLUSH PRIVILEGES;
- Выйдите из командной строки MySQL и вернитесь к обычной командной строке Linux:
exit
Окончательная подготовка к Roundcube
- Установите и включите необходимые пакеты PHP:
sudo apt-get install php-pear php7.0-intl php7.0-mcrypt php7.0-mbstring && sudo phpenmod intl mcrypt mbstring
- Включение модулей Apache
deflate
, expires
, headers
, rewrite
, и ssl
:
sudo a2enmod deflate expires headers rewrite ssl
- Кроме того, установить пакеты PHP PEAR
Auth_SASL
, Net_SMTP
, Net_IDNA2-0.1.1
, Mail_mime
, и Mail_mimeDecode
:
sudo pear install Auth_SASL2 Net_SMTP Net_IDNA2-0.1.1 Mail_mime Mail_mimeDecode
Заметка
PEAR - это сокращение от «Расширение PHP и хранилище приложений». Общие библиотеки кода PHP, написанные официально или третьими лицами, могут быть легко установлены с помощью pear
команды.
PEAR напечатает подтверждающее сообщение об установке для каждого пакета, который он успешно установил. В этом случае полная установка будет выглядеть примерно так:
install ok: channel://pear.php.net/Auth_SASL-1.1.0
install ok: channel://pear.php.net/Net_IDNA2-0.1.1
install ok: channel://pear.php.net/Mail_Mime-1.10.2
install ok: channel://pear.php.net/Net_Socket-1.2.2
install ok: channel://pear.php.net/Net_SMTP-1.8.0
install ok: channel://pear.php.net/Mail_mimeDecode-1.5.6
[/code]
Загрузите и установите круглую постоянную
Убедитесь, что приглашение оболочки вашего VPS работает в домашнем каталоге вашего пользователя. ~/Downloads
Папка является предпочтительной, но ~/
также является приемлемым.
cd ~/Downloads
Скачать Roundcube. На момент написания этой статьи текущей стабильной версией является 1.3.3, поэтому она будет использоваться для остальной части этого руководства.
wget https://github.com/roundcube/roundcubemail/releases/download/1.3.3/roundcubemail-1.3.3-complete.tar.gz
Распакуйте и скопируйте Roundcube в /var/www
каталог. Снова замените любые вхождения 1.3.3
в имени файла на более новый номер версии, если необходимо:
sudo tar -zxvf roundcubemail-1.3.3-complete.tar.gz -C /var/www
Удалите номер версии из имени каталога Roundcube. Это облегчит обновление позже:
sudo mv /var/www/roundcubemail-1.3.3 /var/www/roundcube
Передать право собственности на /var/www/roundcube
каталог www-data
пользователю. Это позволит Roundcube сохранить свой собственный файл конфигурации, вместо того чтобы загружать его, а затем вручную загружать в VPS:
sudo chown -R www-dаta:www-data /var/www/roundcube
Наконец, вы должны включить скрипт оболочки автоматической очистки кэша Roundcube:
echo '0 0 * * * root bash /var/www/roundcube/bin/cleandb.sh >> /dev/null' | sudo tee --append /etc/crontab
При этом используется задание cron для запуска cleandb.sh
сценария оболочки, включенного в Roundcube, один раз в день в полночь. Прочтите наше руководство по чтобы узнать о Cron.
Включение Roundcube в Apache виртуальный хост
Включите webmail.example.com
виртуальный хост, который вы только что написали в разделе Создание виртуального хоста Apache с SSL :
sudo a2ensite webmail.example.com.conf
Перезапустите Apache, чтобы применить все изменения конфигурации и включить новый виртуальный хост:
sudo service apache2 restart
Выход должен быть * Restarting web server apache2 ... [ OK ]
. Если выдается ошибка, используйте сообщения об ошибках для устранения неполадок в вашей конфигурации. Отсутствующие файлы, неправильные права доступа и опечатки - типичные причины неправильной перезагрузки Apache.
Настроить круглую постоянную
Перейдите к https://webmail.example.com/installer
в веб-браузере. Опять же, не забудьте заменить webmail.example.com
выбранным доменным именем.
Начните настройку Roundcube. Первым шагом графической конфигурации Roundcube является проверка среды . Нажмите кнопку « СЛЕДУЮЩАЯ» внизу страницы, чтобы продолжить.
Заметка
Поскольку Roundcube поддерживает шесть различных механизмов SQL, в разделе « Проверка доступных баз данных» появятся пять предупреждений « НЕ ДОСТУПНО ». MySQL был установлен ранее как часть стека LAMP, поэтому вы можете игнорировать эти предупреждения.
Укажите параметры конфигурации Roundcube. Приведенный ниже список параметров предоставит вам правильную рабочую конфигурацию, но вы можете настроить любые не упомянутые параметры по своему усмотрению.
Общая конфигурация> product_name: название вашей почтовой службы.
Общая конфигурация> support_url: куда ваши пользователи должны обращаться, если им нужна помощь? Следует использовать URL-адрес для веб-формы контакта или адрес электронной почты. (например, http://example.com/support
или mailto:support@example.com
)Общая конфигурация> skin_logo: заменяет стандартный логотип Roundcube изображением по вашему выбору. Изображение должно быть расположено в /var/www/roundcube
каталоге и быть связано (например skins/larry/logo.png
). Рекомендуемое разрешение изображения 177px
на 49px
.Настройка базы данных> db_dsnw> Пароль базы данных: пароль для пользователя MySQL круглого куба, который вы создали ранее.Настройки IMAP> default_host: Имя хоста вашего сервера IMAP. Установите это ssl://
плюс домен вашего почтового сервера (например ssl://webmail.example.com
).Настройки IMAP> username_domain: Какое доменное имя должно принимать Roundcube для всех пользователей? Это позволяет пользователям вводить только свое имя пользователя электронной почты (например, кого-нибудь ) вместо полного адреса электронной почты (например somebody@example.com
).Настройки SMTP> smtp_server: имя хоста вашего SMTP-сервера. Установите это в свой домен почтового сервера с префиксом ssl://
.Настройки SMTP> smtp_user / smtp_pass: установите и установите флажок Использовать текущее имя пользователя и пароль IMAP для аутентификации SMTP, чтобы пользователи могли отправлять почту, не вводя свои учетные данные повторно.Настройки отображения и пользовательские настройки> язык: позволяет выбрать стандартную для RFC1766 локаль для Roundcube. Для получения полного списка поддерживаемых языковых кодов, запустите cat /usr/share/i18n/SUPPORTED
на своем VPS.Настройки отображения и пользовательские настройки> draft_autosave: большинство пользователей ожидают, что их черновики будут сохранены практически мгновенно при вводе . Хотя Roundcube не предлагает мгновенное сохранение черновика в качестве опции, он может сохранять черновик пользователя каждую минуту. Выберите 1 min
из выпадающего меню.
Нажмите кнопку « CREATE CONFIG» в нижней части страницы, чтобы сохранить новую конфигурацию. Вы должны увидеть подтверждающее сообщение на соответствующей странице: «Файл конфигурации был успешно сохранен в каталоге RCMAIL_CONFIG_DIR вашей установки Roundcube .
Завершите настройку, нажав ПРОДОЛЖИТЬ .
Наконец, импортируйте структуру базы данных MySQL от Roundcube, нажав на кнопку Initialize database .
Удалить каталог установщика
Удалите /var/www/roundcube/installer
каталог, в котором находятся файлы веб-страниц, используемые только для настройки Roundcube:
sudo rm -rf /var/www/roundcube/installer
В то время как Roundcube автоматически отключил функциональность установщика в своем файле конфигурации, удаление каталога установщика добавляет еще один уровень защиты от злоумышленников.
Проверьте свой Roundcube Установка
Перейдите https://webmail.example.com
и войдите в систему, используя имя пользователя и пароль своей учетной записи электронной почты. Если ваша конфигурация работает, Roundcube позволит вам получать, читать и отправлять электронные письма как внутри, так и за пределами вашего доменного имени.
Сохранение Roundcube Обновленная
Сравните стабильную> полную версию пакета, указанную на странице загрузки Roundcube, с версией, установленной на вашем VPS.
Если доступна более новая версия, замените все вхождения на 1.3.3
самую новую версию в приведенной ниже команде. Это загрузит Roundcube в ваш ~/Downloads
каталог:
cd ~/Downloads && wget https://github.com/roundcube/roundcubemail/releases/download/1.3.3/roundcubemail-1.3.3-complete.tar.gz
Извлеките и распакуйте архив (файл .tar.gz), чтобы ~/Downloads
:
tar -zxvf roundcubemail-1.3.3.tar.gz
Начните обновлять Roundcube, выполнив /var/www/roundcube/bin/installto.sh
скрипт PHP. Если вы не установили Roundcube в /var/www/roundcube
каталог, замените конечный каталог каталогом Roundcube на вашем сервере:
cd roundcubemail-1.3.3
sudo php bin/installto.sh /var/www/roundcube
Подтвердите обновление, нажав Y, а затем ENTER . Успешное обновление напечатает что-то похожее на это:
Upgrading from 1.3.3. Do you want to continue? (y/N)
y
Copying files to target location...sending incremental file list
...
Running update script at target...
Executing database schema update.
This instance of Roundcube is up-to-date.
Have fun!
All done.
[/code]Все сделано означает, что обновление прошло успешно; если вы видите это сообщение, перейдите к шагу шесть.
Удалите каталог Roundcube и сжатый архив из ~/Downloads
:
cd ~/Downloads && rm -rfd roundcubemail-1.3.3 roundcubemail-1.3.3.tar.gz
Заключение
Теперь, когда вы установили Roundcube, у вас есть бесплатный сетевой почтовый клиент, похожий на Google Gmail. Пользователи могут получить доступ к своей электронной почте, перейдя к https://webmail.example.com
.
Отсюда вы можете установить плагины, чтобы добавить дополнительные функции и настроить тему в соответствии с цветовой схемой вашей организации.
Дополнительная информация
Вы можете обратиться к следующим ресурсам за дополнительной информацией по этой теме. Хотя они предоставляются в надежде, что они будут полезны, обратите внимание, что мы не можем ручаться за точность и своевременность размещенных извне материалов. +
Комментариев 0