Журнал LinuxFormat - перейти на главную

LXF77:К вашим услугам

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

К В@шим услуг@м

Вам никогда не казалось, что ваша машина с Linux могла бы делать для вас больше, чем целый день запускать OpenOffice.org да «гонять» Frozen Bubble? Задайте вашему ПК настоящую работу, настроив его как суперсервер интернета.

Многие считают, что Интернет существует лишь для того, чтобы пассивно пользоваться его благами. многие тратят больше времени на просмотр сайтов, чем на их разработку. многие даже не представляют, что могут настроить собственный BitTorrent. Но вы же не принадлежите к этим «многим»? Вы не нуждаетесь в напоминании, что ваш компьютер с Linux содержит самые мощные и популярные серверные программы на свете. Немного поизучав их, вы сможете превратить вашу настольную машину во «всегда к вашим услугам» суперкомпьютер, открытый всему миру. Он сможет поделиться вашими файлами, представить ваши web-страницы, стать чат-сервером, обслужить вашу радиостанцию, и многое другое – и ни одна из этих задач не потребует столько оперативной памяти, чтобы выделить для нее вспомогательный ПК.

Превратить ваш ПК в узел сети Интернет не сложно, но зато очень здорово, и что важнее всего – совершенно бесплатно. Читайте дальше.

«Ваш linux-компьютер содержит самые мощные серверные программы на свете.»


Публикуем файлы в BitTorrent

BitTorrent – замечательный способ поделиться файлами. не желают ли дамы и господа запустить собственный сервер?

Не путайте с нелегальным распространением файлов: на самом деле BitTorrent – всего лишь невероятно эффективный протокол и замечательно реализованная идея, которая заслуживает большего, чем ассоциации с мрачным сетевым «подпольем».

BitTorrent эксплуатирует старую добрую модель клиент-сервер, когда те, кто скачивает файл, предоставляют секции, или «блоки», которые они уже скачали, другим участникам сети. можно сравнить это с пирамидой из бокалов с шампанским. Шампанское льётся только в верхний бокал, и по мере заполнения перетекает в нижние. Только в случае с BitTorrent можно начинать делиться «шампанским» ещё до того, как ваш «бокал» наполнится.

Чтобы скачать поток, пользователь сперва должен получить копию специального Torrent-файла (с суффиксом .torrent). Он создается на основе исходного файла и содержит хэш для каждого отдельного блока, который можно скачать и предоставить остальным. Хэш гарантирует, что каждый фрагмент файла, скачанный пользователем, будет в точности совпа дать с оригиналом. Наиболее творчески реализовано распределение клиентами тех частей, которыми они уже располагают. Это зависит от трекера (tracker), интернет-адрес которого вложен в Torrent-файл. Трекер выполняет функции дирижёра. Он отслеживает, кто что скачал, и всякий раз при получении нового запроса на ту или иную закачку он гарантирует, что новый клиент получит кусочки, которых еще нет у других участников сети. Вот что вы можете сделать на вашем ПК: запустить собственный трекер, так что вы не просто будете разделять потоки – вы будете их создавать.

Строим трекер

Наиболее популярный трекер называется XBNBT, первоначально его разработали на языке Python и поставляли с оригинальным BitTorrent, а потом переписали на C++. Вам нужно скачать исходный код XBNBT или взять его с нашего диска. распакуйте файл и перейдите в каталог bnbt/src. мы будем собирать простейший трекер, так что просто наберите make xbnbt. При этом в текущем каталоге будет создан исполнимый файл. Очень важно ограничить трекер пользовательской учётной записью, так что не обязательно этот файл куда-то устанавливать.

Следующий этап – создание каталога torrents, где будут размещаться Torrent-файлы, которыми будет управлять сервер. Его нужно создать внутри каталога, из которого будет запускаться исполняемый файл. Наконец, перед запуском сервера необходимо отредактировать замысловатый конфигурационный файл. Откройте bnbt.cfg и измените следующие строки (torrents указывает на каталог, который мы только что создали):

allowed_dir = torrents
bnbt_allw_torrent_downloads = 1
bnbt_file_dir = torrents
bnbt_parse_on_upload = 1

Теперь можно запускать сервер. Выполните команду ./xbnbt в текущем каталоге. Вы должны получить на выходе информацию, в случае удачи содержащую фразу «Server Info – Start», которая означает, что трекер запустился. Значит, пора обратиться к трекеру, введя в строке браузера http://localhost:6969 (замените «localhost» URL-адресом вашей машины). До создания новой учётной записи больше ничего делать не надо. Просто припишите к введённому URL /users.html, и откроется страница User Info. Создайте учётную запись администратора и соответствующий пароль, и отметьте все «флажки», чтобы получить все привилегии.

