Установка и настройка roundcube из исходников: различия между версиями
Misha (обсуждение | вклад) (→Скачать и распаковать дистрибутив) |
Misha (обсуждение | вклад) (→SMTP Settings) |
||
(не показано 26 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | Можно, конечно, поставить roundcube из репозитария, но там более старая версия. Да мы не ищем простых путей. | + | Можно, конечно, поставить roundcube из репозитария, но там более старая версия. Да мы не ищем простых путей.<br /> |
+ | Данная настройка работает с Postfix, настроенный по этой [http://www.volmed.org.ru/wiki/index.php/%D0%9F%D0%BE%D1%87%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_Postfix,_Dovecot_%D0%B8_Ubuntu_14.04_LTS#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.B5.D0.BC_.D1.84.D0.B0.D0.B9.D0.BB.D1.8B_.D0.BE.D0.B1.D1.80.D0.B0.D1.89.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BA_.D0.B1.D0.B0.D0.B7.D0.B5_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85 статье]. | ||
==Скачать и распаковать дистрибутив== | ==Скачать и распаковать дистрибутив== | ||
− | Идем на [http://roundcube.net/download/ roundcube] и скачиваем последнюю версию Complete (в нашем случае = это: 1. | + | Идем на [http://roundcube.net/download/ roundcube] и скачиваем последнюю версию Complete (в нашем случае = это: 1.6.0)<br /> |
Расспаковываем его в папку /var/www/roundcube | Расспаковываем его в папку /var/www/roundcube | ||
− | <pre>sudo tar -xvzf roundcubemail-1. | + | <pre>sudo tar -xvzf roundcubemail-1.6.0-complete.tar.gz -C /var/www/ |
sudo mv /var/www/roundcube* /var/www/roundcube | sudo mv /var/www/roundcube* /var/www/roundcube | ||
sudo chown -R www-data:www-data /var/www/roundcube</pre> | sudo chown -R www-data:www-data /var/www/roundcube</pre> | ||
− | ==Настройка Apache | + | |
+ | ==Настройка компонентов== | ||
+ | ===Apache=== | ||
Для работы roundcube нужно разрешить следующие модули | Для работы roundcube нужно разрешить следующие модули | ||
<pre>sudo a2enmod deflate | <pre>sudo a2enmod deflate | ||
sudo a2enmod expires | sudo a2enmod expires | ||
sudo a2enmod headers</pre> | sudo a2enmod headers</pre> | ||
+ | Файл конфигурации легко найти в Интернете<br> | ||
+ | Вот один вариант (мб он уже устарел)<br> | ||
+ | Создаем файл /etc/apache2/sites-inable/mail.conf, изменив domen.ru на свой. | ||
+ | <pre><VirtualHost *:80> | ||
+ | ServerName mail.domen.ru | ||
+ | ServerAlias domen.ru | ||
+ | ErrorLog /var/log/apache2/mail-error_log | ||
+ | CustomLog /var/log/apache2/mail-access_log common | ||
+ | |||
+ | DocumentRoot /var/www/roundcube | ||
+ | |||
+ | <Directory /var/www/roundcube> | ||
+ | Options +FollowSymLinks | ||
+ | # AddDefaultCharset UTF-8 | ||
+ | AddType text/x-component .htc | ||
+ | |||
+ | <IfModule mod_php5.c> | ||
+ | php_flag display_errors Off | ||
+ | php_flag log_errors On | ||
+ | # php_value error_log logs/errors | ||
+ | php_value upload_max_filesize 10M | ||
+ | php_value post_max_size 12M | ||
+ | php_value memory_limit 64M | ||
+ | php_flag zlib.output_compression Off | ||
+ | php_flag magic_quotes_gpc Off | ||
+ | php_flag magic_quotes_runtime Off | ||
+ | php_flag zend.ze1_compatibility_mode Off | ||
+ | php_flag suhosin.session.encrypt Off | ||
+ | #php_value session.cookie_path / | ||
+ | php_flag session.auto_start Off | ||
+ | php_value session.gc_maxlifetime 21600 | ||
+ | php_value session.gc_divisor 500 | ||
+ | php_value session.gc_probability 1 | ||
+ | </IfModule> | ||
+ | |||
+ | <IfModule mod_rewrite.c> | ||
+ | RewriteEngine On | ||
+ | RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico | ||
+ | # security rules: | ||
+ | # - deny access to files not containing a dot or starting with a dot | ||
+ | # in all locations except installer directory | ||
+ | RewriteRule ^(?!installer)(\.?[^\.]+)$ - [F] | ||
+ | # - deny access to some locations | ||
+ | RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F] | ||
+ | # - deny access to some documentation files | ||
+ | RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$ - [F] | ||
+ | </IfModule> | ||
+ | |||
+ | <IfModule mod_deflate.c> | ||
+ | SetOutputFilter DEFLATE | ||
+ | </IfModule> | ||
+ | |||
+ | <IfModule mod_headers.c> | ||
+ | # replace 'append' with 'merge' for Apache version 2.2.9 and later | ||
+ | # Header append Cache-Control public env=!NO_CACHE | ||
+ | </IfModule> | ||
+ | |||
+ | <IfModule mod_expires.c> | ||
+ | ExpiresActive On | ||
+ | ExpiresDefault "access plus 1 month" | ||
+ | </IfModule> | ||
+ | |||
+ | FileETag MTime Size | ||
+ | |||
+ | <IfModule mod_autoindex.c> | ||
+ | Options -Indexes | ||
+ | </ifModule> | ||
+ | |||
+ | AllowOverride None | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | </Directory> | ||
+ | |||
+ | <Directory /var/www/roundcube/plugins/enigma/home> | ||
+ | Options -FollowSymLinks | ||
+ | AllowOverride None | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | </Directory> | ||
+ | |||
+ | <Directory /var/www/roundcube/config> | ||
+ | Options -FollowSymLinks | ||
+ | AllowOverride None | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | </Directory> | ||
+ | |||
+ | <Directory /var/www/roundcube/temp> | ||
+ | Options -FollowSymLinks | ||
+ | AllowOverride None | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | </Directory> | ||
+ | |||
+ | <Directory /var/www/roundcube/logs> | ||
+ | Options -FollowSymLinks | ||
+ | AllowOverride None | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | </Directory> | ||
+ | </VirtualHost> | ||
+ | </pre> | ||
+ | Прописываем в DNS (или пока в /etc/hosts) mail.domen.ru<br /> | ||
+ | Перезапускаем apache2 | ||
+ | <pre>sudo service apache2 restart</pre> | ||
+ | |||
+ | ===PHP=== | ||
+ | И заходим в браузере по адресу '''http://mail.domen.ru/installer'''<br /> | ||
+ | Попадаем на Roundcube Webmail Installer -> Check environment и смотрим - что не хватает в нашей системе для работы roundcube. И устанавливаем необходимые модули. В моем случае не хватало модулей php Mcrypt и Intl | ||
+ | <pre>sudo apt-get install php5-mcrypt | ||
+ | sudo apt-get install php5-intl | ||
+ | sudo service apache2 restart</pre> | ||
+ | Но инсталлятор говорил, что php5-mcrypt уже установлен. Тогда делаем | ||
+ | <pre>sudo php5enmod mcrypt | ||
+ | sudo service apache2 restart</pre> | ||
+ | '''date.timezone: false''' | ||
+ | Редактируем /etc/php5/apache2/php.ini | ||
+ | date.timezone = Europe/Moscow | ||
+ | Далее | ||
+ | sudo service apache2 restart | ||
+ | |||
+ | ===База данных=== | ||
+ | Смотрим в разделе '''Checking available databases''' - есть ли нужный драйвер базы данных. | ||
+ | Если есть - все ок, если нет - устанавливаем. | ||
+ | ==Настройка базы данных== | ||
+ | <pre>mysql -uroot -p | ||
+ | CREATE DATABASE roundcube; | ||
+ | USE roundcube;</pre> | ||
+ | Внимание! Далее будет использоваться пользователь '''roundcube''' и его пароль '''password''' для доступа к базе данных в MySQL. Вместо '''roundcube''' и '''password''' Вы можете задать свои значения. | ||
+ | <pre>GRANT all ON roundcube.* TO 'roundcube'@'localhost' IDENTIFIED BY 'password'; | ||
+ | FLUSH PRIVILEGES;</pre> | ||
+ | |||
+ | ==Настройка параметров работы== | ||
+ | Продолжаем настраивать в браузере по адресу '''http://mail.domen.ru/installer'''<br /> | ||
+ | Жмем '''NEXT''' и далее настраиваем<br /> | ||
+ | Те настройки, которые понятны, я описывать не буду. | ||
+ | ===IMAP Settings=== | ||
+ | Данные установки это для моего сервера. Для почтовика с другими параметрами подключения, данные параметры мб другими | ||
+ | <pre> | ||
+ | // ---------------------------------- | ||
+ | // IMAP | ||
+ | // ---------------------------------- | ||
+ | $config['debug_level'] = 13; | ||
+ | $config['default_host'] = 'ssl://mail.volmed.org.ru'; | ||
+ | $config['default_port'] = 993; | ||
+ | $config['imap_conn_options'] = array ( | ||
+ | 'ssl' => | ||
+ | array ( | ||
+ | 'verify_peer_name' => false, | ||
+ | 'verify_peer' => false, | ||
+ | ), | ||
+ | ); | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | ===SMTP Settings=== | ||
+ | Данные установки это для моего сервера. Для почтовика с другими параметрами подключения, данные параметры мб другими | ||
+ | <pre> | ||
+ | // ---------------------------------- | ||
+ | // SMTP | ||
+ | // ---------------------------------- | ||
+ | $config['smtp_server'] = 'ssl://mail.volmed.org.ru'; | ||
+ | $config['smtp_port'] = 465; | ||
+ | $config['smtp_user'] = ''; | ||
+ | $config['smtp_auth_type'] = 'PLAIN'; | ||
+ | $config['smtp_conn_options'] = array ( | ||
+ | 'ssl' => | ||
+ | array ( | ||
+ | 'verify_peer' => false, | ||
+ | 'verify_peer_name' => false, | ||
+ | ), | ||
+ | ); | ||
+ | </pre> | ||
+ | |||
+ | ===Display settings & user prefs=== | ||
+ | language * | ||
+ | ru_RU | ||
+ | |||
+ | ==Тестирование конфигурации== | ||
+ | Жмем '''CREATE CONFIG''' -> '''CONTINUE'''<br /> | ||
+ | Попадаем в '''Test config'''<br /> | ||
+ | Смотрим, что бы все проверки были - ОК | ||
+ | ===Test SMTP config=== | ||
+ | Пробуем отправить письмо, вводя данные для отправки почты.<br> | ||
+ | Вводим только email адреса от кого и куда почта будет уходить<br> | ||
+ | Жмем Send Test Mail. И если все нормально, то мы это увидим в любом почтовом клиенте, в котором можно посмотреть п/я адресата. | ||
+ | |||
+ | ===Test IMAP config=== | ||
+ | Вводим имя и пароль почтового ящика и жмем '''Check Login''' | ||
+ | |||
+ | ==Окончание настройки== | ||
+ | После проверки работы из web интерфейса http://mail.domain.ru, нужно удалить папку | ||
+ | <pre>rm /var/www/raundcube/installer/</pre> |
Текущая версия на 10:51, 25 апреля 2024
Можно, конечно, поставить roundcube из репозитария, но там более старая версия. Да мы не ищем простых путей.
Данная настройка работает с Postfix, настроенный по этой статье.
Содержание
Скачать и распаковать дистрибутив
Идем на roundcube и скачиваем последнюю версию Complete (в нашем случае = это: 1.6.0)
Расспаковываем его в папку /var/www/roundcube
sudo tar -xvzf roundcubemail-1.6.0-complete.tar.gz -C /var/www/ sudo mv /var/www/roundcube* /var/www/roundcube sudo chown -R www-data:www-data /var/www/roundcube
Настройка компонентов
Apache
Для работы roundcube нужно разрешить следующие модули
sudo a2enmod deflate sudo a2enmod expires sudo a2enmod headers
Файл конфигурации легко найти в Интернете
Вот один вариант (мб он уже устарел)
Создаем файл /etc/apache2/sites-inable/mail.conf, изменив domen.ru на свой.
<VirtualHost *:80> ServerName mail.domen.ru ServerAlias domen.ru ErrorLog /var/log/apache2/mail-error_log CustomLog /var/log/apache2/mail-access_log common DocumentRoot /var/www/roundcube <Directory /var/www/roundcube> Options +FollowSymLinks # AddDefaultCharset UTF-8 AddType text/x-component .htc <IfModule mod_php5.c> php_flag display_errors Off php_flag log_errors On # php_value error_log logs/errors php_value upload_max_filesize 10M php_value post_max_size 12M php_value memory_limit 64M php_flag zlib.output_compression Off php_flag magic_quotes_gpc Off php_flag magic_quotes_runtime Off php_flag zend.ze1_compatibility_mode Off php_flag suhosin.session.encrypt Off #php_value session.cookie_path / php_flag session.auto_start Off php_value session.gc_maxlifetime 21600 php_value session.gc_divisor 500 php_value session.gc_probability 1 </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico # security rules: # - deny access to files not containing a dot or starting with a dot # in all locations except installer directory RewriteRule ^(?!installer)(\.?[^\.]+)$ - [F] # - deny access to some locations RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F] # - deny access to some documentation files RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$ - [F] </IfModule> <IfModule mod_deflate.c> SetOutputFilter DEFLATE </IfModule> <IfModule mod_headers.c> # replace 'append' with 'merge' for Apache version 2.2.9 and later # Header append Cache-Control public env=!NO_CACHE </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" </IfModule> FileETag MTime Size <IfModule mod_autoindex.c> Options -Indexes </ifModule> AllowOverride None Order allow,deny Allow from all </Directory> <Directory /var/www/roundcube/plugins/enigma/home> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> <Directory /var/www/roundcube/config> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> <Directory /var/www/roundcube/temp> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> <Directory /var/www/roundcube/logs> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> </VirtualHost>
Прописываем в DNS (или пока в /etc/hosts) mail.domen.ru
Перезапускаем apache2
sudo service apache2 restart
PHP
И заходим в браузере по адресу http://mail.domen.ru/installer
Попадаем на Roundcube Webmail Installer -> Check environment и смотрим - что не хватает в нашей системе для работы roundcube. И устанавливаем необходимые модули. В моем случае не хватало модулей php Mcrypt и Intl
sudo apt-get install php5-mcrypt sudo apt-get install php5-intl sudo service apache2 restart
Но инсталлятор говорил, что php5-mcrypt уже установлен. Тогда делаем
sudo php5enmod mcrypt sudo service apache2 restart
date.timezone: false
Редактируем /etc/php5/apache2/php.ini
date.timezone = Europe/Moscow
Далее
sudo service apache2 restart
База данных
Смотрим в разделе Checking available databases - есть ли нужный драйвер базы данных. Если есть - все ок, если нет - устанавливаем.
Настройка базы данных
mysql -uroot -p CREATE DATABASE roundcube; USE roundcube;
Внимание! Далее будет использоваться пользователь roundcube и его пароль password для доступа к базе данных в MySQL. Вместо roundcube и password Вы можете задать свои значения.
GRANT all ON roundcube.* TO 'roundcube'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
Настройка параметров работы
Продолжаем настраивать в браузере по адресу http://mail.domen.ru/installer
Жмем NEXT и далее настраиваем
Те настройки, которые понятны, я описывать не буду.
IMAP Settings
Данные установки это для моего сервера. Для почтовика с другими параметрами подключения, данные параметры мб другими
// ---------------------------------- // IMAP // ---------------------------------- $config['debug_level'] = 13; $config['default_host'] = 'ssl://mail.volmed.org.ru'; $config['default_port'] = 993; $config['imap_conn_options'] = array ( 'ssl' => array ( 'verify_peer_name' => false, 'verify_peer' => false, ), );
SMTP Settings
Данные установки это для моего сервера. Для почтовика с другими параметрами подключения, данные параметры мб другими
// ---------------------------------- // SMTP // ---------------------------------- $config['smtp_server'] = 'ssl://mail.volmed.org.ru'; $config['smtp_port'] = 465; $config['smtp_user'] = ''; $config['smtp_auth_type'] = 'PLAIN'; $config['smtp_conn_options'] = array ( 'ssl' => array ( 'verify_peer' => false, 'verify_peer_name' => false, ), );
Display settings & user prefs
language *
ru_RU
Тестирование конфигурации
Жмем CREATE CONFIG -> CONTINUE
Попадаем в Test config
Смотрим, что бы все проверки были - ОК
Test SMTP config
Пробуем отправить письмо, вводя данные для отправки почты.
Вводим только email адреса от кого и куда почта будет уходить
Жмем Send Test Mail. И если все нормально, то мы это увидим в любом почтовом клиенте, в котором можно посмотреть п/я адресата.
Test IMAP config
Вводим имя и пароль почтового ящика и жмем Check Login
Окончание настройки
После проверки работы из web интерфейса http://mail.domain.ru, нужно удалить папку
rm /var/www/raundcube/installer/