Есть webserver c ОС Centos 7 под управление Vesta CP, решил установить на него PHP 7. Установка прошла успешно, все сайты работают, но пропал доступ к почте через web интерфейс. При попытке подключиться на url http://domain.ru/ webmail в браузере выходит ошибка 404
Not Found The requested URL /webmail was not found on this server.
Ниже рассмотрены решение проблемы, а также возможные ошибки.
Установка roundcubemail
Иду в директорию roundcubemail, /usr/share/roundcubemail
и вижу что в ней только папка plugins и больше ничего. Устанавливаю roundcubemail заново
yum install –y roundcubemail
Далее открываем /etc/httpd/conf.d/roundcubemail.conf
vi /etc/httpd/conf.d/roundcubemail.conf
Ищем в начале файла строчку Alias /webmail /usr/share/roundcubemail
. Если строка есть, то ничего не делаем, если нет, то прописываем eе, у меня файл выглядит так
# #Round Cube Webmail is a browser-based multilingual IMAP client # Alias /roundcubemail /usr/share/roundcubemail Alias /webmail /usr/share/roundcubemail
рестартуем httpd
systemctl restart httpd
После чего страница http://domain.ru/ webmail должна открываться. Если же выходит ошибка
You don't have permission to access /webmail/ on this server
То открываем файл /etc/httpd/conf.d/roundcubemail.conf
и правим следующую секцию
<Directory /usr/share/roundcubemail/> <IfModule mod_authz_core.c> # Apache 2.4 Require local </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow #Deny from all Allow from all Allow from ::1 </IfModule> </Directory>
на
<Directory /usr/share/roundcubemail/> Order Deny,Allow Deny from all Allow from all </Directory>
Не забудьте рестартануть httpd командой
systemctl restart httpd.
Неудачное соединение с IMAP сервером.
Теперь webmail открывается, но при попытки авторизации появляется ошибка «Неудачное соединение с IMAP сервером». Смотрю логи dovecot
tail -f /var/log/dovecot.log
Вижу ошибку
Error: user user@domain.ru: Initialization failed: namespace configuration error: inbox=yes namespace missing
Правим файл /etc/dovecot/conf.d/15-mailboxes.conf
vi /etc/dovecot/conf.d/15-mailboxes.conf
Добавляя параметр inbox = yes
То есть в начале должно быть
namespace inbox { inbox = yes #mailbox name {
Рестартуем dovecot
systemctl restart dovecot
После чего все нормально заработало
Ошибка «Неверный запрос! Информация не сохранена.»
Через некоторое время при попытке войти в webmail стала выскакивать ошибка «Неверный запрос! Информация не сохранена.»
При этом в логах ничего нет, попробовал зайти по https, т.е https://domain.ru/webmail/ Ввожу логин пароль, в почту не пускает, но ошибка другая «Неудачная попытка входа.»
В логах dovecot появилась строчка open(/etc/exim/domains/domain.ru/passwd) failed: Permission denied. Уже что то, даю права 777 на файл passwd.
chmod 777 /etc/exim/domains/domain.ru/passwd
Пытаюсь войти, все работает. Но радоваться как оказалось рано, при попытке отправить письма выскакивает ошибка «451 temporary local problem — please try later». Снова смотрим логи. В файле /var/log/exim/reject.log вижу строчку «failed to open /etc/exim/domains/domain.ru/aliases for linear search: Permission denied». Даю права на этот файл
chmod 777 /etc/exim/domains/domain.ru/aliases
И о чудо, наконец то все заработало! Конечно давать права 777 на файл паролей не хорошо, прошу в комментариях указать правильные права на эти два файла.
Спасибо тебе добрый человек. Всю голову сломал что случилось, нашел ответ на вашем сайте.