На серверах и дома. Slackware Linux

Создаем сервис веб-почты



Я пользовался нижеописанной схемой на Linux Slackware, однако это руководство будет справедливо для большинства Linux и *BSD систем.

Нам понадобится:
  • sqwebmail
  • qmail
  • apache

Процедура сборки:

  1. Заменяем sendmail на qmail.
  2. Собираем apache
  3. Собираем sqwebmail

1 Заменяем sendmail на qmail.

      Я использовал qmail-1.03.
      1.1 Разворачиваем тарбол, вдумчиво читаем INSTALL и все те файлы, к которым из этого файла отсылают.
      1.2 Создаем каталог /var/qmail.
      1.3 Создаем необходимые для работы qmail группы и пользователей. (Я это делал путем редактирования /etc/passwd, /etc/shadow и /etc/group вручную.)
      1.3.1 Добавляем группы nofiles и nogroup в /etc/group:
nofiles:x:102:
qmail:x:103:
      1.3.2 Добавляем пользователей в /etc/passwd:
alias:x:1002:102:qmail user:/var/qmail/alias:/nonexistent
qmaild:x:1003:102:qmail user:/var/qmail:/nonexistent
qmaill:x:1004:102:qmail user:/var/qmail:/nonexistent
qmailp:x:1005:102:qmail user:/var/qmail:/nonexistent
qmailq:x:1006:103:qmail user:/var/qmail:/nonexistent
qmailr:x:1007:103:qmail user:/var/qmail:/nonexistent
qmails:x:1008:103:qmail user:/var/qmail:/nonexistent
      1.3.3 В /etc/shadow:
alias:*:9797:0:::::
qmaild:*:9797:0:::::
qmaill:*:9797:0:::::
qmailp:*:9797:0:::::
qmailq:*:9797:0:::::
qmailr:*:9797:0:::::
      1.4 Компилируем qmail, выполняя команду make setup check в том каталоге, куда вы распаковали qmail.
      1.5 Запускаем скрипт config.
      1.6 В домашнем каталоге пользователя alias (/var/qmail/alias) создаем следующие файлы: .qmail-postmaster .qmail-mailer-daemon .qmail-root
      1.7 Копируем /var/qmail/boot/home+df в /var/qmail/rc (qmail будет стартовать с поддержкой ~/.forward файлов в формате sendmail)
      1.8 Выполняем следующие команды (в каталоге, где компилировали qmail):
% ./maildirmake $HOME/Maildir
% echo ./Maildir/ ] ~/.qmail
      1.9 Заменяем в /var/qmail/rc ./Mailbox на ./Maildir/
      1.10 Проверяем работоспособность qmail.
      1.10 Удаляем из системы sendmail (если он есть)
      1.10.1 Удаляем sendmail из стартовых скриптов (/etc/rc.d/rc.M)
      1.10.2 Прибиваем процесс: killall -9 sendmail. (не совсем аккуратно, зато эффективно =))
      1.10.1 Снимаем setuid с бинарника и вообще убираем его с глаз долой:
% chmod 0 /usr/sbin/sendmail
% mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
      1.11 Добавляем запуск qmail в стартовые скрипты, например, в /etc/rc.d/rc.inet2: строчка /var/qmail/rc &

2 Устанавливаем Apache web-сервер

      По поводу конфигурирования Apache написано много и хорошо, так что я не буду здесь подробно на этом останавливаться, а просто опишу стандартную процедуру установки:
      2.1 Разворачиваем тарбол
      2.2 Запускаем скрипт configure
      2.3 Выполняем команду make
      2.4 Выполняем команду make install
      2.5 Конфигурируем наш веб-сервер, редактируя /usr/local/apache/conf/httpd.conf (ну или куда вы там его установили)

3 Устанавливаем sqwebmail

      3.1 Распаковываем тарбол
      3.2 Выполняем следующие команды:
% ./configure
% make configure-check
% make
% make check
% make install-strip
% make install-configure
      3.3 Выбираем тип авторизации: в /usr/local/share/sqwebmail/authdaemonrc находим строчку authmodulelist="..." - она определяет последовательность использования различных методов авторизации. Прописываем authmodulelist="authuserdb authshadow". Таким образом, сначала authdaemon будет пытаться авторизовать пользователя, используя информацию из базы пользователей /etc/userdb, а затем, если данные об этом пользователе отсутствуют в этой базе, через /etc/shadow.
      3.4 Добавляем в стартовые скрипты строчку запуска демона авторизации: /usr/local/share/sqwebmail/libexec/authlib/authdaemond start

27.01.2002
Den aka Diesel