Загрузка дистрибутива Послать письмо
Multilinux-current
Старости
О проекте
Лицензия
Загрузка
Ссылки
Подсказки
F.A.Q.
Быстрый старт
Changelog 2.4.10 with Slack
Благодарности
Статьи
Купить
Команда
Примочки
Multilinux-2.4.10
Linux from Scratch
Rambler's Top100
Sakhalin Online - Сахалинские ресурсы в Сети
SAKH.COM - I love Сахалин
Cчетчик
Rambler's Top100
Победитель премии WEB.САХАЛИН.2003
© 2001-2003 Multilinux team

designed by ePress

Настройка сетевых сервисов
В. Толпекин

  1. Кэширующий сервер имён
  2. Электронная почта
    2.1 sendmail
    2.2 fetchmail
  3. Суперсервер inetd
  4. NFS
  5. ProFTP
  6. Apache


1 Кэширующий сервер имён

Ни для кого не секрет, что для нормальной работы компьютера в сети необходимо использовать DNS. В случае, если связь между вашим компьютером и ближайшим DNS сервером не очень быстрая, настройка кэширующего сервера имён на вашем компьютере может существенно ускорить процесс разрешения имён. В этом случае запросы на разрешение вначале обрабатываются в базе данных кэширующего сервера. И лишь затем, если запрос не поступал ранее, передаются внешнему серверу.
Slackware Linux 8.0 "Etta" поставляется с BIND версии 9.1.2. Настроить кэширующий DNS сервер здесь достаточно просто. Для этого в файле /etc/rc.d/rc.inet2 найдите строки, относящиеся к запуску named. Там предложены два варианта запуска. Первый - программа выполняется из-под root. По некоторым причинам, настоятельно рекомендуется воспользоваться второй опцией - запустить программу от имени пользователя daemon из группы daemon. Это более безопасный вариант. Я пользуюсь именно им:

if [ -x /usr/sbin/named ]; then
echo "Starting BIND: /usr/sbin/named -u daemon"
/usr/sbin/named -u daemon
fi
И выполните root-ом такие действия:

chown -R daemon /var/named
chown -R daemon /var/run/named
Если вы пожелаете использовать несколько DNS серверов, перечислите их в файле /etc/resolv.conf:

nameserver 127.0.0.1 # кэширующий сервер
nameserver 137.224.129.4 # DNS в нашем домене
В моём /etc/ressolv.conf вообще нет строк nameserver. В этом случае компьютер при поступлении запроса на обработку имени по умолчанию ищет DNS на локальном компьютере. Что меня вполне устраивает.

2 Электронная почта

2.1 sendmail
Вначале опишу ситуацию. Мой компьютер постоянно в сети. Он имеет постоянный IP адрес 137.224.129.135 и находится в домене fenk.wau.nl. Имя хоста pc135 (по каким-то причинам иногда он получает старое имя mac135, и не виден из внешней сети, кроме как напрямую через IP адрес). Это университетская сеть.
Я хочу, чтобы вся уходящая почта подписывалась @fenk.wau.nl, а не @pc135.fenk.wau.nl. Эта ситуация довольно проста и не потребует создания своего собственного .cf файла. Можно просто подправить несколько строк в одном из .cf файлов, поставляемых со Slackware (они находятся в каталоге /usr/src/sendmail).


linux.smtp.cf Это наиболее простой вариант настройки. Предназначен для тех, кто постоянно включён в интернет (скорее всего через ethernet или slip). Это вариант, используемый в Slackware по умолчанию.

linux.smtp-rbl.cf То же что и выше, но с антиспамовым фильтром. Если адрес того, кто написал вам письмо перечислен в одной из баз данных "спамовых адресов", письмо будет проигнорировано.

linux.smtp-rbl+.cf Этот вариант настройки игнорирует письма с сайтов, известных как распространителей спама, с сайтов, имеющих плохо защищённый сервер электронной почты и отказывающихся фиксировать ошибки в безопасности. Так же этой настройкой будут проигнорированы письма, отправленные с dial-up машин (или других машин с динамическим IP) напрямую, а не через почтовый сервер провайдера.

linux.uucp.cf Если у вас есть один UUCP хост, через который вы собираетесь посылать всю почту (через uucp), то это вариант настройки для вас. Вначале вам необходимо настроить UUCP. Затем укажите имя uucp хоста, к которому вы подключены.
Итак, первым делом:

# cat /usr/src/sendmail/linux.smtp.cf > /etc/mail/sendmail.cf

Далее открываем его текстовым редактором. И указываем директиву Dj:

# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
Djfenk.wau.nl
Это позволит sendmail указывать имя отправителя в виде имя_локального_пользователя@fenk.wau.nl. Если я захочу использовать smtp сервер нашей лаборатории (metten.fenk.wau.nl), я укажу:

# "Smart" relay host (may be null)
DSsmtp:metten.fenk.wau.nl
С настройкой почти всё. Загляните в файл /etc/mail/aliases. Может быть вы пожелаете, чтобы вся почта переправлялась на одного пользователя, например:


