• Партнер

  • Вряд ли найдётся такой человек, который не хотел побывать в роли системного администратора. Будь то начинающий пипл, который только что первый раз поставил Linux или эксперт по этому делу (ИМХО, он обойдётся и без этой статьи 😉 ). Итак конкретная ситуация: у тебя имеется модем (только не винмодем) и желание поставить сервер на такой прекрасной операционке как Linux (примеры будут гарантированно работать на Mandrake, RedHat и Slackware). Наше задание поставить диалап-сервер с некоторыми сервисами (ftp, www, telnet и проч.).

    1. Настройка модема

    Итак, ты воткнул свой ISA или внешний модем и... система его не опознала 😉 Облом-с. Но не отчаивайся и не спеши выкидывать девайс в мусоропровод =) Скажу тебе по секрету, сами разработчики Linux сейчас работают над проблемой универсального
    опознования девайсов, поэтому модем придётся устанавливать вручную. Не бойся - это несложно.
    Установи аппаратно или программно твой девайс на последовательный порт и на свободное прерывание. Перезагрузи систему. Затем выполни команду: cd
    /dev.

    В директории /dev содержатся девайсы и устройства всего твоего сундука 🙂 Как обычно (характерно для никсов) всё представлено в виде файлов. Последовательные порты представлены в файлах ttySXX, где XX - номер порта (com1 - ttyS0, com2 - ttyS1 и т.д.).

    Удостоверься, что последовательного порта для твоего модема нету в директории /dev (ls | grep ttyS). Если есть - удали (rm -f /dev/ttySXX). Затем заново создай этот порт, программным скриптом MAKEDEV, расположенном в том же каталоге. Предположим, что модем находится на com4 порту (ttyS3). Полный синтаксис команды будет:

    ./MAKEDEV ttyS3

    Затем создай символическую ссылку на модем файлом /dev/modem - это значительно упростит настройку софта, требующего обращения к модему:  

    ln -s ttyS3 modem

    Порт создан. Но устройство на нём так и не опознано.
    Используем команду setserial, чтобы опознать его:

    setserial /dev/ttyS3 autoconfig
    setserial /dev/ttyS3 auto_irq

    И устройство должно быть опознано. Чтобы быстро проверить это, используем терминал minicom.

    minicom -s

    При успешной инициализации на экране появится нечто:

    ATZ .........
    OK

    Если так и есть, то жми "ctrl+a", а затем "x", чтобы выйти из терминала.
    Если всё прошло успешно, то модем готов к работе. Следующий шаг будет настроить модем на ответ на звонки.

    2. Настройка ppp-сервера.

    Для настройки диалап-сервера необходимы 2 важные программы:
    1) *getty - программа для слежения за линией (в моём примере uugetty)
    2) pppd - демон, который обеспечивает соединение между двумя компьютерами (point to point protocol daemon).
    Их можно найти в инете на фтп-сервере, где находятся программы для Linux.

    Первое, что вам нужно сделать, это настроить uugetty на запуск при загрузке системы (выделить для неё отдельную консоль), установим её на 6 консоль - запишем в файл /etc/inittab следующую строку:

    6:2345:respawn:/sbin/uugetty ttyS3 38400 vt100 (не забудь, что модем должен находится на порту ttyS3).

    Затем скопируем файл /usr/doc/getty_ps-2.0.7j/Examples/default/uugetty.autoanswer в /etc/default/uugetty.ttyS3, где ttyS3 - опять таки порт модема.
    Редактируем этот файл: найдём строку: ALTLOCK=cua2 и заменяем её на ALTLOCK=ttyS3.

    Выполним reboot системы и протестим захват линии. Если всё отлично, переходим к созданию ppp-пользователя и привязке uugetty к pppd.
    Создадим юзера ppp:

    adduser ppp -d /home/ppp -s /usr/local/bin/pppd_dial

    И установим на него пароль (ну к примеру
    "ppp")

    passwd ppp --stdin
    ppp

    Дальше, создадим файл pppd_dial, в котором пропишем автозапуск
    pppd:

    cat >/usr/local/bin/pppd_dial
    exec /usr/sbin/pppd -detach
    ^D # Ctrl+d

    И установим на файл права доступа 755

    chmod +x /usr/local/bin/pppd_dial

    Далее для определения ip пользователя на вашей машине, можно использовать файл /etc/ppp/options.ttyS3, в котором написать: ipaddrserver:user_ip, где ipaddrserver - ip адрес сервера, а user_ip - ip, которое будет предоставлено пользователю, который дозвонится на твой сервер.
    Теперь можно протестить соединение с твоим сервером (по идее всё должно работать... ), за дополнительной информацией обращаться к /usr/doc/HOWTO/PPP-HOWTO

    3. Установка сервисов

    Какой же сервер без сервисов =) Установим сервисы на твой крутой сервер. Начнём с самого основного: www.
    Находим свежий RPM-пакет с сервером Apache, либо качаем из инета. Распакуем:

    rpm -i packetname.rpm

    Идём в /etc/httpd/conf - директория, содержащую конфиги
    Апача. Редактируем httpd.conf. Вот опции, которые можно изменить:

    ServerRoot - абсолютный путь к директории ресурсов сервера (по умолчанию /etc/httpd).
    Port - порт, который будет прослушивать сервер. По умолчанию: 80.
    User, Group - пользователь и группа, под которыми будут выполняться все процессы и запросы сервера. По умолчанию nobody и nobody соответственно.
    ServerAdmin - Е-мыло админа сервера, т.е. твоё 😉
    ServerName - DNS сервера, на который будет откликаться www: например: www.lamer.com (не путать с DNS сервером)
    DocumentRoot - абсолютный путь к www-директории. По умолчанию /home/httpd/html
    DirectoryIndex - директива, показывает, какой index-файл, должен передаваться пользователю при URL-запросе типа
    http://www.lamer.com/dir/. Пример: DirectoryIndex index.html index.htm index.cgi

    Писать об Apache можно до бесконечности, поэтому я остановлюсь на самом главном. Главное , чтобы сервер работал, а остальное можно доработать. Читай документацию, смотри HOWTO.

    Ftp server.

    Ftp (File-transfer protocol) необходим для заливки документов на сервер. Как и другой сервис, он настраивается практически под любые требования администратора.
    Я рассмотрю настройку wu-ftpd сервера, т.к. я работал только на нём 😉 Ищем rpm пакет этого сервера и anonftp-rpm пакет (анонимный сервер
    ftp). Основные файлы wu-ftpd это: /etc/ftpaccess , /etc/ftphosts и /var/log/xferlog (это оптимальный вариант - для начала хватит).
    Самым главным файлом является /etc/ftpaccess - каждая его строка является атрибутом сервера, а пустые строки игнорируются. Атрибуты делятся на несколько частей: 

    а) Контроль доступа (class, autogroup,deny)

    class: определяет класс пользователя, который может обратится к FTP-серверу, например:
    class localuser real 192.168.55.* создаёт класс "localuser" для реальных пользователей с локальным ip - 192.168.55.*, а class guestuser anonymous * - создаёт класс "guestuser" для anonymous-пользователя.

    Классы нужны для следующей команды: autogroup - присваивание группы определённому классу, например autogroup users localuser - даёт всем локальным пользователям группу users (группа обязательно должна быть прописана в /etc/group).

    deny: явный отказ в обслуживании определённым хостам, например: deny hacker.com /home/ftp/deny/.msgforhack - запретит всем хакерам с hacker.com обращение с FTP-сервером, и высветит им содержимое .msgforhack сообщения.

    б) Различные команды.

    alias: позволяет сделать алиас на определённую директорию, например alias www /home/httpd/html сделает алиас www на www-директорию сервера.
    cdpach: определяет патч для директорий. Пример: cdpach /usr/local/html/sample. При запросе файла, например, sample.html сервер будет искать его в cdpach-прописанной директории, т.е. в /usr/local/sample.

    В /etc/ftphosts указываются хосты, допустимые или недопустимые для обращения к сервису.

    Администрирование wu-ftpd.

    Существует несколько команд для администрирования сервиса:

    ftpwho - показывает, кто в данный момент подключён к ftp-серверу
    ftpcount - число подключённых к ftp-серверу.
    ftpshut [-t seconds] [-d drop time] [now], где -t seconds - кол-во секунд, после истечения которых, сервер завершит работу, -d drop time - время, через которое сервер завершит работу, пример, -d 0304 (в 3 часа 04 минуты Ftpd завершит работу), now - немедленное завершение работы.
    ftprestart - рестарт ftp-сервера

    Вот собственно и всё. Для логического завершения темы сервисов, предлагаю поставить telnetd или sshd, а также обязательно настроить sendmail и установить pop3-сервер. 

    Удачи.

    Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии