Простая офисная локальная сеть с подключением к интернет. Разворачиваем локальный сервер на Windows

Эта статья для тех, у кого есть сайт на локальном сервере и кто хочет сделать его доступным с других компьютеров. Кстати, если у вас ещё нет локального сервера, то вы с лёгкостью его поставите по . Подразумевается, что ваш сервер установлен по указанной инструкции, если это не так, то файлы могут находится в других директориях.

Мы можем сделать сайт доступным для других устройств, подключённых к сети:

  • внутри квартиры (всегда);
  • внутри локальной домашней сети (почти всегда);
  • для всех пользователей Интернета (не всегда).
Статический или динамический?

Разница в вероятностях (всегда-иногда) заключается в вашем IP. Если он статический, то всё делается довольно легко. Как делать локальный сервер при динамическом IP в этой статье не описывается.

Внутри своей квартиры вы сами задаёте политику присвоения адресов - например, Wi-Fi роутер может раздавать устройствам произвольные, динамические IP адреса; и можно настроить роутер и устройства так, что всем им будут присвоены определённые статические адреса.

Домашние локальные сети, как правило, организовываются региональными провайдерами. Внутри этих сетей все пользователи, обычно, имеют два IP: один - локальный (статический, который пользователь вписывает при настройки комьпютера или сетевого оборудования) второй - динамический который присваивается при доступе в Интернет.

Локальные адреса, в основном, имеют такой вид (вместо нулей должны быть другие цифры):

172.16.0.0 192.168.0.0

Приступаем

Открываем файл C:ServerbinApache24confhttpd.conf и ищем там строчку

Listen 127.0.0.1:80

Нам нужно заменить IP адрес на свой, например, мой локальный IP адрес 192.168.43.90, следовательно, я пишу:

Listen 192.168.43.90:80

Как вариант, можно сделать вот так:

Сохраняем файл и перезапускаем сервер. На самом деле - всё!

