Linux-сервер своими руками
Шрифт:
После этого нужно настроить сервер, то есть отредактировать его файлы конфигурации. Настройка Russian Apache не отличается от настройки обыкновенного сервера Apache, за исключением настройки модуля перекодирования. Ниже будет рассмотрена настройка именно перекодирования «на лету», так как настройка самого сервера описана в предыдущих пунктах этой главы.
Директивы перекодирования можно разделить на три группы. Первые указывают в какой кодировке хранятся файлы на диске, вторые — определяют названия кодировок, их псевдонимов, таблиц символов. Третья группа определяет порядок перекодирования документов. Приведу небольшой пример использования первой группы кодировок:
Эти
Данные директивы можно включать в блок Location или в файлы .htaccess.
Ко второй группе относятся директивы CharsetDecl, CharsetAlias, CharsetRecodeTable и CharsetWideRecodeTable. Они находятся в блоке <IfModule mod_charset.c> — </IfModule> и не нуждаются в изменении. Необходимо только отметить (это нужно для понимания дальнейшего материала), что директива CharsetDecl используется для объявления кодировки, а CharsetAlias — для объявления псевдонима кодировки, например:
Название языка (ru) должно быть определено в файле conf/srm.conf в директивах Add Language и LanguagePriority.
С помощью третьей, самой многочисленной, группы вы можете настроить сервер для автоматической перекодировки символов на основании информации о клиенте. Например, определив, что клиент работает в операционной системе Windows и кодировкой браузера по умолчанию является Windows-1251, сервер самостоятельно перекодирует файлы в нужную кодировку. Если сервер сделает выбор неправильно, пользователь всегда сможет сам изменить кодировку вручную. Существует три способа выбора кодировки: По каталогу, например:
По имени сервера, например:
По порту, например:
Теперь рассмотрим каждый из этих способов.
Для перекодирования по каталогу (точнее, по его префиксу) нужно добавить в блоке VirtualHost псевдоним, например:
Или же просто создать в нужном каталоге ссылку на самого себя:
Несмотря на свою простоту, этот способ имеет множество недостатков. Если у вас небольшой сервер, вы можете использовать перекодировку по каталогу. В другом случае, лучше используйте перекодировку по имени сервера или по порту.
При использовании перекодировки по имени сервера следует обратить внимание на то, чтобы указанный вами сервер был прописан на сервере DNS. После регистрации поддомена внесите следующие строки в ваш файл httpd.conf:
# Естественно, укажите здесь свой IP-адрес
В качестве имени поддомена нужно использовать один из псевдонимов кодировки, указанный с помощью директивы CharsetAlias, например, koi или win.
Если же сервер DNS администрируете не вы, а кто-то другой и возможности внести изменения в записи DNS у вас нет, то используйте перекодировку по порту. Для этого удалите (закомментируйте) директиву Port в файле конфигурации httpd.conf и вместо нее добавьте следующие директивы:
Номера
портов при этом не очень важны. Думаю, это пример настолько прозрачен, что не нуждается в особых комментариях. Правда, есть одно но: если сеть клиента защищена брандмауэром (см. гл. 14), не позволяющем обращения к выбранному вами порту, клиент не сможет установить соединение с вашим сервером.Схема (порядок) выбора кодировки определяется директивой CharsetSelectionOrder:
CharsetSelectionOrder Dirprefix Useragent Portnumber Hostname UriHostname — для выбора по каталогу.
CharsetSelectionOrder Hostname UriHostname Useragent Portnumber Dirprefix — для выбора по имени домена.
CharsetSelectionOrder Portnumber Useragent Hostname UriHostname Dirprefix — для выбора по порту.
Для начальной настройки перекодирования ваших знаний уже достаточно, а дополнительную информацию вы найдете в документации по серверу Russian Apache.
13
Почтовый сервер
Для начала небольшое отступление. Вкратце напомню о протоколах SMTP и POP, которые будем конфигурировать.
SMTP (Simple Mail Transfer Protocol) — сервис в сетях TCP/IP для передачи сообщение (т.е. почты). Обычно для SMTP используется порт 25 (см. файл /etc/services).
POP (Post Office Protocol) — используется для получения почты с сервера. Порт по умолчанию — ПО (для протокола POP3).
Основными MTA (Mail Transfer Agent) — агентами пересылки почты на сегодняшний день являются sendmail, postfix и qmail. Кроме основной функции — отправка сообщения электронной почты, каждый их них имеет собственные эксклюзивные функции. Sendmail является одной из самых ранних программ MTA — своеобразным стандартом, который использовался еще в самых ранних версиях Unix. Этот агент прошел долгий путь со дня своего создания. Раньше (до 1998 года) в конференциях вообще рекомендовалось вместо использования sendmail перейти на qmail, обладающий лучшей защищенностью. Действительно, в то время sendmail имел много брешей с точки зрения безопасности, а тем, кто решался все-таки использовать его, рекомендовалось регулярно обновлять sendmail. Сейчас sendmail обладает должным уровнем безопасности и достаточно легко настраивается, в чем вы убедитесь в этой главе. Возможно, postfix обладает и более простой настройкой, но у меня почему-то не сложилась работа с этой программой. О qmail могу сказать только то, что редко встретишь программу с более сложной настройкой. Для заинтересовавшихся я разместил на прилагаемом компакт-диске руководство по настройке qmail.
Сейчас я попробую объяснить, как настроить небольшой почтовый сервер, использующий POP3 и SMTP. Для начала установите необходимое программное обеспечение. При этом вам понадобятся пакеты sendmail и imap.
Да простят меня почитатели PostFix, но я действительно предпочитаю sendmail. Возможно, postfix проще конфигурируется, но это дело вкуса.
13.1. Настройка sendmail
Если вы используете дистрибутив, совместимый с RedHat, то вам потребуется установить соответствующие пакеты. Я использую sendmaiI-8.11.0 и imap-4.7c2. Последнюю версию sendmail можно выкачать из Интернет по адресу http://www.sendmail.org.
Прежде, чем приступить к настройке sendmail, вам необходимо правильно настроить DNS. Настройка сервера DNS подробно обсуждалась в гл. 10. Если вы настраиваете только почтовый сервер, вам необязательно настраивать сервер DNS на этом же компьютере. Достаточно будет указать DNS-сервера вашей сети в файле /etc /resolv.conf, чтобы система разрешения имен корректно работала. Впрочем, sendmail можно настроить для работы без использования DNS, но этот вариант я рассматривать не буду.
Для того, чтобы приступить к базовой настройке sendmail, запустите утилиту netconf (см. рис. 13.1). Она работает как и из-под Х-Window, так и из-под консоли. Утилита netconf есть в RedHat Linux, Mandrake, ASPLinux и в других дистрибутивах, ее точно нет в KSI Linux. Естественно, вы должны быть зарегистрированы в системе как root. Если у вас нет программы netconf, вы получите незабываемое удовольствие от редактирования файла /etc/sendmail.cf вручную. Именно в этом файле хранятся все настройки sendmail.