Введение
Roundcube — это веб-клиент электронной почты IMAP с очень интуитивно понятным и современным пользовательским интерфейсом, написанным на PHP. Для использования Roundcube вам нужен только веб-браузер.
RoundCube включает в себя все функции, которые вам нужны в почтовом клиенте, такие как составление сообщения в форматированном тексте /HTML, адресная книга, поддержка электронной почты MIME /HTML, идентификация нескольких отправителей, проверка орфографии, представление в три столбца, перетаскивание и многое другое.
Предпосылки
Прежде чем продолжить работу с этим учебным пособием, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.
Также в вашей системе должны быть установлены Nginx, MySQL и PHP. Следуйте этому руководству: Как установить LEMP на Ubuntu 18.04 LTS.
Если вы хотите установить и настроить Roundcube Webmail на удаленном сервере, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Установить PHP-зависимости
Мы начнем с обновления списка пакетов и установки всех зависимостей PHP, необходимых для установки веб-почты roundcube:
sudo apt update
sudo apt install php php-intl php-mail-mime php-net-smtp php-net-socket php-pear php-xml php-intl php-xml php-gd php-gd php-imagick php-ldap php-zip php-auth-sasl php-net-idna2 php-net-ldap3
После завершения установки выполните следующую команду sed
, чтобы установить для параметра date.timezone
значение UTC
:
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini
Перезапустите службу PHP FPM, чтобы изменения вступили в силу:
sudo systemctl restart php7.2-fpm
Создайте базу данных MySQL
Roundcube поддерживает базы данных MySQL, PostgreSQL и SQLite.
Если вы следовали нашему руководству по установке LEMP, рекомендованному в предварительных требованиях этого руководства, у вас будет установлен MySQL.
В этом руководстве мы будем использовать MySQL в качестве сервера базы данных. Войдите в оболочку MySQL:
mysql -u root -p
Создайте новую базу данных MySQL, пользователя и предоставьте этому пользователю привилегии во вновь созданной базе данных:
CREATE DATABASE roundcubemail;
GRANT ALL ON roundcubemail.* TO 'roundcubemail'@'localhost' IDENTIFIED BY 'P4ssvv0rD';
FLUSH PRIVILEGES;
exit;
Скачать Roundcube
На момент написания этой статьи 1.4.2 является последней стабильной версией Roundcube. Прежде чем перейти к следующему шагу, вы должны проверить страницу загрузки Roundcube, чтобы узнать, доступна ли более новая версия.
Начните с загрузки архива Roundcube с помощью следующей команды wget:
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.2/roundcubemail-1.4.2.tar.gz
После завершения загрузки распакуйте архив и переместите код Roundcube в /var/www/roundcubemail
:
tar xzf roundcubemail-1.4.2.tar.gz
sudo mv roundcubemail-1.4.2//var/www/html/roundcubemail
Nginx и PHP-FPM работают под пользователем www-data
, поэтому нам нужно сменить владельца /var/www/postfixadmin
на этого пользователя:
sudo chown -R www-data: /var/www/html/roundcubemail
Настроить Nginx
Откройте файл конфигурации Nginx, в нашем примере мы используем файл по умолчанию. Если у вас настроен домен, используйте файл domainname.com.conf и добавьте следующие директивы:
sudo nano /etc/nginx/sites-available/default
...
location /roundcubemail {
index index.php;
try_files $uri $uri//roundcubemail/index.php;
}
location ~ ^/roundcubemail/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
deny all;
}
location ~ ^/roundcubemail/(bin|SQL|config|temp|logs)/{
deny all;
}...
Если вы следовали нашему руководству по установке LEMP, рекомендованному в предварительных требованиях, окончательная конфигурация должна выглядеть так:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name server_domain_or_IP;
location /roundcubemail {
index index.php;
try_files $uri $uri//roundcubemail/index.php;
}
location ~ ^/roundcubemail/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
deny all;
}
location ~ ^/roundcubemail/(bin|SQL|config|temp|logs)/{
deny all;
}
location /{
try_files $uri $uri/=404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Перезагрузите службу Nginx, чтобы изменения вступили в силу:
sudo systemctl reload nginx
Настроить Roundcube
Откройте браузер и перейдите по https://DOMINIO_O_IP/roundcubemail/installer
.
Вы увидите первую страницу проверки roundcube.
Если все необходимые расширения PHP загружены, мы можем перейти к следующему шагу, где мы можем настроить нашу установку Roundcube.
Наиболее важной частью здесь является ввод данных базы данных MySQL.
После завершения этапа настройки перейдите к следующему шагу и импортируйте структуру базы данных Roundcube MySQL, нажав кнопку « Initialize database
».
После создания структуры базы данных удалите каталог installer
, чтобы предотвратить изменение конфигурации и/или несанкционированный доступ.
sudo rm -rf /var/www/html/roundcubemail/installer
Включение автоматической очистки кеша Roundcube не является обязательным, но рекомендуется:
sudo crontab -u www-data -l | { cat; echo "18 11 * * * /var/www/html/roundcubemail/bin/cleandb.sh"; } | sudo crontab -u www-data -
Проверьте установку Roundcube
Откройте веб-браузер, перейдите по адресу: https://DOMINIO_O_IP/roundcubemail
и войдите в систему, используя имя пользователя и пароль своей учетной записи электронной почты.
Включить плагин Roundcube
Roundcube поставляется с рядом плагинов, которые по умолчанию отключены. В этом руководстве мы managesieve
для password
и управления. Эти плагины позволят пользователям создавать фильтры и изменять свои пароли из интерфейса Roundcube.
Откройте следующий файл конфигурации roundcubemail:
sudo nano /var/www/html/roundcubemail/config/config.inc.php
Отредактируйте последнюю строку $config['plugins'] = array();
так:
//Enable plugins
$config['plugins'] = array('managesieve','password');
Добавьте эти строки в конец файла, стараясь изменить данные с вашими учетными данными:
$config['password_driver'] = 'sql';
$config['password_db_dsn'] = 'mysql://postfixadmin:P4ssvv0rD@localhost/postfixadmin';
$config['password_query'] = 'UPDATE mailbox SET password=%c WHERE username=%u';
Сохраните и закройте файл.
Вывод
В этом руководстве показано, как установить и настроить веб-почту Roundcube в вашей системе Ubuntu, а также как установить и включить плагины Roundcube для добавления дополнительных функций, таких как просеивающие фильтры.