Пробуем доступ к серверу набрав в строке браузера свой IP (я набираю http://192.168.43.90/ ), как и следовало ожидать - доступа нет, но причина очевидна: файервол. Его нужно настроить должным образом, но для нашего тестирования я его просто отключаю.

Теперь всё впорядке и ваш сайт доступен по адресу http://192.168.43.90/ с любого устройства, находящегося в вашей домашней или городской сети. На следующем скриншоте, я зашёл на локальный сервер с телефона:

24 часа в сутки

Если у вас статичный IP для интернет соединений (у некоторых Интернет провайдеров можно подключить эту услугу за отдельные деньги), то вы можете сделать из своего компьютера самый настоящий хостинг-сервер! Понятное дело, что компьютер должен быть включен 24 часа в сутки, иначе на ваш сайт невозможно будет попасть.

Внутри локальной (домашней) сети вы можете придумать имя своему сайту и попросить ваших друзей и всех тех, кто будет заходить на него внести изменения в файл
C:WindowsSystem32Driversetchosts
Каждому из них нужно будет добавить туда строчку:
ваш_IP ваш_сайт
например
192.168.43.90 alexblog.local
После этого набирая в адресной строке браузера http://alexblog.local они будут попадать на ваш сайт.

Зачем все эти сложности?

Открытие доступа к локальному серверу может быть полезным по ряду причин, правда, обычно они довольно специфические. Те, кто этим занимаются, знают для чего они это делают. Сейчас, когда не нужно платить за трафик (но нужно платить за электричество), гораздо разумнее разместить свой сайт (доступ к которому вы хотите открыть для всех) на хостинге. Хорошем, недорогом хостинге, с бесплатным доменом в подарок .

Более того, открывая доступ к своему localhost нужно подумать о безопасности. В данной статье я этот вопрос не затрагиваю, но могу вас заверить, что Apache, запущенный от имени администратора (а именно так он у большинства на локахосте и запущен), через скрипты PHP (или уязвимости в них), может «путешествовать» по каталогам дисков. Т.е., по крайне мере теоретически, злоумышленник через уязвимости в вашем сайте может скачать файлы с вашего компьютера или удалить файлы, например, в директории Windows. Если заботиться о безопасности локального сервера является слишком сложным занятием для вас, то ответ очевиден - хостинг.

Рассмотрим типичный небольшой офис. Предположим, что в нем работают несколько менеджеров (пусть их будет три), секретарь, бухгалтер и директор. На каждом рабочем месте установлен компьютер, также в офисе есть один выделенный канал в интернет с постоянным реальным ip адресом (например 195.34.10.134) и доменное имя myoffice.ru.

Теперь определимся, что мы хотим сделать.

  • объединить все компьютеры в локальную сеть (LAN);
  • организовать печать со всех рабочих мест на сетевой принтер;
  • подключить и настроить Интернет - канал;
  • организовать доступ в Интернет со всех компьютеров локальной сети.;
  • защитить локальную сеть от внешних вторжений;
  • установить и настроить сетевые сервисы: WEB-сервер, почтовый сервер, файловый, FTP, прокси и т.д.;
  • организовать удаленный модемный доступ к офисной сети из дома с возможностью использования офисного интернет-канала

Теперь приступим к проектированию структуры сети.

Поставленую задачу построения простой локальной сети мы будем решать на базе стека (набора) протоколов TCP/IP.

Сначала выберем диапазон IP адресов для нашей локальной сети. Остановимся на зарезервированных для использования в частных сетях адресах: 192.168.0.0-192.168.255.255. Для нашей локальной сети используем адресацию 192.168.20.0/24, где "/24" - сокращенная форма записи маски подсети 255.255.255.0. В каждой такой сети (класса "С") может использоваться до 254 уникальных хостов, чего нам вполне достаточно. Постоянный ip адрес (195.34.10.134) в сети интернет нам по условию задачи предоставлен провайдером.

В простом случае наша сеть может иметь следующую топологию:

Как видно из рисунка 1, большая часть сетевых сервисов размещена на одном компьютере, который через один сетевой интерфейс подключен к сети интернет, через другой - к локальной сети офиса, а через модемное соединение - к домашнему компьютеру. Каждому сетевому интерфейсу этого компьютера соответствует свой ip адрес: 195.34.10.134 - в сети интернет, 192.168.20.1 - в локальной сети, 192.168.40.1 - при удаленном соединении. Таким образом этот компьютер выполняет роль и маршрутизатора и файерволла и серверов: web, почтового, базы данных и пр. (Маршрутизатор - в нашем случае играет роль шлюза в Интернет. Вы можете спросить: нафиг он нужен, чем занимается? Отвечу как чайник: маршрутзатор занимается маршрутизацией... пакетов между подсетями, но в нашем случае он будет просто "раздавать" Интернет всем компьютерам в нашей локальной сети). Но такая структура имеет недостатки: во-первых, опасно "класть все яйца в одну корзину" (такая сеть весьма уязвима для атак и не очень надежна - проигравший теряет все), во-вторых, в ней не оптимально распределяется нагрузка, а в-третьих, ее неудобно администрировать - любой сбой или неисправность основного сервера практически полностью парализует работу всей локальной сети. Несмотря на недостаки этого варианта, мы в дальнейшем в основном будем использовать именно его, т.к. мы здесь рассматриваем самые простые и дешевые решения для маленьких контор и дома. Следующие две схемы приведены лишь для ознакомления, и в них можно не вникать.

Теперь немного изменим топологию сети, чтобы устранить часть недостатков (см. рис.2).

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

Поэтому, может быть, будет лучше интернет-серверы выделить в отдельный сегмент (см. рис.3).

В этом случае локальная сеть находится в одном сегменте сети, а интернет-серверы - в другом.

Могут быть и другие топологии локальной сети, все зависит от конкретных целей и условий, но для упрощения задачи мы остановимся на первой сетевой топологии (Рис.1), несмотря на ее недостатки, т.к. для экспериментов - это не принципиально.

Теперь пришло время подумать на каком оборудовании и программном обеспечении (ПО) следует реализовать нашу простую локальную сеть. Конкретные реализации будут описаны в следующих статьях, здесь же затронем общие вопросы.

Прошло то время, когда руководство компаний могло не задумываться о легальности устанавливаемых программ. Сейчас нарушения в области авторских прав относятся к тяжким преступлениям, поэтому от греха подальше (с целью минимизации рисков) будем рассматривать только лицензионное программное обеспечение. Оптимизация затрат при переходе на лицензионные программы для маленьких организаций будут рассмотренны в отдельной статье 146УК (шутка:)))).

В качестве шлюза в Интернет можно использовать:

  • компьютер с Windows (дорогое решение);
  • компьютер с FreeBSD/Linux;
  • аппаратный роутер (самое простое и дешевое решение - от 50$).

От некоторых крутых гуру, работающих в крупных организациях, скорее всего услышите рекомендацию на сервер поставить MS Windows 2003 Server, на него поставить ISA (для организации Интернет доступа), почтовый сервер MS Exchange, на клиентские компьютеры поставить Windows XP Pro и завести их в домен, а 1С использовать в терминальном режиме.

