Что такое сервер?




Скачать 68.07 Kb.
НазваниеЧто такое сервер?
Дата публикации28.03.2013
Размер68.07 Kb.
ТипВопрос
odtdocs.ru > Информатика > Вопрос
Тихомиров Виктор

ИТ Директор ООО СИТ
Развертывание популярных серверов на базе GNU/Linux
Что такое сервер?
Кто думает что это такой компьютер?
А вот и нет, сервер это такая программа которая принимает запросы от клиентов. Любой компьютер на который вы установите такое ПО можно будет называть сервером.
Самые популярные сервера на базе GNU/Linux:
Samba сервер

WEB сервер

Proxy сервер

Почтовые сервера

Сервера баз данных

DHCP сервер

DNS сервер
Ну а теперь кратко о некоторых серверах из списка и о том как их развернуть на GNU/Linux.
Стоит помнить что фраза «google в помощь» это самый лучший совет для начинающего Linux-ойда и не только, не стоит сходу обижаться на такой совет.
И так ситуация 1:

Сеть из нескольких компьютеров, часть из которых управляется ОС Windows другая чать ОС GNU/Linux, как сделать сетевое хранилище для совместного доступа к файлам?

Samba — это пакет который поможет нам реализовать задуманное. Установка не представляет из себя ничего хитрого. Открываем менеджер пакетов ищем пакет samba и устанавливаем его, если он еще не установлен. Для Gentoo набираем emerge samba.

Далее нам нужно рассказать серверу какие ресурсы и на каких условиях мы хотим предоставить в сеть, тоесть нам нужно настроить наш сервер.
Файл настроек сервера практически всегда находится по адресу /etc/samba/smb.conf

Вот простой пример такого файла:
[global]

workgroup = MYGROUP

server string = LINUXSHARE
[public]

path = /home/vitek/share

comment = vitek-share
Более тонкую настройку можно провести используя дополнительную документацию, и тот же самый google

Осталось запустить наш сервер и все готово

/etc/init.d/samba start

Ситуация 2:

Появилась необходимость установить WEB сервер в локальной сети для публикации локальных WEB ресурсов. Для этого нам потребуется программа которая называется Apache

Чаще всего когда заходит речь о WEB сервере то всплывает термин LAMP

Linux Apache MySQL PHP именно такая связка позволяет получить много функциональный WEB сервер. Установка такого серверного набора тоже не представляет из себя ничего сложного. Ищем в пакетном менеджере интересующие нас компоненты и устанавливаем их Apace MySQL PHP Linux у нас уже установлен. В случае с Gentoo достаточно в командной строке под пользователем root дать такую команду emerge apache mysql php. Настройка этой связки тоже не представляет из себя ничего сложного.
Сначала стоит сконфигурировать и запустить MySQL сервер для этого в командной строке под пользователем root даем команду:

mysql_install_db

Теперь можно запустить наш SQL сервер

/etc/init.d/mysql start

Можно поковыряться и с другими настройками но тут стоит взять какую либо документацию которая поможет вам в этом. В нашем случае проделанного будет достаточно для доступа к серверу mysql под пользователем root без пароля.
Далее нам нужно настроить сервер Apache который и будет предоставлять дотуп к нашему локальному сайту. Основной файл настроек можно найти по адресу /etc/conf.d/apache2 для gentoo я не помню когда бы мне приходилось менять настройки по умолчанию поэтому мы даже не будем трогать этот файл, но будем знать что он существует (мало ли что).

Чтобы проверить наш web сервер в действии запустим его командой /etc/init.d/apache2 start теперь откроем на любом из компьютеров сети браузер и введем адрес нашего сервера для сервера с адресом 192.168.0.1 адрес http://192.168.0.1 если все у нас получилось как надо то мы увидим белый лист с надписью It works! Тепрь создадим директорию для нашего сайта обычно сайта хранятся в /var/www/ но никто не мешает вам разместить сайт в любом другом месте файловой системы. Для того чтобы наш сайт отображался по какомунибудь адресу нужно добавить виртуальный хост для apache. Для этого нужно создать небольшой конфигурационный файл в /etc/apache2/vhosts.d/ в качестве примера можно использовать хорошо комментированный файл 00_default_vhost.conf и так создаем файл /etc/apache2/vhosts.d/test.conf такого содержания:


ServerName test
DocumentRoot /var/www/test/


Options -Indexes

Order deny,allow

Allow from all



Теперь перезапустим apache /etc/init.d/apache2 restart это приведет к перечитыванию файлов конфигурации виртуальных хостов из /etc/apache2/vhosts.d/
Чтобы ваш сайт отобразился на компьютере клиента нужно чтобы в /var/www/test/ был файл с именем index.html. Клиент должен обратится к вашему серверу 192.168.0.1 по имени test, для этого нужно внести коррективы в файл /etc/hosts для Linux или в \WINDOWS\system32\drivers\etc\hosts для Windows, добавим в этот файл строчку

192.168.0.1 test
Тепер можно открыть браузер и обратится к нашему серверу по адресу http://test
Ситуация 3:

У нас теперь есть замечательный сайт для локальной сети, но вот беда наша сеть использует еще и интернет. Как бы снизить интернет трафик который потребляет наша сеть + хочется увеличить скорость загрузки сайтов + хочется чтобы была возможность ограничивать некоторых пользователей в посещении некоторых ресурсов.
Нам нужен хороший прокси сервер! SQUID подойдет наверняка.
И сново в менеджере пакетов нашего дистрибутива ищем интересующий нас пакет squid и устанавливаем его. Тепер поправим файл /etc/squid/squid.conf найдем в нем строку http_access deny all и заменим ее на строку http_access allow all По большому счету больше можно ничего не делать прокси можно просто запустить /etc/init.d/squid start
Теперь настроим наш браузер на использование прокси сервера 192.168.0.1 порт который SQUID использует по умолчанию 3128.
Вопрос с почтой
Существует множество решений задач связанных с почтой чаще всего они решаются ненамного сложней предыдущих. Но стоит отметить тот факт что серверные службы которые доставляют почту в ваш почтовый ящик и службы которые передают эту почту вашему почтовому клиенту это как правило разные программы.
Так например для того чтобы переслать письмо от user1@mail.ru к user2@mail.ru потребуется sendmail или postfix или exim а вот чтобы user2@mail.ru мог получить свою почту в Thunderbird или Evolution (по протоколам POP3 или IMAP) потребуется установить например Dovecot. А если вы ещё хотите рассортировать вашу почту на спам и полезные письма то можно установить сортировщик procmail. Для того чтобы настроить эти сервера придется потратить несколько часов на прочтение документации к этим программам.
Мы часто используем такую связку

Fetchmail — Procmail — Sendmail — Dovecot
DNS и DHCP
Domain Name System — DNS если бы небыло этой службы то мы бы не говорили зайди к нам на sit-sk.ru или отправь мне письмо на vasya@mail.ru нам бы приходилось говорить На нашем сайте 77.43.200.197 появилась новая статья, или отправь мне письмо на vasay@85.33.21.4 как бы глупо или страшно это не звучала но компьютеры досихпор общаются именно так. Когда мы запрашиваем mail.ru на самом деле мы устанавливаем связь с компьютером 217.69.128.41

Когда всемирная сеть интернет была не настолько огромной как сейчас для удобства взаимодействия с удаленными информационными ресурсами в Интернет использовали таблицы соответствия числовых адресов именам машин.
Авторство создания этих таблиц принадлежит доктору Постелю (Dr. Jon Postel). Именно он первым поддерживал файл hosts.txt, который можно было получить по FTP.
Современные операционные системы тоже поддерживают таблицы соответствия IP-адреса и имени машины (точнее хоста) - это файлы с именем hosts, о котором мы уже говорили чуть раньше. Выглядеть такой файл может например вот так:
127.0.0.1 localhost
144.206.130.137 polyn Polyn polyn.net.kiae.su polyn.kiae.su
144.206.160.32 polyn Polyn polyn.net.kiae.su polyn.kiae.su
144.206.160.40 apollo Apollo
www.polyn.kiae.su
Пользователь для обращения к машине может использовать как IP-адрес машины, так и ее имя или синоним (alias). Как видно из примера, синонимов может быть много, и, кроме того, для разных IP-адресов может быть указано одно и то же имя.
Процедура использования имени хоста вместо его IP адреса такова:
- сначала по имени в файле hosts находят IP-адрес,

- затем по IP-адресу устанавливают соединение с удаленным информационным ресурсом.
Пока интернет был маленьким было относительно легко держать согласованные списки имен хостов. Но по мере его роста увеличивалось количество записей в списке и держать согласованными все списки на каждом компьютере стало просто нереальной задачей, поэтому была придумана DNS.
DNS была описана Полом Мокапетрисом (Paul Mockapetris ) в 1984. Принцип действия остался прежним но список теперь можно хранить всего на нескольких компьютерах.
Система доменных имен строится по иерархическому принципу. Точнее по принципу вложенных друг в друга множеств. Корень системы называется "root" (дословно переводится как "корень") и никак не обозначается (имеет пустое имя согласно RFC-1034).
Корень - это все множество хостов Интернет. Данное множество подразделяется на домены первого или верхнего уровня (top-level или TLD). Домен ru, например, соответствует множеству хостов российской части Интернет. Домены верхнего уровня дробятся на более мелкие домены, например, корпоративные.
Если вам будет интересно постичь все тонкости DNS то озадачтесь исследованием документации по BIND (Berkeley Internet Name Domain) именно эта программа обслуживает систему доменных имен от корня до TLD (Top Level Domain).
Но вернемся с небес на землю, помните наш LAMP сервер? Нам пришлось на всех компьютерах нашей сети вносить изменения в файл hosts а вот если бы у нас был свой DNS сервер делать этого бы не пришлось, мы бы внесли запись DNS на одном компьютере а все остальные получили-бы эту запись автоматически. К счастью реализаций DNS немало и поэтому необязательно вникать в мощные серверные программы навроде BIND в большинстве случаем можно обойтись программами по проще, но при этом не мение надежными. Мы предлагаем использовать Dnsmasq. В простейшем варианте для этой программы нужны всего два файла /etc/resolv.conf который хранит адрес DNS сервера вашего провайдера (мы ведь ходим в интернет) и /etc/hosts в котором мы будем расписывать нашу локальную сеть. /etc/init.d/dnsmasq start и наш DNS сервер готов к работе. Теперь на всех компьютерах сети нужно прописать DNS сервер 192.168.0.1 и все компьютеры сети будут получать списки hosts с сервера. А если вы захотите сделать свою жизнь еще проще то вы можете воспользоваться встроенным в dnsmasq DHCP сервером который будет самостоятельно настраивать сетевые подключения на ваших компьютерах.

Для этого убираем комментарий со строки

conf-dir=/etc/dnsmasq.d из файла /etc/dnsmasq.conf создаем каталог /etc/dnsmasq.d а в нем файлин например с именем dnsmasq_dhcp примерно следующего содержания:
domain=mydomain.work

dhcp-host=boss,192.168.0.11,infinite
Теперь компьютеру которому будет назначен адрес 192.168.0.11 будет назначено имя boss
Чтобы каждому компьютеру всегда назначалось только одно имя и один IP адрес нужно добавить в нашу запись MAC адрес севой карты компьютера вот так:
dhcp-host=00:1e:8c:3c:19:45,192.168.0.11,boss
Думаю стоит сказать что существует не мало других серверов которые встречаются очень часто, например IRC сервера, Jaber сервера, сервера радио вещания, и т. д. Чаще всего их настройка достаточна проста если вам не требуется что-то сверх естественное.
И думаю стоит сказать что несмотря на то что процес развертывания серверов не очень сложен, процес настройки под конкретные задачи может потребовать достаточно много времени. А какая нибудь мелочь например имя вашего сервера может стать причиной неожиданных и трудно объяснимых проблем.

Добавить документ в свой блог или на сайт

Похожие:

Что такое mvc?
Этот вопрос регулярно задают на собеседованиях, кстати. Часто mvc называют шаблоном проектирования, но я бы сказал, что это такая...

Что такое mvc?
Этот вопрос регулярно задают на собеседованиях, кстати. Часто mvc называют шаблоном проектирования, но я бы сказал, что это такая...

Что такое mvc?
Этот вопрос регулярно задают на любых собеседованиях, кстати. Часто mvc называют шаблоном проектирования, но я бы сказал, что это...

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

Что такое «православное воспитание»?
Что такое «православное воспитание»? Вопрос этот очень трудный, особенно если мы говорим о детях самых маленьких тех, кто ещё не...

Кч «Правила поведения в школе» кч «Мои права и обязанности» Км «Что...

Тема: «Введение в язык программирования Basic»
На прошлом уроке мы начали знакомиться с понятием алгоритма и основами программирования. Напомните, что же такое алгоритм, какими...

Что такое буктрейлер?
Что такое буктрейлер? Это короткий видеоролик по мотивам книги. Основная его задача — рассказать о книге, заинтересовать, заинтриговать...

Урок в 8 классе по теме «Обобщение. Что такое человек?»
Цели : закрепить знания учащихся, полученные на уроках. Продолжить работу по формированию устойчивого понимания учащимися «что такое...

Что такое кегль шрифта?
Что такое кегль шрифта? В чем он измеряется? Какой кегль выбран для заголовка и для основного шрифта в презентации design ppt? Каким...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
odtdocs.ru
Главная страница