bin: root
daemon: root
games: root
ingres: root
nobody: root
system: root
toor: root
uucp: root
manager: root
dumper: root
webmaster: root
abuse: root
decode: root
root: tolpyekin
Теперь собственно, откроем /etc/rc.d/rc.M и откомментируем запуск sendmail:


# Start the sendmail daemon:
if [ -x /usr/sbin/sendmail ]; then
echo "Starting sendmail daemon: /usr/sbin/sendmail -bd -q15m"
/usr/sbin/sendmail -bd -q15m
fi

2.2 fetchmail
Эта программа используется для того, чтобы забирать почту с удалённых почтовых серверов. Если её запустить в фоновом режиме, она периодически будет опрашивать удалённые серверы (указанные в командной строке или в конфигурационном файле, с использованием указанного протокола) на предмет наличия почты. Если таковая имеется, программа скачает письма и передаст их местной спулинговой системе, которая доставит письма конечным пользователям.
Итак, модель: имеется два удалённых почтовых ящика (tolpyekin и dolphin77), на серверах, работающих по POP протоколу (metten.fenk.wau.nl и mail.od.ua). Мы хотим проверять их с интервалом в 15 минут. Для этого в каталоге /root создадим файл .fetchmailrc такого содержания:

set daemon 900
defaults
poll metten.fenk.wau.nl with protocol POP3:
no dns, user tolpekin password 'UgaDa;tesami' is tolpyekin here;
poll mail.od.ua with protocol POP3:
no dns, user dolphin77 password TrivIaLNij is tolpyekin here;
Для проверки можете выполнить от root fetchmail -cv (-c означает проверить есть ли для вас почта в указанных ящиках, не забирая её; -v (verbose) означает, выводить диалог с серверами на экран). Далее в /etc/rc.d/rc.local добавьте такую строку:

/usr/bin/fetchmail -f /root/.fetchmailrc

3 Суперсервер inetd

Если вы не знаете, что такое inetd, рекомендую почитать соответствующий раздел в Slackware Linux Essentials.
Подключая ваш компьютер к сети важно осознавать, что чем больше открытых сервисов вы оставляете, тем более "уязвима" становится ваша система. Так что если вы помешаны на безопасности, просто закройте все сервисы...:). Slackware поставляется с inetd в котором открыто множество сетевых сервисов. Скорее всего о многих из них вы никогда не слышали. И практически наверняка совсем немногие из них вам понадобятся на практике.

Для того, чтобы открыть (закрыть) какой-либо из сервисов, удалите (вставьте) в начале соответствующей этому сервису строке файла /etc/inetd.conf символ #. Я лично не использую такие сервисы, открытые в Slackware по умолчанию, как: time, comsat, shell, login, ntalk и auth.

4 NFS

5 ProFTP

FTP сервер, поставляемый сегодня со Slackware - ProFTP. Для того, чтобы открыть анонимный FTP на вашем компьютере, закомментируйте строку "ftp" в файле /etc/ftpusers (этот файл описывает тех пользователей, которые не имеют права входить в систему через FTP сервис). Вы так же можете добавить в этот файл тех пользователей, которые по вашему усмотрению не должны иметь доступа через FTP к своим домашним каталогам.
По умолчанию анонимный FTP предоставляет на общее рассмотрение файлы из каталога /home/ftp. Если вы хотите создать каталог, в который анонимные пользователи смогут заливать данные, создайте каталог /home/ftp/incoming и откомментируйте в файле /etc/proftpd.conf строки:


<Directory incoming/*>
<Limit READ>
DenyAll
</Limit>

<Limit STOR>
AllowAll
</Limit>
</Directory>

Файл /etc/proftpd.conf является главным настроечным файлом ProFTP сервера.

6 Apache

Web сервер apache, поставляемый со Slackware 8.0 "Etta" настроен следующим образом. Все настроечные фалы ноходятся в каталоге /etc/apache. А каталог из которого по умолчанию берётся содержимое web страницы /var/www/htdocs. Здесь я привиду лишь самый минимум необходимой информации для корректной настройки этого сервера для работы с русским языком.
Скажем, содержимое вашей страницы мы поместим в каталог /var/www/mypage. Для этого найдите в /etc/apache/httpd.conf строки:
DocumentRoot "/var/www/htdocs"
и <Directory "/var/www/htdocs">
и замените их на:
DocumentRoot "/var/www/mypage"
и Directory "/var/www/mypage">
соответственно. Или же просто удалите всё содержимое оригинального каталога /var/www/htdocs и разместите там свою страницу.

Теперь мы попросим apache обращать внимание на файл .htaccess, через который мы собственно и произведём правильную русификацию. Итак, чуть ниже строки <Directory "/var/www/mypage"> найдите строку

AllowOverride None
и замените её на:
AllowOverride FileInfo

После этого разместите в корневом каталоге вашей страницы файл .htaccess такого содержания:

AddDefaultCharset koi8-r
AddLanguage ru .html .txt

И не забудьте в шапке документа добавить: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML LANG=ru>

Теперь по идее apache сам позаботится о том, как правильно предоставить документ просмотрщику пользователя.


©"Slackware Linux Essentials" на русском

наверх

Интересности
Cooler
Anfrax
Linux Org ru
Linuxportal
Zimbabwe
Compromat.ru
ORSM
Тупости
Infosakh