Создать Torrent-файл из файла, который вы хотите предоставить в общий доступ, могут многие популярные клиенты; самый простой в использовании, вероятно, Azureus. Выберите пункт Create Torrent в меню File. Параметр «Announce URL», который будет запрошен на первой странице – это адрес вашего сервера плюс /announce (используя «localhost» в качестве адреса сервера, получим http://localhost:6969/announce). Щёлкните на Next и выберите файл, которым вы решили поделиться. Azureus продолжит работу и создаст Torrent-файл. можете сохранить его где хотите.

Поделитесь потоком

Torrent-файл, который вы только что создали, нужно загрузить на трекер. Для этого откройте страницу http://localhost:6969/upload.html. Щёлкните по кнопке запроса, укажите ваш Torrent-файл и щёлкните на Upload, чтобы скопировать его на сервер.

Последний этап – самый важный, и на первый взгляд, неочевидный. Ваш сервер теперь умеет отслеживать поток, но прежде чем кто-либо сможет скачать его, вам нужно породить (seed) копию. В Azureus откройте поток, только что переданный на сервер, и когда Azureus спросит вас о пункте назначения, убедитесь, что вы указали место, где сохранён исходный файл. Azureus сопоставит этот файл с Torrent-файлом, проверит, не требуется ли скачать что-либо ещё, и сразу же запустит поток. Чудеса! Вот теперь можете публиковать ссылку на Torrent.

Последнее замечание: ваш трекер будет управлять каждым соединением с другими сидерами (seeder) и личерами (leecher). Проверьте на главной странице – http://localhost:6969 – текущий статус трекера, включая все доступные потоки и число сидеров и личеров, подсоединённых к нему.

Собственная радиостанция



Вдоволь насиделись у радиоприемника? играйте то, что нравится вместе с Icecast.

Одна из самых замечательных возможностей при наличии широко полосного подключения к Интернету – это интернет-радио. Послушав вещание в Сети, вы вряд ли захотите вернуться к своему старому, с трудом настраиваемому на каналы аналоговому приёмнику. Сетевых стан- ций гораздо больше, чем вы могли бы надеяться «поймать» в ограниченном спектре официальных радиочастот, причем есть они на любой вкус. многие сетевые радиостанции довольствуются несколькими десятками слушателей – как насчёт Drone Zone («атмосферная музыка окружающего пространства, совместимая с большинством лекарственных препаратов»)?

Одна из самых популярных точек подключения к сетевым радиостанциям –www.shoutcast.com. Это портал для тысяч интернет-радиостанций, использующих протокол Shoutcast для передачи аудиопотока на компьютеры слушателей. Попробуйте поискать какую-нибудь песню на сайте – неважно, широко известную или нет: всегда есть шанс, что где-то в мире какой-нибудь Shoutcast-сервер исполняет именно её.

Shoutcast– проприетарный протокол, разработанный компанией Nullsoft, той самой, которая выпускает Winamp, один из лучших медиа-плейеров для Windows. Протокол в основном оперирует данными в формате MP3 с несколькими HTTP-командами, и чтобы прослушать такой поток, вам потребуется плейер типа XMMS или Amarok.

Потребуется также соединение со скоростью более 128 кб/с, это в два раза больше «модемной» скорости 56 кб/с, но широкополосным подключением обеспечивается легко.

Cтань ди-джеем

Конечно, вы не ограничены прослушиванием чужих потоков. Вы можете запустить свой собственный Shoutcast-сервер и слу-шать собственную коллекцию, находясь вдали от дома, или передавать свою музыку трём-четырём слушателям в мире, одобряющим ваш музыкальный вкус. Обязательно надо оформить разрешение на воспроизведение любой имеющейся у вас музыки. Еще недавно, если вы хотели вещать на законных основаниях, нужно было подписывать соглашение с агентом каждого исполнителя. Сейчас вы можете получить единую лицензию, стоимость которой пропорциональна доходу от вашей радиостанции.

Проприетарный Shoutcast-сервер распространяется бесплатно, но есть более правильное решение – Icecast. Это открытый продукт, способный создавать совместимые с Shoutcast потоки, а также использовать Ogg Vorbis в качестве замены формату MP3, и для его настройки нужно выполнить лишь несколько простых шагов.

Шаг 1. Скачайте и установите Icecast

Если у вас нет удобного пакета Icecast в вашем дистрибутиве (например, RPM- или Deb-файла в менеджере пакетов), вам нужно будет скачать последнюю версию исходного кода с сайта http://www.icecast.org/download.php. Скачав, распакуйте архив, перейдите в созданный каталог и запустите ./configure, а затем make install, как показано в следующем примере:

tar xvzf ~/Desktop/icecast.tar.gz
cd icecast
./configure –prefix=/usr
make install (с правами root)

Шаг 2. Настройка

В Icecast источником аудиопотока является так называемая точка доступа (mountpoint), и у каждого потока, который вы предоставляете, она должна быть своя. Для потока можно выбирать не только различную музыку, но и различную частоту дискретизации. От этой частоты и от полосы пропускания зависит качество звучания. Настройки, как и у других серверов Linux, выполняются ручным редактированием нескольких текстовых файлов. Для большинства дистрибутивов они расположены в /usr/share/icecast, за исключением файла icecast.xml, который находится в /etc/icecast.xml.

Откройте icecast.xml в вашем любимом редакторе, да хоть и в Emacs. Вам потребуется кое-что поменять. Убедитесь в правильности путей к другим конфигурационным файлам, особенно к файлу журнала, который обычно указывает куда-то наподобие /var/log/icecast. Поскольку Icecast запускается от имени обычного пользователя (не суперпользователя), нужно убедиться, что каталог /var/log/icecast существует и ваш пользователь Icecast имеет права на доступ к нему.

Например, ниже мы даём пользователю «graham» право записи в каталог лог-файлов:

mkdir /var/log/icecast
chown graham:users .	# в случае SUSE
chown graham:graham .	# в случае Mandriva

Если вы запускаете общедоступный сервер, рекомендуется создать пользователя «icecast» исключительно для целей запуска сервера. Также рекомендуется изменить пароли «source-password» и «admin-password» в файле icecast.xml (по умолчанию они смеха ради установлены как «hackme») и поменять параметр «hostname» на доменное имя вашей машины. Проделав всё это, протестируйте сервер, выполнив команду icecast -c /etc/icecast.xml от имени вашего пользователя Icecast. В типичном для Linux ответе, если всё работает как нужно, смотреть будет не на что.

Шаг 3. Что-НибудЬ послушаем

(thumbnail)
Icecast имеет собственную администраторскую веб-страницу.

Итак, сервер запущен. можете проверить его работу, открыв браузер на сервере и введя адрес http://localhost:8000/admin. Имя пользователя будет «admin», а пароль – тот, который вы вписали в конфигурационный файл icecast.xml.

А теперь – волнующий момент. Введите в адресной строке вашего браузера http://localhost:8000/test. ogg. И... ничего не произойдет, поскольку Icecast ищет файл test.ogg в каталоге /usr/share/icecast. Вы можете убедиться в этом, открыв файл error.log (туда следует заглядывать в первую очередь, если вы наткнулись на проблему). Понятно, что нужно сделать, чтобы ваша музыка зазвучала: просто скопируйте звуковой файл из вашей коллекции в /usr/share/icecast/test.ogg и перезагрузите поток. теперь вы должны услышать файл, воспроизводимый с помощью Icecast. Страница администрирования обновится, чтобы показать новых слушателей.

Шаг 4. Меняя песни – ices2

Теперь всё должно работать, но проблема заключается в том, что вы можете указать только один аудио-файл. Есть более гибкое решение – сначала оно покажется вам странным: нужно запустить так называемый source-клиент для Icecast. Он отвечает за формирование потока данных, который Icecast использует как источник вещания. Есть несколько разновидностей клиентов, среди них есть и ориентированные на «живое» вещание и ди-джеев. Один из наиболее популярных – Ices2.

Ices2 устанавливается аналогично Icecast. Скачайте исходный код, запустите ./configure и затем make install в распакованном каталоге. Нетрудно догадаться, что тут тоже не обойдется без загадочного конфигурационного файла. К счастью, в пакет включено несколько примеров, они находятся в каталоге conf. Один из них предназначен для использования в качестве источника входа звуковой карты в качестве источника (под именем ices-alsa.xml), но нам больше подойдёт другой, под названием ices-playlist.xml.

После того как вы откроете файл ices-playlist.xml в вашем редакторе, вам нужно будет поменять пароль, указанный между тэгами <password> и </password>.

Здесь должен быть тот самый пароль администратора, который вы определили в конфигурации Icecast, по той простой причине, что Ices2 будет добавлять новую точку доступа для сервера Icecast. Заодно нужно будет изменить имя хоста (hostname) в файле конфигурации, чтобы получать доступ к серверу по сети.

Файл конфигурации содержит настройки частоты дискретизации потока, которые следуют за тэгом <nominal-bitrate>. Если ваши аудио-файлы выдаются не со стандартной (44100 кГц) частотой, вам потребуется указать этот параметр.

Шаг 5. Play-лист ices2

(thumbnail)
Amarok неплохо воспроизводит потоки Icecast, но не показывает метаданные.

Ключи к предоставлению списка аудио-файлов – в файле ices-playlist.xml. Ices2 использует текстовый файл, который рассматривается как простой play-лист. Это означает, что вы можете перемешивать дорожки или просто проигрывать их в определенной последовательности. Согласно конфигурационному файлу, он называется playlist.txt, и вам нужно будет убедиться, что файл указан правильно. В этом текстовом файле просто перечислены все композиции, которые вы хотите добавить, на отдельных строках. Например:

/home/graham/ogg/broadcast1.ogg
/home/graham/ogg/broadcast2.ogg
/home/graham/ogg/broadcast3.ogg

Наконец, вам нужно запустить Ices2 с единственным аргументом, указывающим на изменённый конфигурационный файл:

ices ices-playlist.xml

Ices2 создаст точку доступа на сервере Icecast и выведет аудиопоток, заполняемый из вашего play-листа. Чтобы подключиться к потоку, откройте ваш медиа-плейер и введите http://localhost:8000/example1.ogg.m3u. точка доступа example1.ogg определяется конфигурацией Ices2. Теперь вы должны услышать аудиопоток через ваш сервер Icecast, аккуратно сформированный с помощью Ices2. Если ваш плейер поддерживает метаданные, вы также увидите имя исполнителя и название трека в том виде, в каком эта информация содержится в оригинальном аудиофайле.

Если вы откроете страницу администрирования сервера Icecast, появится точка доступа Ices2, вместе с метаданными трека и потока. С этой же страницы вы также сможете «сбрасывать» людей с потока и перемещать их на другие потоки, возможно, использующие более низкую пропускную способность.

Запустите web-сервер

Apache — самый популярный web-сервер в мире. Давайте выясним, почему.

Управление личным веб-сервером обычно считается низшим этапом на пути становления системного администратора, но это не значит, что от него мало пользы. Истина в том, что наибольшее наслаждение от webвеб-сервера приходит не от простой установки Apache и созданиия нескольких HTML-страничек. Настоящее удовольствие – это создание динамических скриптов, включение поддержки WebDAV, «вставка» Wiki и сетевых дневников (blog), чтобы сервер заработал в полную силу.


Мы начнём с компиляции PHP и Apache с нуля, сделаем несколько базовых страничек, затем посмотрим, какие из существующих инструментов можно применить, чтобы добавить нашему сайту изюминку.

Первые шаги

Мы поместили на наш диск архив с Apache 2.2, так что скопируйте его на ваш диск и распакуйте:

tar xvf httpd-2.2.0.tar.bz2
cd http-2.2.0

Устанавливать наш сервер мы будем в /usr/local/apache, так что созданный при распаковке каталог вы сможете его удалить, если он вам станет не нужен. Однако желательно включить поддержку WebDAV и модуля обеспечения параллельных процессов (multi-proccess module, MPM).

Последнее очень важно, ибо ядро PHP и базовые его расширения поддерживают потоки, а, стало быть, замечательно работают в новом потоковом окружении Apache 2.x. Но многие унаследованные сторонние PHP-расширения небезопасны при использовании потоков, и могут вызывать серьёзные проблемы, если ваш Apache использует потоки при обработке запросов. Потребуйте mpm=prefork: тогда гарантируется, что Apache будет работать в режиме совместимости с версией 1.3, и использование расширений будет безопасным.

Чтобы подготовиться к такой установке, выполните следующую конфигурационную команду:

./configure --prefix=/usr/local/apache --enable-dav --with-mpm=prefork —enable-so

Затем выполните make, переключитесь в режим суперпользователя и выполните make install. запустите Apache на 80-м порту (по умолчанию), выполнив команду /usr/local/apache/bin/apachectl start, потом запустите ваш браузер и введите http://localhost. Если всё работает правильно, браузер так и сообщит.

Поделиться файлами

Мы включили поддержку WebDAV во время сборки Apache – теперь можно делать разные замечательные штуки, например:

Nano conf/httpd.conf.

Найдите строку dav и удалите комментарий в начале строки «#include conf/extra/httpd-dav.conf».

Выполните следующие команды:

cd /usr/local/apache/htdocs
mkdir uploads
chgrp daemon uploads
cd ..
bin/htpasswd -c user.passwd admin

Откройте в редакторе файл conf/extra/httpd- dav.conf:

  • Измените DavLockDB на «/tmp/DavLock»
  • Измените /usr/local/apache/uploads на /usr/
  • local/apache/htdocs/uploads
  • Измените AuthType на Basic
  • Измените AuthName с DAV-upload на «My WebDAV Area»

Выполните bin/apachectl restart

Многие современные операционные системы имеют поддержку WebDAV в ядре, так что сетевые каталоги рассматриваются как локальные. Попробуем это в Gnome. Пройдите в меню Places > Connect To Server (Переход > Подключение к серверу), выберите тип сервиса WebDAV (HTTP), введите сервер «localhost», папку «uploads», имя пользователя «admin» и «My WebDAV» в качестве имени соединения, затем щелкните на Connect (Соединиться). На ваш рабочий стол будет помещена небольшая иконка; по двойному щелчку на ней у вас будет запрошен пароль, и вы, вероятно, сможете сохранить пароль на время текущей сессии, чтобы не пришлось вводить его заново.

После ввода пароля появится новое окно, открывшееся в Nautilus – файловом менеджере Gnome. Теперь можно копировать все файлы, какие пожелаете, в это окно; они будут размещаться в каталоге htdocs/uploads вашей системы. WebDAV обладает замечательным свойством: хотя Nautilus рассматривает его как каталог, но если вы запустите Firefox и укажете http://localhost/uploads, то увидите стандартный листинг каталогов Apache.

Сетевые календари

Теперь попробуем ещё одну интересную возможность: опубликуем в сети календарь с помощью приложения Sunbird, разработанного Mozilla Foundation. Это очень полезно, если вы работаете, скажем, над групповым проектом и хотите, чтобы каждый имел доступ к плану работ. Да мало ли причин, по которым может понадобиться календарь на сервере.

Заберите tar.bz2-архив с Sunbird с нашего диска и распакуйте его куда-нибудь, затем запустите в этом каталоге команду sunbird. Sunbird может работать и с локальными календарями, публикуя их там, где вы скажете, и с удаленными, автоматически выполняя синхронизацию.

На левой панели найдите вкладку Calendars; выберите её, и увидите локальный «домашний» календарь (Home), приготовленный для вас по умолчанию. Независимо от того, хотите ли вы использовать локальные календари или сетевые, первым делом опубликуем эту заготовку в сети.

Щелкните правой кнопкой мыши на Home и выберите Publish entire Calendar (Публиковать весь календарь). В строке адреса, которая появится, введите http://localhost/uploads/mycal.ics и щелкните Publish. Введите имя пользователя «admin» и свой пароль, и ваш (пустой) календарь будет теперь доступен другим для чтения и скачивания.

Теперь заполняйте его событиями. Но это статический календарь, поэтому локально сделанные в нем изменения не отразятся в сети, пока его не опубликуют повторно, что означает лишнюю мороку. Гораздо лучше завести удалённый календарь, так что уничтожьте календарь Home (щёлкните правой кнопкой и выберите Delete Calendar), затем ещё раз нажмите правую кнопку и выберите New Calendar. Выберите remote, затем – WebDAV. Введите http://localhost/uploads/mycal.ics в поле URL, затем щёлкните Next. задайте ему имя, например, «Удаленный календарь», и цвет поинтереснее серого.

Добавим скрипты

(thumbnail)
Установка PHP удалась, но этому скрипту рано в отставку: он предоставляет много ценной информации.

WebDAV – очень хороший способ работать с файлами в Сети, но наш web-сервер пока что обслуживает только статические HTML-файлы.

tar xvfj php-5.1.1.tar.bz2
cd php-5.1.1
./configure --with-apxs2=/usr/local/apache/
bin/apxs
make
su
make install

Данная последовательность команд добавляет модуль PHP к Apache, но нам ещё нужно подправить файл httpd.conf, чтобы сопоставить .php-файлы с интерпретатором PHP. Переключитесь в режим суперпользователя, выполнив команду su – , затем откройте /usr/local/apache/conf/httpd.conf в вашем любимом текстовом редакторе, найдите строки AddType и листайте их до тех пор, пока не увидите «AddType application/x-compress .Z». Под существующими строками AddType добавьте ещё одну:

AddType application/x-httpd-php .php

Сохраните изменения и выйдите из редактора, затем запустите команду /usr/local/apache/bin/apachectl restart. Теперь создайте файл info.php в каталоге /usr/local/apache/htdocs следующего содержания:

<?php
	phpinfo();
?>

Если всё сработало правильно (код-то незатейливый), вы увидите экран, похожий на показанный справа. теперь у вас есть всё для программирования на PHP!

Принимаем гостей

И последнее (но не по значению!): что за радость, если на собственном сервере нельзя выделить местечко для друзей? Не бойтесь, полный доступ им давать необязательно. Apache включает модуль mod_userdir, который позволяет размещать веб-страницы в пользовательских домашних каталогах. Чтобы активизировать mod_userdir, потребуется только одно небольшое изменение: откройте httpd.conf и удалите комментарий в начале строки «#include conf/extra/httpd-userdir.conf».

Затем перезапустите Apache командой /usr/local/apache/bin/apachectl restart и откройте терминал с правами обычного пользователя. Вы попадёте в свой домашний каталог, например, /home/bob. Выполните команду mkdir public_html – она создаст новый каталог, где Apache будет искать вашу домашнюю страницу. Создайте в этом каталоге файл index.html и поместите в него какой-нибудь комментарий. Теперь, чтобы почитать сайт, мы просто наберём в браузере http://localhost/~username.

Apache предоставляет пользователям все расширения, загруженные ранее, а следовательно, пользователь Bob, если пожелает, сможет использовать PHP-сценарии. Предоставление пользователю web-страницы через пользовательскую учётную запись означает, что пользователи получат полный SSH-доступ для загрузки своих файлов и управления своим пространством, а обо всём остальном позаботится Apache.

Позаботьтесь о безопасности с nmap

Представьте себе: вы один из последних представителей свободной человеческой расы, в то время как другие порабощены расой злобных машин и используются в качестве источников питания. вам нужно проникнуть в центральный компьютер, добраться до проводов и рвануться в атаку. Чем вы воспользуетесь? Конечно же, Nmap.

Всё верно: в фильме «Матрица:Перезагрузка» Тринити сканирует Матрицу на предмет доступных OpenSSH-серверов и взламывает их, используя реальную уязвимость. Работа Nmap как раз и заключается в сканировании одного или нескольких IP-адресов и выдаче информации о том, какие порты открыты и какие ОС используются. конечно, Nmap нельзя рассматривать только как лучшего друга хакера, ведь это также прекрасный инструмент для анализа вашей собственной сети на предмет возможных уязвимостей.

Eсли вы пробуете всё, что написано в этой статье, то вы установите всевозможные программы, которые открывают порты на вашем компьютерае. Очень важно отслеживать, какие порты открыты, чтобы не запустить какой-то ненужный сервис, а также чтобы вовремя заметить, что в ваш компьютер кто-то нашел лазейку.

Мы включили последнюю версию Nmap в наш диск, так что распакуйте архив, перейдите в полученный каталог и выполните ./configure, make, su, затем make install, и можно приступать.

Nmap лучше всего запускать от имени суперпользователя, потому что она использует специальные режимы соединения с TCP/IP-сокетами для обеспечения пика производительности. итак, из-под root запустите следующую простую команду:

nmap -O localhost

По этой команде будут просканированы все порты вашей машины и выведен отчет об открытых портах. если вы запустили Apache, вы увидите, что порт 80 находится в состоянии «open» (открыт), и что Nmap сопоставила этот порт с сервисом «http». Изучите весь список, пожалуйста: нет ли незнакомого порта? Сравните вывод с тем, что выдает ps aux, чтобы увидеть, не запущена ли какая-нибудь «приблудная» программа или обычно неиспользуемый сервис. Грамотные администраторы содержат «закрытый» сервер, запретив всё, что не требуется для работы — так безопаснее.

Строим файловое хранилище на Samba


Совместное проживание OS X, Windows и Linux – дурдом? только не при Samba.

Наиболее частая операция, выполняемая в небольших или домашних сетях – обобществление ресурсов. Общим может быть подключение к Интернету или что-нибудь попроще – например, принтер или вообще файл. Прежде чем рассылать 5 мБ-документы по всему дому через Gmail, подумайте о безопасной и простой альтернативе – вашем собственном файловом сервере.

Есть несколько способов создать его в Linux, но, вероятно, простейший и самый надежный способ – это использование Samba. Ко всему прочему, Samba поддерживает протокол SMB, который используется в сетях Windows для предоставления файлов в общий доступ – так что вы сможете работать с общими файлами не только на Linux-машинах, но и на Windows, и на Mac!

Здравствуй, Samba!

Наилучший способ установить Samba на ваш Linux-компьютер – это воспользоваться пакетами, включенными в ваш дистрибутив: Samba имеется в любом дистрибутиве, претендующем на популярность. Итак, пусть ваш менеджер пакетов отыщет и установит соответствующие программы. многие дистрибутивы разделяют клиентское и серверное ПО – убедитесь, что установлено и то, и другое. На «чистом» сервере клиент, конечно, не обязателен, но он пригодится для тестирования.

После установки настает время создать конфигурационный файл. Пакет Samba обычно снабжен файлом настроек по умолчанию, и достаточно лишь слегка подправить его. Впрочем, вы можете начать и с нуля. Краткий пример показывает, как мало этому файлу надо (кстати, его имя – /etc/samba/smb.conf):

[global]
workgroup = LINUX
netbios name = MYSHARE

[share1]
path = /tmp
[share2]
path = /share
comment = Some random files

Секция global обязательна и определяет имя рабочей группы (используется в Windows для объединения общих файлов — группировки ресурсов) и имя NetBIOS, под этим именем ваш сервер будет фигурировать на других компьютерах. По умолчанию берется имя вашего хоста (hostname).

Секции share в приведённом примере – это имена общих папок [частенько называемых «шарами», – прим. ред.], которые обслуживаются данной машиной. Опции не ограничиваются простой ссылкой на каталог. Вы можете допустить к общим папкам только лиц из определенного круга или даже сделать список файлов невидимым для неавторизованных пользователей. За дополнительной информацией обращайтесь к демонстрационному конфигурационному файлу или врезке «Полезные ссылки».

Наконец, для запуска сервера выполните команду:

/etc/init.d/samba start

Вероятно, вам захочется, чтобы этот сервис сам активизировался при каждой перезагрузке, так что либо вручную свяжите его с runlevel, либо включите в конфигурацию загрузки компьютера. Используйте для этого инструменты вашего дистрибутива.

В Linux, вы теперь можете монтировать общие каталоги и сетевые ресурсы, используя команду smbmount, или обычную mount с ключом -t cifs (smbfs уже устарела, пользуйтесь cifs):

mount //HOSTNAME/sharename /mnt/share -t cifs -o user

В Windows и Mac вы можете использовать обычные сетевые инструменты.

Кое-что о принтере

Помните, мы вскользь отметили, что в общее пользование часто предоставляется принтер? Конфигурационный файл Samba и с этим способен справиться, причем несколькими способами, в зависимости от того, работает ли у вас CUPS (Common Unix Printing System) и сколько у вас принтеров. мы будем иметь дело с простым сценарием, без CUPS (хотя CUPS, между прочим, тоже присутствует во многих дистрибутивах Linux, и это лучший способ управлять принтерами в Linux). CUPS тоже мог бы настроить сетевую печать, но раз уж запущен Samba, то проще поддерживать один набор файлов.

Обычно файл smb.conf, устанавливаемый по умолчанию, содержит следующие строки (проверьте, что они раскомментированы, т.е. символы «#» есть только там, где показано):

[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
# чтобы разрешить «гостевой» доступ к печати
guest ok = yes
writable = no
printable = yes
create mode = 0700
#=============================
# команда печати, подробности см. выше
#=============================
print command = lpr-cups -P %p -o raw %s -r
# используются драйверы печати на  стороне пользователя

Этот код, в общем-то, разрешает пользоваться принтерами всем. Но бывают обстоятельства, когда лучше позаботиться, чтобы на принтер покушались только штатные пользователи – в этом случае просто замените строку «guest ok = yes» на «guest ok = no».

Данные настройки всего лишь позволяют передавать данные – на клиентских машинах, естественно, должен иметься правильный драйвер принтера.

Запрягаем базу данных

Ваш собственный сервер баз данных MySQL в подкрепление к OpenOffice.org Base.


Баз данных в мире заметно больше, чем web-серверов. Они гораздо дольше окружают нас, содержат на порядок больше данных и поставляют больше критичных сервисов, чем все прочие. а почему бы вам не завести собственную базу данных? В отличие от серверов Samba и Apache, серверы баз данных не гонятся за славой – запустите такой, и он будет сидеть себе потихоньку в фоновом режиме, дожидаясь запроса.

Web-хостыеры обычно предоставляют базы данных весьма скромных размеров (заполучить 100 мБ считается удачей) – вот вам и повод сделать сервер самому. Потратив некоторое время на освоение SQL, вы сможете настроить ваш сервер и запросто предоставлять его также и вашим друзьям.

Ваше руководство по установке

Мы продемонстрируем вам, как настроить сервер MySQL. MySQL 5.0 имеется на нашем диске, так что скопируйте его, распакуйте и перейдите в созданный каталог, где выполните ./configure --prefix=/usr/local/mysql, затем make, переключитесь в режим root, и наконец, запустите make install. теперь перейдите в каталог /usr/local/mysql, выполните там команду bin/mysql_install_db, затем chown -R mysql var. Итак, MySQL установлена. Выполните команду bin/mysqld_safe &, чтобы запустить ваш MySQL-сервер.

По умолчанию MySQL не устанавливает пароль для своего суперпользователя, так что вам нужно ввести несколько команд от имени непривилегированного пользователя:

# Входим на сервер
/usr/loca/mysql/bin/mysql -u root mysql
# зададим пароль для root — желательно, чтоб угадать его было нелегко!
UPDATE user SET Pasword =
PASSWORD(‘frosties’) WHERE User = ‘root’;
# Создайте базу данных, которая нам понадобится в дальнейшем
CREATE DATABASE lxfdb;
# Добавьте учетную запись непривилегированного пользователя
INSERT INTO user (Host, User, Password)
VALUES (‘localhost’, ‘lxf’,
PASSWORD(‘orangutan’));
# Предоставьте новому пользователю доступ к созданной базе данных
GRANT ALL PRIVILEGES ON lxfdb.* TO lxf;
# Обновите привилегии MySQL 
FLUSH PRIVILEGES;
# Выйдите из MySQL; негоже лазить везде с правами root
exit;

Мы вернулись к нашей командной строке, теперь осталось убедиться, что новая учётная запись работает. Введите:

# Входим под именем нашего пользователя
/usr/local/bysql/bin/mysql -u lxf -p lxfdb
# Посмотрим список имеющихся таблиц (пока у нас ничего нет)
SHOW TABLES;
exit;

Если всё в порядке, значит, учётная запись создалась нормально.

Чтобы создать учётные записи ещё для кого-нибудь, просто повторите команду INSERT INTO, замените имя пользователя и пароль новыми значениями, плюс установите значение Host в «%» (предоставление доступа к локальному хосту извне с удаленных хостов). Вы можете создать сколько угодно баз данных и предоставлять пользователям различные уровни доступа. MySQL работает на порту 3306, так что вам нужно будет открыть доступ к нему на вашем брандмауэре, чтобы другие могли подключаться беспрепятственно.

Жизнь-служение

По общему признанию, серверы баз данных не богаты приложениями, преимуществами которых можно воспользоваться прямо с ходу, но некоторые всё же существуют. Например, можно настроить OpenOffice.org Base на взаимодействие с вашим новым сервером для всех её баз данных – вы получите ту же самую дружественную оболочку, но надёжно подкрепленную прекрасно масштабируемым MySQL.

Если душа просит чего-то более «продвинутого», то как насчет возможности доступа к вашим данным из любой точки? Лучше всего вооружиться программой типа PhpMyAdmin: это основанный на PHP инструмент администрирования MySQL-сервера, позволяющий вам создавать данные и управлять ими через Интернет. Будьте осторожны с правами доступа; лучше всего установить отдельную копию phpMyAdmin для каждого пользователя, чтобы быть уверенным в надлежащем разграничении прав.

Многие скрипты используют MySQL для хранения своих данных (wiki и дневники, пожалуй, наиболее яркие представители), но, бесспорно, лучшее применение MySQL – это разработка собственных PHP-скриптов на базе MySQL.

Межсетевые экраны

Запуская собственный сервер, вы вынуждены «продырявить» свой брандмауэр (firewall), чтобы ваш интернет-сервис мог работать, потому что брандмауэр зачастую блокирует все входящие соединения – беспрепятственно проходят только исходящие.

Чтобы открыть порт на вашем брандмауэре для какого-либо сервера, например, Apache (HTTP), вам нужно сначала узнать, какой порт и протокол этот сервер использует. Эту информацию обычно можно найти в документации сервера; пригодится также наша небольшая таблица.

И SUSE, и Mandriva используют собственные инструменты настройки брандмауэра, доступные из панели управления. В SUSE, например, откройте Yast, выберите «Security and Users» и щелкните на кнопку «Firewall». Появится новое окно, и для открытия порта просто щелкните на вкладку «Allowed Services» слева. SUSE поставляется с несколькими предварительно настроенными сервисами, которые можно просто выбрать из выпадающего меню «Services to Allow», либо добавить ваш собственный, щёлкнув по кнопке «Advanced». Если вы предпочитаете действовать самостоятельно, то Guarddog (http://www.simonzone.com/software/guarddog) – прекрасная графическая оболочка для настройки вашего брандмауэра.

Сервис Протокол Порт
SSH TCP 22
HTTP TCP 80
Squid UDP, TCP 3128, 3130

Общайтесь при помощи Jabber

Соберите друзей поболтать через ваш личный сервер обмена мгновенными сообщениями.

Персональные инструменты
купить
подписаться
Яндекс.Метрика