Еще один важный аспект — документация системы. Все без исключения Unix-подобные системы очень хорошо документированы и поэтому вся необходимая информация для настройки сервера по сути уже есть в вашем компьютере. Моя же задача при этом сводится к тому, чтобы научить вас использовать эту документацию, а также на практике рассмотреть ее применение.
Итак, что же получается, что мы, используя программное обеспечение от Microsoft, отстали на двадцать лет в развитии, использовали, мягко говоря, не совсем надежное программное обеспечение и еще платили за это деньги? Ребятам из маркетингового отдела Microsoft нужно памятник поставить за их профессиональные качества.
Где же применяются Linux-серверы? Прежде всего, это Интернет-серверы. Вы можете спросить, почему именно Linux (Unix)? Почему не какая-нибудь другая операционная система, например, Windows NT (2000)? Давайте подумаем вместе. В начале 60-х годов по приказу Министерства обороны США была создана сеть Arpanet, которая и послужила в дальнейшем прототипом для создания Интернет. Как можно использовать NT-сервер в качестве Интернет-сервера, если он был выпущен в 1996 году? А Интернет-то существовал с 70-х годов. И существовал именно благодаря Unix-системам. Так почему же не использовать для предоставления Интернет-услуг родную операционную систему? В самом деле, не будете же вы покупать для своего BMW запчасти от Hond'ы? В случае с Интернет это равноценное сравнение: Linux (Unix) для Интернет — абсолютно родная система. Использование других систем допустимо и кому-то может показаться более удобным, но только на том уровне, как будто бы вы действительно в автомобиль одной хорошей марки вставили бы деталь от автомобиля другой хорошей марки. Обе марки автомобилей хороши, но детали одной из них не предназначены для другой. Для справки: относительно недавно был открыт сайт президента России. Так вот этот сайт, к которому предъявляются повышенные требования надежности, безопасности и производительности, базируется именно на основе Red Hat Linux.
Многие правительственные и финансовые организации всего мира, например, Министерство иностранных дел Германии, используют Linux (SuSE Linux), а немецкий Dresdner Bank совместно с американской компанией CollabNet объявил о новой банковской информационной системе, построенной на основе Linux. И тут, как вы видите, дело не в деньгах — платить или не платить за Linux, а в заботе организаций о своей информационной безопасности и надежности своих серверов. Как объяснить клиенту, что его счет «будет закрыт», поскольку «программа выполнила недопустимую операцию»? Тут даже созданный журнал ошибок не поможет.
Второй отраслью применения Linux-серверов является создание кластеров для произведения параллельных вычислений. По определению кластер — это несколько компьютеров, объединенных вместе для совместного решения одной задачи. Объединение компьютеров, как правило, производится с помощью высокоскоростной сети. На сегодняшний день создано специальное программное обеспечение, позволяющее собрать кластер даже в домашних условиях, например, PVM (Parallel Virtual Machine). Более подробно останавливаться на этом вопросе мы не будем, так как параллельные вычисления и компьютерное моделирование — это уже тема для другой книги.
Помимо всего вышеуказанного, существует еще множество направлений, где используются Linux-серверы: Web-серверы, РТР-серверы, почтовики, шлюзы, Х-серверы, можно даже эмулировать домен NT с помощью пакета Samba. Все эти вопросы будут рассмотрены в данной книге.
1.5. Как устроена данная книга
«Не сразу Москва строилась», поэтому и настройку нашего сервера будем производить с малого, а потом постепенно будем его наращивать. Сразу нужно оговориться, что, возможно, при настройке вашего сервера вам не потребуется читать все главы. Например, если вы хотите настроить почтовик, то вам незачем разбираться с настройкой сервера для удаленного доступа. Хотя прочитать всю книгу все же стоит — для общего развития.
Во второй главе достаточно подробно рассмотрена установка операционной системы Linux на примере дистрибутивов Linux Mandrake и Linux Red Hat. В этой же главе рассматривается постинсталляционная настройка пока что настольной версии Linux.
В третьей и четвертой главах обсуждаются общие принципы работы с операционной системой Linux. В третьей главе рассматриваются учетные записи, а в четвертой — работа с файловой системой Linux. Очень советую вам разобраться с правами доступа к файлам и каталогам. Большое значение для организации сервера имеет настройка дисков SCSI и массивов RAID. Особое внимание обратите на создание резервных копий, если вы, конечно, настраиваете «серьезный» Linux-сервер.
В пятой главе рассматриваются основы управления процессами в Linux. Эта глава имеет больше теоретическое, чем практическое значение, но какая же практика без теории?
Шестая глава посвящена русификации дистрибутива. Так как современные дистрибутивы практически не имеют проблем с русификацией, вы можете без особых угрызений совести прочитать данную главу «по диагонали».
В седьмой главе рассмотрена базовая настройка сети — установка сетевой платы, настройка протокола TCP/IP, подключение к Интернет по модемной и выделенной линиям. Особое внимание уделено настройке ADSL-соединения, которое сейчас получает все большее распространение.
В восьмой главе обсуждается непосредственная настройка сервера. Рассматриваются суперсерверы inetd и xinetd. Первый использовался в старых дистрибутивах, но вы все же можете еще встретиться с ним, a xinetd является стандартом для современных Linux-серверов. Получение и предоставление «безопасного» удаленного доступа с помощью ssh, настройка протокола динамической настройки хоста — DHCP, сетевая файловая система NFS, маршрутизация, подсчет трафика, поисковый сервер ht:/Dig — обо всем этом вы можете прочитать в восьмой главе. И это еще не все: последними пунктами в восьмой главе приведены описания настроек прокси-сервера Socks5, а также системы обнаружения и защиты от вторжения LIDS. Особенный интерес представляет программа подсчета трафика MRTG, также описанная в данной главе.
Девятая глава посвящена настройке популярного пакета samba, который используется для получения доступа к ресурсам Windows-сети. С помощью этого пакета вы также сможете настроить свой Linux-сервер для предоставления ресурсов пользователям сети Windows, которые даже и не заметят, что вместо Windows-сервера у вас установлен Linux-сервер.
В десятой главе рассматривается настройка службы доменных имен — DNS. Для настройки практически любого Интернет-сервера вам придется конфигурировать эту службу. Немного внимания я уделил средствам безопасности, которые предоставляет сервер DNS, например, передаче зоны только определенным узлам. Подробно описано конфигурирование основного и дополнительного серверов DNS, обновление файлов конфигурации, создание кэширующего DNS-сервера.
Популярная служба передачи файлов — FTP — рассматривается в одиннадцатой главе. В этой главе обсуждаются серверы wu-ftpd и ProFTPD, a также организация виртуальных ftp-узлов.
Web-сервер Apache, практически ставший стандартом в Интернет, обсуждается в двенадцатой главе. Рассматриваются: базовая настройка, каталоги пользователей, настройка виртуальных серверов, установка и настройка SSL, а в конце главы приведен полный листинг конфигурационного файла.
Тринадцатая глава посвящена настройке сервисов POP и SMTP, а также SMTP-аутентификации. Для непосвященных: SMTP — это протокол для отправления сообщений, a POP — для их приема. Кроме этого, приведено описание создания своей собственной службы рассылки. В конце главы объясняется, как настроить популярные клиенты электронной почты The Bat!, Netscape Messenger, Outlook Express.
Безопасность при работе в сети Интернет — вот основная тема четырнадцатой главы «Бастионы», в которой рассматривается фильтрация пакетов. Здесь описывается, как закрыть доступ к вашей внутренней сети для нежеланных гостей, а также как предотвратить доступ пользователей к нежелательным ресурсам сети.
В пятнадцатой главе подробно рассматривается настройка прокси-сервера SQUID, разделение канала, программы учета трафика. Вы хотите достичь существенного прироста в работе с Web или вам надоело тратить свое драгоценное время и деньги на загрузку рекламных баннеров? Тогда эта глава для вас.
Небольшая шестнадцатая глава посвящена настройке тоже небольшого, но с большими возможностями сервера баз данных MySQL. Сначала описывается настройка сервера, а потом клиента MySQL. Последним пунктом главы приведено описание настроек связки Apache+PHP+MySQL.
Очень большое значение для всей книги имеет семнадцатая глава — «Практические примеры». В ней рассматривается настройка шлюза для доступа в Интернет и сервера удаленного доступа, а также приводится пример настройки «обратного звонка». Эта глава является как бы кульминацией всей книги. На протяжении всех предыдущих глав мы накапливаем знания, а потом настраиваем сразу два реальных сервера (или два в одном), плюс настройка полезной технологии. Примеры конфигурационных файлов, приведенные в гл. 17, являются полностью рабочими. Если у вас что-то не заработало, особенно при настройке сервера удаленного доступа, то у вас просто неправильно настроены модемы. Для их правильной настройки прочтите руководство по модему. Конфигурации для некоторых модемов приведены в этой же главе.