В принципе это функционально оптимальный вариант... для крупных организаций, но мы то не монстры, мы - маленькая конторка на 3-10 ПК. Посчитайте по прайс-листу партнеров Microsoft во сколько тысяч (десятков тысяч) долларов вам обойдется такое решение. Поэтому в следующих статьях будут рассматриваться в основном дешевые варианты, где на сервере (шлюзе) будут использоваться бесплатные FreeBSD или Linux, а на клиентских машинах Windows XP HomeEdition (или Professional)... а то и Linux Ubuntu.

Несколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на Windows8. Ну пожааалуйста». И так как отогнать её никак не получалось, я запаслась чаем и печеньками и приступила.

На установку системы и всех необходимых программ ушло не более двух часов, но затем наступил самый интересный момент: мне нужно было развернуть рабочее окружение, а именно - GIT + локальный сервер (Apache, MySQL, PHP, nginx, memcached, mongodb). Помятуя об опыте предыдущих установок, на этот раз я решила весь процесс задокументировать и сохранить для потомков.

Дисклаймер номер раз: «я не программист» (с), а дизайнер интерфейсов и фронтенд-технолог (но в некоторых случаях могу помочь коллегам и накодить что-нибудь этакое, и меня даже потом за это не побьют)

Дисклаймер номер два: да, я прекрасно представляю, что в Ubuntu всё это делается в разы быстрее. Но я работаю на Windows, так исторически сложилось.

Итак, приступим.

Наш план работ включает установку следующих продуктов:

  1. PuTTY
  2. Denwer (Apache, MySQL, PHP)
  3. Nginx
  4. Memcached
  5. MongoDB

1. PuTTY

PuTTY - свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin.

В состав PuTTY входит несколько утилит, но мне в работе нужны только он сам и Pegeant (агент SSH-аутентификации, в котором хранятся ключи от git-репозиториев).
Офсайт:
Если вам не нужны никакие SSH-и, забудьте об этом пункте и идём дальше.

2. GIT

Для работы с git я уже не первый год использую TortoiseGit , который стабилен, гуёв и на 146% закрывает все мои потребности. Вобщем, рекомендую.


Офсайт:

2.1 Для работы TortoiseGit требуется git для Windows , который можно забрать на гуглекоде ;
2.2 сам TortoiseGit устанавливаем отсюда

3. Denwer

Денвер - Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») - проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине.
Офсайт:

3.1 Установка

Нам потребуется скачать базовый комплект и дополнительные модули PHP5 .

Лирическое отступление:

