Установка и настройка roundcube из исходников: различия между версиями
Misha (обсуждение | вклад) |
Misha (обсуждение | вклад) |
||
| Строка 6: | Строка 6: | ||
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 и php=== | ==Настройка Apache и php== | ||
===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> | ||
Создаем файл /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> | |||
И заходим в браузере по адресу '''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> | |||
Версия от 12:15, 27 апреля 2014
Можно, конечно, поставить roundcube из репозитария, но там более старая версия. Да мы не ищем простых путей.
Скачать и распаковать дистрибутив
Идем на roundcube и скачиваем последнюю версию Complete (в нашем случае = это: 1.0.0)
Расспаковываем его в папку /var/www/roundcube
sudo tar -xvzf roundcubemail-1.0.0.tar.gz -C /var/www/ sudo mv /var/www/roundcube* /var/www/roundcube sudo chown -R www-data:www-data /var/www/roundcube
Настройка Apache и php
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
И заходим в браузере по адресу 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