суббота, 28 февраля 2009 г.

Web-client для работы с почтовым сервером

В предыдущей статье я детально описал, как установить на своей Ubuntu (у меня почему то эта операционка ассоциируется с женщиной ;)) mail server (он же "почтовый сервер") Postfix. Мы обеспечили доступ к нему по POP3 и IMAP протоколам, безопасную авторизацию и т. д. Осталось обеспечить возможность проверки почты с помощью WEB клиента.
Наиболее известным бесплатным и свободно распространяемым продуктом для этого является Squirrelmail. Этот Web-клиент разработан на PHP, имеет удобный интерфейс настроек, переведен на многие языки, для него существует много плагинов. В общем - сплошные плюсы.

Установка


Как я уже неоднократно упоминал, установка приложений в Ubuntu с помощью Aptitude - очень простое занятие.

Вот какие пакеты нам понадобятся для Squirrelmail:

[sourcecode language='bash']aptitude install squirrelmail squirrelmail-locales php-pear php5-cli[/sourcecode]

Настройки



Скорее всего сразу после инсталляции ваш веб-клиент будет доступен по адресу: www.domen1.com/squirrelmail (www.domen1.com - ваш домен)
Если это не так, то нужно проделать следующее:
[sourcecode language='bash']sudo cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail
sudo a2ensite squirrelmail[/sourcecode]
Тем самым мы копируем файл конфигурации по умолчанию в папку доступных сайтов Apache, после чего активируем его.

Теперь он точно будет доступен по адресу www.domen1.com/squirrelmail. Но это не совсем удобно.
Поэтому проделаем следующее:
[sourcecode language='bash']sudo nano /etc/apache2/sites-available/squirrelmail[/sourcecode]
Закомментируем следующие строки в файле настроек:
[sourcecode language='bash']# alias /squirrelmail /usr/share/squirrelmail[/sourcecode]
Уберем символы комментария в начале строк со следующего блока:
[sourcecode language='bash']# users will prefer a simple URL like http://webmail.example.com
DocumentRoot /usr/share/squirrelmail
ServerName webmail.domen1.com [/sourcecode]

Если для вашего сервера apache активирован SSL, то можно убрать комментарии с секции mod_rewrite для того, чтобы обеспечить наилучшую безопасность системы.
Сохраните файл. Потом проверьте настройки apache:
[sourcecode language='bash']sudo apache2ctl -t[/sourcecode]
Если все нормально - перегрузите apache:
[sourcecode language='bash']sudo /etc/init.d/apache2 reload[/sourcecode]

Теперь мы можете заходить как domain1.com/squirrelmail/ или webmail.domain1.com если предпочитаете виртуальный хост.
Кстати, в этом файле еще можно добавить блок типа:
code

Это заставит сервер автоматически переходить на защищеное https соединение. Активируйте в том случае, если у вам работает mod_rewrite и mod_ssl

Теперь пришло время настроить собственно squirrelmail, чтобы вы могли не только увидеть его стартовую страничку, но и проверить свою почту.
[sourcecode language='bash']sudo squirrelmail-configure[/sourcecode]
Откроется интерфейс конфигурации веб-клиента.

Нажмите 2 (+Enter) чтобы войти в секцию настроек сервера. Нажмите A, чтобы редактировать настройки IMAP.

Нажмите 8 чтобы изменить программу авторизации. введите courier.
[sourcecode language='bash']courier[/sourcecode]

Теперь нажмем 7, чтобы изменить настройки безопасности secure IMAP. Введите Y для активации.
Введите 5 для редактирования порта IMAP. Введите значение 993.
Нажмите S для сохранения настроек. И "Enter".
Нажмите Q, чтобы выйти из программы настроек.

Сейчас вы можете зайти на страницу domain1.com/squirrelmail/ или webmail.domain1.com и попробовать проверить свою почту, залогинившись.

squirrelmail

Кстати, видите - у меня на скриншоте все на русском языке ;) В программе настроек squirrelmail был пункт '10 - language', который позволял изменить кодировку.
У себя я там изобразил что-то похожее на:
[sourcecode language='bash']Language preferences
1. Default Language : ru_RU
2. Default Charset : cp1251
3. Enable lossy encoding : false[/sourcecode]

Пробуйте. Пишите комментарии и замечания.

11 комментариев:


  1. GiNeR :
    cp1251 — не стоит, лучше utf8[Ответить]
    Согласен. Существенно лучше. У меня стоит 1251 в силу некоторых обстоятельств. Вообще, если есть возможность нужно везде использовать UTF8...

    ОтветитьУдалить
  2. а что делать если у меня пишет its works и все ???? что я не так сделал подскажите???

    ОтветитьУдалить
  3. мне необходимо использовать alias Apache'а но при его использовании белка не русифицируется.
    что нить знает почему?

    ОтветитьУдалить
  4. Как какой логин и пасс водить то?

    ОтветитьУдалить
  5. @Joe
    Не понял вопрос. Видимо речь о логине и пароле, которые надо вводить в веб клиенте - тогда это ваши логин и пароль от почтового ящика

    ОтветитьУдалить

  6. Сергей :
    а что делать если у меня пишет its works и все ???? что я не так сделал подскажите???Ответить
    настройки апача смотри))) /etc/apache2/sites-enabled/default тут все прописал???

    что типо этого должно быть)))

    ServerName твой_домен.ru
    ServerAdmin webmaster@твой_домен.ru
    DocumentRoot /home/папка_с_белкой

    AllowOverride All
    Options -Indexes

    ОтветитьУдалить
  7. Вы попадаете на свой дефолт сайт, а не на веб морду почты.

    ОтветитьУдалить
  8. Здравствуйте настроил squirrelmail все работает письма получает отправляет. Хочу настроить чтобы пользователи сами себе меняли пароль из squirrelmail сделал по
    http://raznoit.ru/2009/12/virtualnye-polzovateli-i-domeny-ispolzuya-postfix-courier-mysql-i-squirrelmail-ubuntu-9-10/

    но squirrelmail ругается на это:

    DATABASE ERROR: could not lookup old password:

    это я если старый пароль введу правильно а если нарочно введу неправильно то он грит что пароль неправильный. Вы может сталкивались с такой проблемой.

    ОтветитьУдалить
  9. Я уже и не помню... Давно грохнул свой сервак и пользуюсь гуглопочтой для домена... Гораздо удобнее

    ОтветитьУдалить
  10. [...] работает. Остались небольшие дополнения, но о них в следующей статье. Так же в конце мы убедимся, что наш сервер не [...]

    ОтветитьУдалить