нет, не просто скачать, а получить ссылки на скачивание по email! То есть вам придется вбивать свою почту, а также имя и фамилию два раза в форме под большим заголовком «Регистрация». «Регистрация требуется в связи с будущим выходом Денвера-4.» уже который год как бы извиняется форма, но я ей больше не верю(.

Обычно установка денвера проходит быстро и безболезненно, но на Windows8 на меня напала ошибка, которая ругалась на отсутствующую библиотеку msvcr71.dll . Библиотеку можно и положить в папку "\Windows\System32\" (x32) или "\Windows\SysWOW64\" (x64). После того, как файл улегся в папку, откройте его свойства и нажмите кнопку «Разблокировать».

3.2 Проверка работоспособности

После установки Денвера, создадим тестовый скрипт, на котором будем проверять работоспособность всего того, что мы установим впоследствии.
Идем в Z:\home и добавляем новый сайт: создаем папку test.local , в ней папку «www» , в которую добавляем файл index.php с невероятно креативным текстом:

";

Перезапускаем Денвер, открываем в браузере www.test.local , впечатляемся и идём дальше

4. Memcached

Memcached - связующее программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе парадигмы хеш-таблицы.

Memcache - расширение для php, предоставляет удобный процедурный и объектно-ориентированный интерфейс к memcached, высокоэффективному кеширующему демону, который был специально разработан для снижения нагрузки на базу данных в динамических веб приложениях.

4.1 Установка memcached

А. скачиваем архив с бинарником: Memcached 1.4.5 for Windows отсюда
В. \usr\local\memcached

4.2 Установка memcache

А. скачиваем архив с библиотекой отсюда
В. распаковываем содержимое архива в \usr\local\php5\ext\
С. открываем файл php.ini (\usr\local\php5\php.ini ) и подключаем расширение:
extension=php_memcache.dll

4.3 Настраиваем запуск Memcached вместе с запуском Denwer

Чтобы запустить скрипт вместе с Денвером нам нужно:
  1. написать скрипт, содержащий команды запуска и останова приложения/ сервиса и положить его в папку \denwer\scripts\init.d
  2. создать ссылку на этот скрипт в папке конфигурации запуски/останова \denwer\scripts\main\

А. создаём файл с именем «memcached.pl» в директории \denwer\scripts\init.d\
#!perl -w package Starters::Memcached; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = "/usr/local/memcached/"; chdir($basedir); StartManager::action $ARGV, start => sub { # # START. # print "Starting memcached\n"; system("memcached.exe -d"); print " Started!\n"; }, stop => sub { # # STOP. # print "Stopping memcached\n"; system("TASKKILL /F /IM memcached.exe"); print " Stopped!\n"; }; return 1 if caller;

B. теперь создадим ссылку на скрипт – обычный текстовый файл, содержащий указание, что при старте, рестарте и остановке Денвера, необходимо выполнить init.d/memcached.pl
В текстовом редакторе пишем
init.d/memcached
и сохраняем файл под именем «40_memcached» в следующие папки:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

4.4 Проверяем результат

В наш тестовый скрипт (index.php) добавляем:
$memcache = new Memcache; $memcache->connect("127.0.0.1", 11211); echo ‘Memcache ver: ’ . $memcache->getVersion();

Перезапускаем Денвер и смотрим, что получилось

5. Nginx

Nginx - простой, быстрый и надёжный сервер, не перегруженный функциями.

Офсайт:

5.1 Настройка Nginx

A. скачиваем с офсайта Windows-версию и распаковываем в \usr\local\nginx
B. настраиваем виртуальный хост для нашего тестового сайта. Для этого открываем \usr\local\nginx\conf\nginx.conf и добавляем туда

Server { listen 127.0.0.1:80; server_name www.test.local test.local; if ($host = "test.local"){ rewrite ^/(.*)$ http://www.test.local$1 permanent; } location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ { root Z:\home\/test.local\www; } location / { ssi on; proxy_pass http://127.0.0.1:8080/; proxy_set_header X-REQUEST_URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; root Z:\home\/test.local\www; } }
Это пример настроек из реального проекта, ваши настройки, очевидно, могут отличаться.

5.2 Настройка Apache

По-умолчанию Апач работает на 80-м порту, но мы только что отдали этот порт Nginx-у, поэтому теперь необходимо изменить шаблон для виртуального хоста в настройках апача и назначить ему порт, отличный от 80-го (например, 8080).
Открываем \usr\local\apache\conf\httpd.conf и изменяем номер порта

НАЧАЛО ШАБЛОНА ВИРТУАЛЬНОГО ХОСТА. Если вы хотите по умолчанию запускать Apache на порту, отличном от 80, измените номер порта в следующей далее директиве. #Listen $&{ip:-127.0.0.1}:$&{port:-8080} #NameVirtualHost $&{ip:-127.0.0.1}:$&{port:-8080} # # DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)/public^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "$&" # ServerName "%&/-www" # ServerAlias "%&/-www" "%&/-www/www" $&{host:-} # # $&{directives:-} # # ScriptAlias /cgi/ "$^1/cgi/" # ScriptAlias /cgi-bin/ "$^1/cgi-bin/" # AllowEncodedSlashes on #

5.3 Настраиваем запуск Nginx вместе с запуском Denwer

A. создаём файл с именем «nginx.pl» в директории \denwer\scripts\init.d\
#!perl -w package Starters::Nginx; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = "/usr/local/nginx/"; chdir($basedir); StartManager::action $ARGV, start => sub { # # START. # print "Starting Nginx\n"; system("start nginx.exe"); print " Started!\n"; }, stop => sub { # # STOP. # print "Stopping Nginx\n"; system("nginx.exe -s stop"); print " Stopped!\n"; }; return 1 if caller;

B. в текстовом редакторе пишем
init.d/nginx
и сохраняем файл под именем «50_memcached» в следующие папки:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

5.4 Проверяем результат

Положим рядом со скриптом файл style.css с содержанием
h1{ color: red; } h2{ color: green; }

И облагородим наш index.php :
Test me

Test me

Memcached

connect("127.0.0.1", 11211); echo "Memcached ver: " . $memcache->getVersion(); ?>
Теперь перезапускаем Денвер и любуемся результатом. Если CSS-файл подключился – Nginx работает нормально.

6. MongoDB

MongoDB - документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц.

Офсайт:

6.1 PHP-driver

А. Скачиваем библиотеку php_mongo.dll с этого сайта : и закидываем в папку \usr\local\php5\ext\
Методом проб и ошибок было установлено, что подходящий драйвер содержится в архиве mongo-1.2.5.zip/mongo-1.2.5-php5.3vc9ts.zip . Если у вас по какой-то причине не заведётся, попробуйте другие версии.

B. подключаем расширение в php.ini
extension=php_mongo.dll

6.2 Установка Mongo

А. скачиваем архив с Mongo и распаковываем в папку \usr\local\mongodb . В этой же папке создаем еще две папки:

B. устанавливаем службу
> cd C:\WebServers\usr\local\mongodb\bin\
> mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\

6.3 Настраиваем запуск MongoDB совместно с денвером

A. создаём файл с именем «mongod.pl» в директории \denwer\scripts\init.d\
#!perl -w package Starters::mongoDB; BEGIN { unshift @INC, "../lib"; } use StartManager; StartManager::action $ARGV, start => sub { # # START. # print "Starting mongoDB\n"; system("net start mongoDB"); print " Started!\n"; }, stop => sub { # # STOP. # print "Stopping mongoDB\n"; system("net stop mongoDB"); print " Stopped!\n"; }; return 1 if caller;

B. в текстовом редакторе пишем
init.d/mongod
и сохраняем файл под именем «60_mongod» в уже знакомые нам папки:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

6.4 Проверяем результат

Запустим консольный интерфейс mongo
> Z:\usr\local\mongodb\bin\mongo.exe

И выполним вставку и вывод тестового значения в базу “test”
> db.test.save({ name: “Habr!” })
> db.test.find()

В результате должно получиться следующее:

6.5. Установка интерфейса управления Mongo-базами

На офсайте MongoDB есть список и краткие обзоры админок , так что можно выбрать по вкусу.
Я для себя выбрала RockMongo , поэтому именно с её помощью мы окончательно удостоверимся, что у нас всё работает и никуда не падает.

А. скачиваем архив с админкой с этой страницы . Выбираем, естественно, версию для Windows . На момент написания статьи это RockMongo-on-Windows v0.0.4

B. из архива берём папку \rockmongo-on-windows\web\rockmongo и копируем её в директорию нашего тестового сайта
Открываем config.php и меняем значение параметра
$MONGO["servers"][$i]["control_auth"] = true;
на
$MONGO["servers"][$i]["control_auth"] = false;

C. Проверяем результат по ссылке www.test.local/rockmongo/index.php

Поздравляю! Теперь мы окончательные и бесповоротные молодцы.

Бонус №1. Работа с php из консоли Windows

Возможно, кому-то пригодится. Мне вот пригодилось, когда наш злобный техлид решил, что «SQL-файлы – это ващепрошлыйвек, давайте юзать миграции». Я, конечно, для приличия попыталась изобразить полное непонимание и даже пустить слезу, но была разоблачена и отправлена разбираться с тем, как это работает на Windows.
Оказалось, что всё что нужно для счастья – это прописать PHP директорию в PATH .


Нажимаем на «Изменить» и добавляем в конец строки
;Z:\usr\local\php5

Теперь проверим, что всё заработало.
В директории тестового сайта создадим файл console.php

Открываем консоль (можно прям из этой же папки – щелкаем правой кнопкой мыши с зажатым SHIFT-ом на пустом месте и выбираем пункт «Открыть окно команд»).
Вводим:
> php console.php “UserName”

Консоль отвечает:
> “Hello, UserName!”

PHP побеждён, всеобщее ликование, апплодисменты, занавес.

Бонус №2.

Все файлы и примеры, упомянутые в статье одним архивом бесплатно без смс: на гитхабе

Надеюсь, что данный материал окажется полезен.
Буду благодарна за замечания и предложения.

Теги: Добавить метки

Linux-сервер своими руками Колисниченко Денис Николаевич

1.6.1. Сервер локальной сети

1.6.1. Сервер локальной сети

Сервер локальной сети (рис. 1.1) - это сервер, оказывающий услуги пользователям сети Интранет (Intranet). He путайте «Интранет» с «Интернет». Сеть Intranet - это внутренняя корпоративная сеть, как правило, без выхода в Интернет.

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

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

Рис. 1.1. Сервер локальной сети

На рис. 1.1 изображена небольшая локальная сеть без выхода в Интернет. Все рабочие станции и сам сервер подключены к центральному устройству сети - концентратору. Вместо концентратора можно использовать (и предпочтительнее использовать) коммутатор (switch). В отличие от коммутатора, концентратор «не знает», к какому порту подключен тот или иной компьютер и когда один из компьютеров передает пакет данных, то концентратор повторяет его на все свои порты. Каждый компьютер сети получает этот пакет и проверяет наличие своего IP-адреса в его заголовке. Если IP-адрес назначения не совпадает с IP-адресом компьютера, который принял этот пакет, то пакет просто игнорируется. Коммутатор же передает пакет только на тот порт, к которому подключен адресат. Благодаря этому, помимо повышения безопасности, снижается нагрузка на сеть. Вот так пакеты данных доставляются от источника к месту назначения.

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

О выборе сетевого адаптера и о другом «железе» для сервера написано в п. 7.6 «Несколько слов перед настройкой сервера». Здесь же нужно сказать пару слов о выборе коммутатора. Раньше основным камнем преткновения для использования коммутаторов была их высокая стоимость. Сейчас можно купить довольно производительные коммутаторы за относительно небольшие деньги. Для домашнего или небольшого офиса можно порекомендовать коммутатор LUCENT CAJUN P115G. Он имеет 24 порта 10/100 Мбит, а также 1 оптоволоконный порт 100FX. По последним данным его стоимость составляет около 230 долларов США.

Более дорогой и более производительный вариант на 48 портов 10/100 Mbit LUCENT-CAJUN P334T. Этот коммутатор обладает внутренней шиной на 8 Гбит, а также модульной конструкцией, что позволяет устанавливать дополнительные модули. Стоимость модели Р334Т - около $900. При установке дополнительных оптоволоконных портов 100FX стоимость увеличится примерно на $150…250 в зависимости от количества портов.

Из книги Мобильный интернет автора Леонтьев Виталий Петрович

Подключение по локальной сети Подключение к Интернету посредством выделенного канала, через районную или домашнюю локальную сеть – один из самых удобных и недорогих вариантов. И, в любом случае – самый быстрый: как известно, кабельная сеть обеспечивает передачу данных

Из книги Fedora 8 Руководство пользователя автора

Создание и настройка локальной сети Готовая сеть, конечно же, дело хорошее… Но, увы, в коробке из компьютерного магазина ее, как ноутбук, не принесешь. И все чаще даже у пользователей-новичков встречаются ситуации, когда сеть необходимо создавать с нуля, под свои нужды и

Из книги Работа на ноутбуке автора Садовский Алексей

2.3. Интернет по локальной сети 2.3.1. Настройка локальной сети Интернет по локальной сети чаще всего встречается на предприятиях или в небольших домашних сетях. Как правило, в сети есть главный компьютер - шлюз, предоставляющий всем остальным компьютерам сети доступ к

Из книги Собираем компьютер своими руками автора Ватаманюк Александр Иванович

2.3.1. Настройка локальной сети Интернет по локальной сети чаще всего встречается на предприятиях или в небольших домашних сетях. Как правило, в сети есть главный компьютер - шлюз, предоставляющий всем остальным компьютерам сети доступ к Интернету. У этого компьютера два

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Глава 24 Подключение к локальной сети Проводная локальная сеть Настройка сетевого соединения1 сентября 1969 года считается датой рождения Интернета. Впервые с помощью специального кабеля были объединены два компьютера, которые могли обмениваться данными друг с

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

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

Из книги Компьютерные советы (сборник статей) автора Автор неизвестен

Глава 11 Понятие локальной сети Что такое сеть и зачем она нужна Основные варианты и типы сетей Основные

Из книги С компьютером на ты. Самое необходимое автора Егоров А. А.

Глава 14 Подключение к локальной сети Подключение к проводной сети Подключение к беспроводной сетиИтак, у вас появилась возможность подсоединиться к локальной сети.Для подключения к проводной сети наиболее распространенного стандарта 100Base-TX потребуется: сетевая

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

Работа с ресурсами локальной сети Стандартным объектом, позволяющим выполнять типовые операции с локальной сетью, является WshNetwork. С помощью этого объекта можно:? узнать сетевое имя компьютера, имя текущего пользователя и название домена, в котором он

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

8.9.10 Широковещательные рассылки в локальной сети Версия 1 выполняет широковещательные рассылки в локальной сети. Следовательно, каждый из сетевых интерфейсов должен принимать и анализировать такие сообщения. Больший смысл имеет использование многоадресных

Из книги Ноутбук [секреты эффективного использования] автора Пташинский Владимир

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

Понятие локального сервера

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

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

Сейчас попытаемся рассмотреть вопросы, касающиеся того, как создать и настроить локальный сервер на компьютере, в зависимости от его типа и назначения

Выбор программного обеспечения

В принципе, выбор программного обеспечения - личное дело каждого пользователя. Тут стоит отметить, что, если, к примеру, при создании локального веб-сервера используются только языки гипертекстовой разметки вроде HTML или CSS, дополнительно устанавливать программные пакеты не имеет смысла, поскольку любой интернет-браузер прекрасно их «понимает».

Другое дело, когда в качестве дополнительных компонентов выступают скрипты, написанные, скажем, на PHP. Стоит их задействовать, и браузер уже не справляется. Вот тут и пригодится специализированное ПО. Что же касается прокси, DNS и игровых серверов, тут тоже ситуация неоднозначная. Несколько позже будут рассмотрены наиболее простые приложения для их создания и настройки, а пока остановимся на основном вопросе, касающегося стандартных локальных веб-серверов.

Как создать локальный сервер: установка и настройка пакета Denwer

Если уж вы решили заняться созданием локального сервера для последующего размещения на удаленном хостинге, естественно, потребуется какой-то инструмент. Чаще всего при поиске соответствующего ПО в Интернете пользователи получают переадресацию на скачивание программного пакета Denwer, который является отечественным продуктом и к тому же достаточно прост для понимания и работы с ним.

Он содержит все необходимые инструменты вроде Apache, PHP, MySQL, phpMyAdmin, sendmail и т. д. Единственный недостаток состоит только в том, что к нему дополнительно придется устанавливать специальные движки вроде в самом простом варианте.

Итак, создание локального сервера начинается с запуска инсталляционного EXE-файла (естественно, от имени Администратора). Появляется окошко, похожее на DOS-режим. Следуем указаниям установщика. Сначала выбираем место хранения данных сервера, затем назначаем литеру и режим работы виртуального диска (в принципе, предлагаемые параметры можно не изменять). На этом установка завершена. Теперь локальный сервер нужно проверить на предмет корректного функционирования.

Тестирование работоспособности

На данном этапе запускаем созданный сервер, а в окне любого интернет-браузера вводим http://localhost. Если программа инсталлирована без ошибок, браузер отобразит сообщение о том, что все работает.

Если пролистать страницу вниз, можно будет увидеть основные ссылки, по которым можно провести полное тестирование работы локального сервера.

Вопросы кодировки

Иногда можно встретить неприятную ситуацию, когда отсылаемое сообщение электронной почты выглядит в виде набора непонятных символов. Это происходит только потому, что программа изначально рассчитана на кодировку UTF-8. Ее можно совершенно элементарно изменить, например, на KOI-8R или что-то еще.

Установка локального сервера: дополнительные движки

Теперь еще один важный момент. Локальный сервер Windows-систем не может обойтись без специальных дополнений, называемых движками (WordPress, Joomla и т. д.).

Для начала в папке www, расположенной по пути \home\local host, в основной директории создаем произвольный каталог. После этого вводим в адресной строке браузера путь http://localhost/ и проверяем, что именно открывается. Если открылась именно все нормально. Копируем файлы движка в этот каталог при помощи любого файлового менеджера (хотя бы того же «Проводника») и вводим адрес заново. Появляется окно «Мастера установки», где нужно всего лишь следовать указаниям.

Дополнение базами данных

Теперь локальный сервер должен присоединить специальные базы данных. Для этого используется служба phpMyAdmin, вход в которую осуществляется посредством ввода в адресной строке браузера http://localhost/tools. Сначала выбирается раздел создания новой базы, ей дается название (можно произвольное, но лучше указывать такое же, какое было применено для папки в предыдущем разделе).

Затем возвращаемся на главную страницу и настраиваем параметры привилегий (создаем нового пользователя, указываем логин и пароль, в качестве хоста используем localhost и отмечаем «птичками» все, что есть в окне). Остается нажать кнопку «Пошел!» и дождаться окончания процесса.

Перенос локального сервера на хостинг

На следующем шаге следует подключение сервера к локальной сети и перенос на хостинг, чтобы он стал доступным пользователям в сети Интернет. «Родной» способ переноса данных на удаленный ресурс выглядит не слишком удобным ввиду множества дополнительных действий.

Настройка локального сервера в плане переноса данных на удаленный хостинг лучше всего производится приложением FileZilla, при помощи которого нужно скопировать файлы, находящиеся в вышеупомянутой директории, в корневой каталог хоста. Это либо папка PUBLIC_HTML, либо раздел HTDOCS. Теперь дело за малым: меняем так называемые абсолютные пути к папкам и файлам и директориям в настройках движка, указываем название базы данных, которую предполагается создать использовать уже на удаленном хосте, и указываем для хоста новый логин с паролем. Все. На этом работа завершена. Подключение к локальному серверу пользовательских машин может производиться через любой интернет-браузер.

Локальные прокси-серверы

Теперь посмотрим, как создать и настроить локальный прокси-сервер. Для чего он нужен? Во-первых, с его помощью можно отследить абсолютно все, что загружается на компьютерный терминал или ноутбук в процессе интернет-серфинга. А во-вторых, так можно сэкономить трафик, если он платный.

Локальный прокси-сервер работает по принципу кэширования обращений к DNS-серверам и сохраняет, скажем, картинки или любые другие объекты, а при повторном посещении какого-либо ресурса, так сказать, подгружает их из своей памяти, ускоряя доступ к ресурсу.

Для создания сервера такого типа понадобится простейшее приложение HandyCache, которое следует поместить в удобное место для быстрого доступа, поскольку при каждом сеансе подключения к Интернету придется обращаться именно к нему.

Перед началом работы следует задать настройки прокси. К примеру, если используется браузер Opera, в параметрах серверов для HTTP нужно указать значение 127.0.0.1, 8080 - для порта. Теперь запускаем приложение, заходим в настройки и смотрим на вкладку «Дозвон». Как правило, программа сама определяет, какой тип подключения используется в данный момент. Далее нажимаем одноименную кнопку и пользуемся созданным сервером.

Да, обратите внимание: в настройках кэша можно указать размер порядка 300 Мб. По идее, этого должно хватить на все случаи жизни. Просмотреть содержимое можно в папке Cache основной директории, где была инсталлирована программа. И еще одно: запомните, это обычный прокси-сервер, а не анонимный, так что ждать от него изменения или сокрытия IP-адреса не стоит.

Локальные DNS-серверы

Локальный DNS-сервер можно использовать в случаях, когда связь нестабильна, локальная сеть имеет слишком большое ветвление на основе TCP/IP, или же вы занимаетесь веб-разработками и их тестированием. В принципе, для таких целей прекрасно подойдет программа BIND. Она хоть и рассчитана в основном на UNIX-подобные системы, тем не менее, прекрасно работает и с Windows (исходим из того, что на терминале установлена не серверная версия «Винды», которую можно настроить в «Панели управления»).

Запускаем и следуем инструкциям. Для удобства рекомендуется инсталлировать программу непосредственно на диск C, в создаваемую директорию BIND. Далее вводим логин и пароль, после чего активируем процесс установки и дожидаемся его завершения.

Теперь в папке C:\BINDetc нужно создать файл "название".conf, в котором прописываются настройки, которые будет использовать локальный сервер DNS (название произвольное и задается без кавычек). Чтобы не заниматься тратой времени, искомый файл можно запросто найти в Интернете и скачать его, поместив в указанное место.

Теперь перезагружаем систему, затем вызываем командную строку (cmd через меню «Выполнить» или сочетание Win + R), где прописываем запрос nslookup. Если происходит подтверждение, значит, сервер установлен правильно и работает без ошибок.

Локальные игровые серверы

Наконец, рассмотрим еще один тип серверов. сервер для игр, использующих онлайн-режим в рамках локальной сети. Поясним, что это такое на примере игры Minecraft. Для этого нужно скачать сам сервер с официального сайта игры и использовать приложение Hamachi. Обязательное условие для корректной работы - наличие в системе установленного пакета JAVA с последними обновлениями.

Для настройки используем файл server.properties, куда вносим данные, предоставленные приложением Hamachi. Прописываем IP-адрес сервера, количество игроков, использование возможных режимов игры и т. д. В поле режима online-mode нужно в обязательном порядке указать значение true. После этого сохраняем изменения и закрываем файл.

Теперь определяем внутренний IP сервера, который будет использоваться игроками при подключении к терминалу, на котором он был создан. Компьютеры, естественно, должны быть объединены с самим сервером либо через локальную сеть, либо через VPN. IP-адрес серверного терминала должен быть статическим с обязательной привязкой к MAC-адресу.

Вход осуществляется при помощи приложения Minl2, где при регистрации указывается логин и пароль. После проделанных действий покидаем сервер и входим заново, но уже в оффлайн-режиме с использованием созданного логина и пароля. В разделе настроек выбираем Multiplayer и вводим искомый IP сервера. Все. Можно наслаждаться игрой с реальным противником.

Заключение

Конечно, это далеко не все нюансы, которые могут возникнуть при создании локальных серверов разного типа, и, конечно же, не все программы, которые помогают в этом процессе. Скажем так: это общие и основные принципы, заложенные в такие технологии. И если разобраться, ничего особо сложного здесь нет. Чуточку времени и терпения - и локальный сервер любого типа будет создан в течение 10-15 минут.




Top