Как развернуть виртуальный сервер на windows

Время на прочтение
8 мин

Количество просмотров 353K


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

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

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

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

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

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

  1. PuTTY
  2. GIT
  3. Denwer (Apache, MySQL, PHP)
  4. Nginx
  5. Memcached
  6. 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 с невероятно креативным текстом:

<?php 
echo 'Test me <br>';

Перезапускаем Денвер, открываем в браузере 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[0],
  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}
#<VirtualHost $&{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
#</VirtualHost>

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[0],
  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:

<html>
<head>
	<title>Test me</title>
	<link rel="stylesheet" type="text/css" href="style.css">
	<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>

	<h1>Test me</h1>

	<h2>Memcached</h2>
	<?php
	$memcache = new Memcache;
	$memcache->connect('127.0.0.1', 11211);
	echo 'Memcached ver: ' . $memcache->getVersion();
	?>
</body>
</html>

Теперь перезапускаем Денвер и любуемся результатом. Если 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. В этой же папке создаем еще две папки:

  1. db
  2. logs

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[0],
  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

<?php
if ($argv[0] == basename(__FILE__)) {	
	unset($argv[0]);
}
echo 'Hello ' . $argv[1] . '!';

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

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

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

Бонус №2.

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

бесплатно без смс

: на гитхабе

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

Я расскажу о том, при каких обстоятельствах понадобится виртуальный сервер, какие существуют программы для его создания и как взаимодействовать с ними.

Для чего нужен виртуальный сервер на компьютере

VDS-сервер (если быть точнее, локальный сервер), развернутый на локальном компьютере, пригодится при тестировании уже готового сайта, при внедрении в него новых скриптов и дополнений, которые окажут то или иное влияние на общую работоспособность проекта. Помимо тестирования, на виртуальном сервере происходит и отладка добавленных компонентов. У вас появляется возможность редактировать их под себя до момента релиза.

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Создание локального сервера на компьютере

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

Подробнее: Установка и настройка OpenServer

Использование программы OpenServer для настройки локального сервера

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

Существует огромный список локальных серверов, доступных для установки как в Windows, так и Linux. Ознакомиться с ними можно в отдельной статье, перейдя по ссылке ниже.

Подробнее: 8 лучших локальных серверов

Переход на виртуальный сервер

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

Подробнее: VDS-хостинг под любые задачи

Приобретение услуги VDS-сервера на сайте Timeweb

Приведу несколько примеров, для чего нужен VDS-сервер, а в каких ситуациях он просто необходим.

  1. Организация безопасности сайта. При работе на виртуальных серверах у каждого участника своя операционная система и настройки межсетевого экрана. Соответственно, при взломе физического сервера хакер не сможет так просто получить данные сразу всех подключенных сайтов.
  2. При работе с интернет-магазином. Чаще всего для интернет-магазинов подключается услуга оплаты картой, а это значит, что клиент будет вводить свои банковские данные. В этом случае появляется требование перехода на безопасный VDS-сервер для одобрения PCI DSS сертификации.
  3. Ускорение работы сайта. Приобретение данной услуги позволяет ускорить сайт, особенно когда тот становится все больше и больше с каждым днем. Виртуальный сервер предоставляет больше ресурсов, за счет чего и происходит оптимизация работы.

Существуют и другие факторы, но это самые основные. Теперь вы можете сформировать полную картину того, нужно ли вам переходить на VDS-сервер или подойдет локальный вариант. 

Можно ли самому запустить VDS-хостинг?

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

Разумеется, VDS или VPS-хостинг можно запустить самостоятельно, предоставляя услуги всем желающим, но точно не на своем компьютере. Это целый бизнес, требующий ответственного подхода, определенных знаний и вложений средств. Рассказывать об этом детально нет смысла, однако для общего развития уточню несколько основных деталей.

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

  1. Простой вариант – перепродажа купленного у стороннего провайдера виртуального сервера по более высокой цене (ресселинг). В этом случае нужно найти оптимального поставщика, который предоставляет надежный VDS. Сам хостинг должен предоставлять тарифную линейку серверов под разные нужды. 
  2. Аренда физического сервера – дорогой вариант, но позволяющий разбить его на несколько VDS при помощи технологии виртуализации. При правильном подходе это позволяет сократить расходы и более гибко организовать всю систему.
  3. Можно разместить собственное оборудование в готовом дата-центре. Этот метод требует больших вложений, поскольку вы самостоятельно приобретаете все оборудование и находите место, где его разместить.
  4. Самый безумный вариант – построить свой дата-центр. Здесь уже речь идет о масштабном бизнесе с миллионами затрат и продуманным планом развития.

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

В этой статье мы создадим виртуальную машину с Windows Server 2019 и развернем там Hyper-V Server. Попутно разберемся что нового появилось в этой версии.

Hyper-V — это платформа виртуализации от Microsoft, которая распределяет ресурсы одного физического сервера между набором виртуальных серверов. Чтобы создать среду для Hyper-V Server 2019, закажем выделенный сервер. Для этого в меню Серверы и оборудование выберем нужный сервер.

В нашем примере — это сервер по тарифу EL11-SSD с процессором Intel® Xeon® E-2236 3.4 ГГц, ОЗУ 32 ГБ DDR4 и двумя дисками SSD по 480 ГБ каждый. Далее выбираем операционную систему Windows 2019 — подойдут версии 2019 Datacenter (64-bit) и 2019 Standard (64-bit). В обоих случаях можно добавить роль Hyper-V.

Далее нажимаем Заказать и Оплатить. Деньги списываются с личного счёта.

Установка сервера занимает время, поэтому, чтобы его не тратить впустую, расскажем о новых функциях в Windows Server 2019 относительно Hyper-V.

Что нового в Hyper-V Server 2019

Любопытная особенность Hyper-V Server 2019 — это то, что первоначально эта версия была Hyper-V Server 2016 R2, вышедшая в конце 2018 года. Но из-за неприемлемого количества багов, она была отозвана и полноценно вышла уже в 2019 году под новой версией. А теперь, давайте разберем нововведения данного релиза.

Во-первых — это обновленная консоль администратора Windows Admin Center (WAC). Теперь она доступна через веб-интерфейс. Из браузера стало возможным управлять виртуальными машинами, сервисами на них, запускать скрипты PowerShell, инициировать RDP-сессии и выполнять прочие операции. Во-вторых, появилась возможность работать с окружением Linux. Работает через специальный слой совместимости Windows Subsystem for Linux (WSL) на уровне ядра ОС. Таким образом, можно запускать bash-скрипты или бинарные файлы ELF без необходимости входа на виртуальный сервер через консольный клиент (например, Putty или SecureCRT).

Во-вторых, улучшились механизмы безопасности. Windows Defender теперь имеет на борту поддержку Advanced Threat Protection. Этот механизм умеет блокировать доступ к файлам и папкам из недоверенных источников (например, для защиты от вирусов-шифровальщиков), защищает от вредоносных процессов, сетевых атак, а также поддерживает шифрование сетевых соединений между виртуальными машинами.

В-третьих, улучшилась поддержка экранированных виртуальных машин. Теперь внутри них можно запускать Linux-подобные системы: RHEL, SUSE, Ubuntu. Кроме этого, такими машинами теперь можно управлять при помощи VMConnect и PowerShell Direct.

В-четвертых, появилась служба миграции хранилища. Этот инструмент позволяет мигрировать с устаревших версий Windows Server: 2003, 2008 или 2012. Можно мигрировать даже AD со всеми пользователями и настройками.

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

А пока мы рассказывали о новых возможностях гипервизора, установка сервера завершилась и можно приступать к настройке Hyper-V.

Как установить Hyper-V Server 2019

Для установки Hyper-V в образе Windows Server есть соответствующая роль, которую нужно активировать. Для этого откроем консоль управления сервером и нажмем Add Roles and Features. Появится меню, в котором нужно выбрать Hyper-V.

Далее нажать на Add Features для добавления необходимых инструментов.

Далее нужно настроить роль Hyper-V: Virtual Switches, Migration и Default Stores.

На экране Virtual Switches нужно выбрать сетевой интерфейс, который будет использоваться платформой виртуализации в качестве виртуального коммутатора. В нашем примере — Intel Ethernet l210 #2. Важно не задействовать под это основной сетевой интерфейс, который будет использоваться для физического доступа к управлению сервером.

Следующая настройка — Migration. Для целей демонстрации здесь можно оставить всё по умолчанию.

Default Stores — также оставляем по умолчанию.

Когда всё готово к установке — можно нажимать кнопку Install. После завершения установки потребуется перезагрузка.

После перезагрузки сервера, через командную строку можно открыть утилиту sconfig и посмотреть возможные настройки Hyper-V Server. Об этом в следующем разделе.

Как настроить Hyper-V Server утилитой sconfig

Утилита sconfig имеет интерфейс командной строки.

Важными пунктами являются:

  • Domain/Workgroup — настроено при создании сервера.
  • Computer Name — настроено при создании сервера.
  • Configure Remote Management — включено. Опция нужна для удалённого управления сервером с Hyper-V через специальные утилиты или PowerShell.
  • Remote Desktop — включено. Опция нужна для возможности удаленного управления сервером.
  • Network Setting — это сетевые настройки виртуального коммутатора, которые уже были выполнены на этапе установки роли Hyper-V на шаге Virtual Switches.

Таким образом, необходимые настройки были выполнены ранее.

Как удаленно управлять Hyper-V Server

Самый простой способ удаленного управления — это использование веб-интерфейса WAC. Для начала, нужно загрузить это приложение с сайта Microsoft. При установке следует использовать значения по умолчанию. После установки станет доступен веб-интерфейс консоли. Его можно открыть по имени сервера или IP-адресу из удаленных локаций.

Из этого интерфейса можно управлять виртуальными коммутаторами.

Или, например, создать в Hyper-V новую виртуальную машину.

Об отдельных функциях управления Hyper-V расскажем в разделах ниже.

Как использовать PowerShell для настройки Hyper-V Server

Обратите внимание, что на этапе добавления роли Hyper-V, мы добавили возможность управления через PowerShell при помощи Hyper-V Module for Windows Power Shell. Таким образом, теперь достаточно просто открыть консоль PowerShell. Чтобы узнать общее количество командлетов, выполним следующую команду:

Get-Command –ModuleHyper-V | Measure-Object

Увидим, что общее количество командлетов — 1940 штук.

Командлеты управляют инфраструктурой Hyper-V аналогично консоли WAC. Например, при помощи командлета Get-NetIPConfiguration можно проверить настройки сети:

Для примера, проверим включена ли поддержка IPv6 на сетевом интерфейсе. Для этого выполним команду:

Get-NetAdapterBinding -InterfaceDescription "Hyper-V Virtual Ethernet Adapter" | Where-Object -Property DisplayName -Match IPv6 | Format-Table -AutoSize

Вывод будет следующим:

Значение True в поле Enabled показывает, что IPv6 включен. Попробуем его выключить. Для этого выполним следующий командлет:

Disable-NetAdapterBinding -InterfaceDescription "Hyper-V Virtual Ethernet Adapter" -ComponentID ms_tcpip6

Этот командлет вывод не показывает, поэтому проверим поле Enabled при помощи командлета Get-NetAdapterBinding:

PowerShell позволяет полноценно управлять инфраструктурой Hyper-V.

Как настроить правила Advanced Firewall для Hyper-V Server

Advanced Firewall — это расширенные настройки сетевого экрана на основе правил. Как и все остальное, их можно настраивать через PowerShell. Чтобы увидеть доступные команды для управления сетевым экраном, выполним следующий командлет с параметрами:

Get-Command -Noun *Firewall* -Module NetSecurity

В выводе увидим:

Теперь, чтобы включить правила для удаленного доступа к серверу, выполняем последовательно следующие командлеты через командную строку PowerShell:

Enable-NetFireWallRule -DisplayName "Windows Management Instrumentation (DCOM-In)"
Enable-NetFireWallRule -DisplayGroup "Remote Event Log Management"
Enable-NetFireWallRule -DisplayGroup "Remote Service Management"
Enable-NetFireWallRule -DisplayGroup "Remote Volume Management"
Enable-NetFireWallRule -DisplayGroup "Windows Defender Firewall Remote Management"
Enable-NetFireWallRule -DisplayGroup "Remote Scheduled Tasks Management"

Проверить работу и статус этих правил можно в веб-консоли Windows Admin Center:

Обратите внимание, что если открывать Windows Admin Center через браузер с русской локалью, интерфейс будет на русском языке. Это не зависит от настроек самого сервера. Например, наш демо-сервер развернут с английской локалью и тот же самый Windows Admin Center открывается там на английском языке. Для сравнения:

Возможность выбирать — очень приятная возможность.

Как создать дисковое хранилище для виртуальных машин

Дисковое хранилище для виртуальных машин мы создали на этапе установки на сервер роли Hyper-V. Это было на шаге Default Stores. В этом разделе мы покажем как теперь управлять этими разделами. Самый простой способ — через консоль Windows Admin Center.

Для этого нужно перейти в раздел Settings и перейти к настройкам Hyper-V. Здесь мы видим те же самые созданные разделы под хранилище для виртуальных машин.

При необходимости, расположение хранилища можно изменить, создав под него, например, новый дисковый раздел.

Как настроить виртуальный коммутатор в Hyper-V Server

Базовая настройка виртуального коммутатора была выполнена при установке роли Hyper-V на экране Virtual Switches. Посмотрим эти настройки в WAC.

Из этого же интерфейса возможно создание новых виртуальных коммутаторов или редактирование существующих.

Как создавать виртуальные машины в Hyper-V Server

Теперь перейдем к тому, ради чего всё и затевалось — созданию виртуальной машины в Hyper-V. Воспользуемся для этого уже знакомым WAC. Для начала скачаем образ Windows 10 с сайта для разработчиков Microsoft.

Разархивируем и добавим образ жесткого диска при создании виртуальной машины и нажимаем кнопку Create.

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

Виртуальная машина создана и готова к использованию.

Как сделать резервную копию виртуальных машин в Hyper-V Server

Создать резервную копию виртуальной машины Hyper-V можно при помощи встроенной утилиты wbadmin. По умолчанию её на сервере нет, поэтому добавим роль Windows Server Backup.

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

wbadmin get virtualmachines

В ответ получим данные о созданной ранее виртуальной машине с именем Windows10.

После получения имени машин все готово к началу создания резервной копии. Для этого выполним следующую команду:

wbadmin start backup -backuptarget:D: -hyperv:"Windows10" -quiet

Это запустит процесс создания резервной копии:

После достижения 100% появится сообщение об успешном завершении операции. Лог создания можно увидеть в одной директории с резервной копией.

Утилита позволяет настроить создание резервных копий по расписанию.

Заключение

Мы рассказали об обновлениях в Hyper-V Server 2019 и о базовых настройках, которых будет достаточно для запуска вашей первой виртуальной машине на гипервизоре. Выделенный сервер Selectel с предустановленной операционной системой поможет максимально быстро запустить проект виртуализации на базе Hyper-V.

#Руководства


  • 0

Узнайте, как установить то, без чего не может обойтись ни один веб-разработчик.

 vlada_maestro / shutterstock

Евгений Кучерявый

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

Под локальным сервером в веб-разработке обычно понимают набор ПО, которое позволяет запускать сайты на своём компьютере, реже — сам компьютер. Доступ к этим сайтам есть только на одном устройстве (потому-то он и локальный), но этого достаточно, чтобы программист мог всё протестировать.

Из этой статьи вы узнаете, как установить сервер на Windows.

Чаще всего используются локальные серверы Denwer (джентльменский набор веб-разработчика), Xampp и Open Server — все три бесплатны.

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

Также сам он не совсем удобен: интерфейс установщика — консоль, а все настройки нужно вносить в специальные файлы с помощью «Блокнота».

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

В этой статье мы рассмотрим Open Server. Его преимущества:

  • Не требует установки — достаточно скачать и распаковать архив.
  • Удобные настройки — можно открыть меню и выбрать всё, что нужно.
  • Обновления — регулярно выходят новые версии.

Главный недостаток, пожалуй, — большой вес:

Почти 900 МБ тут занимают версии PHP:

Их можно оставить, чтобы потом в настройках выбрать любую версию и писать на ней. Или удалить, чтобы освободить место. То же самое касается и СУБД:

Тут уже занято около 5 ГБ, поэтому можно смело удалять то, что вы не будете использовать. Например, я могу избавиться от всего, кроме MariaDB 10.3 и PHP 7.3.

Xampp весит гораздо меньше, но и выбор версий там скуднее (в основном последние). Также придётся использовать MySQL или самостоятельно настраивать другую СУБД. В принципе, вы можете выбрать и его — он используется так же, как Open Server, а установка немногим сложнее.

Перейдите на страницу скачивания и ознакомьтесь с дистрибутивами.

Не смущайтесь из-за их названий, потому что все они бесплатны. Например, можно выбрать версию Basic:

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

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

Затем зайдите в этот каталог и запустите файл Open Server x64.exe (или x86, если у вас 32-битная система).

Чтобы запустить первый сайт, зайдите в папку Domains и создайте каталог с адресом сайта. Не стоит давать имя вроде google.com, поэтому что тогда вы не сможете зайти в Google. Вместо этого лучше использовать вымышленный домен .loc. Например, mysite.loc.

Теперь нужно в трее кликнуть иконку Open Server и нажать Run server:

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

Вы увидите вот такую страницу:

Она означает, что на сайте нет файла index.html или index.php. Давайте создадим index.html и выведем надпись «Hello, World!».

Готово! Теперь можно использовать сервер, чтобы тестировать сайты.

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие. А мы поможем с трудоустройством и важными для работодателей навыками.

Посмотреть курсы

Как создать VDS на компьютере

В данной статье расскажем, как создать VPS на своем компьютере на примере ОС Windows. Для Linux действия практически такие же.

Для того чтобы создать VPS на своем компьютере, необходимо скачать программу для виртуализации, например Oracle VM VirtualBox. Скачать можно на официальном сайте (www.virtualbox.org/wiki/Downloads).

Также требуется скачать ISO-образ операционной системы.

Запускаем VirtualBox. Откроется окно, где необходимо нажать кнопку «Создать«.

Запуск VirtualBox

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

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

Здесь также нажимаем «Создать«.

Создание виртуальной машины на компьютере

Готово, мы создали виртуальную машину.

В списке серверов появится созданный Вами VPS, нажимаем на него и жмем «Запустить«. В открывшемся окне необходимо выбрать ISO-образ для установки ОС.

Запуск виртуального сервера на компьютере

Установка ОС на локальный VPS из ISO

После установки ОС можно приступить к настройке сетевого адаптера. Это необходимо для обмена информацией между компьютером и каналом связи. Выбираем наш виртуальный сервер и нажимаем кнопку «Настроить«.

Настройка VPS на компьютере

Далее переходим в раздел «Сеть«. Выбираем тип подключения «Виртуальный адаптер хоста«.

Настройка сети на локальном VPS сервере

Следующее, что нужно настроить параметры подключения на компьютере. Для этого в панели управления компьютера в папке сетевого подключения настроим подключение к интернету.

Настройка подключения к интернету на компьютере

Заходим в раздел «Доступ» и ставим галочку «Разрешить подключение к Интернету данного компьютера«.

Настройка беспроводной сети на компьютере

Теперь настроим адаптер виртуальной машины.

Настройка подключения к интернету на компьютере

Выделяем пункт IPv4 и нажимаем кнопку «Свойства«.

Настройка подключения к интернету на VPS

Указываем IP-адрес и маску подсети.

Настройка подключения к интернету на VPS

Теперь запустим виртуальную машину и настроим адаптер на ней.

Настройка подключения к интернету по локальной сети

Снова выберем настройку IPv4 и нажмем кнопку «Свойства«.

Настройка подключения к интернету на VPS

Указываем соответствующие данные.

Настройка подключения к интернету на VPS

Теперь зайдем на виртуальной машине в Панель управленияСистема и безопасностьСистема Настройка удаленного доступа. Ставим галочки, как показано на скриншоте ниже и нажимаем кнопку «Ок«.

Настройка подключения удаленного рабочего стола

Готово, мы успешно создали и настроили VPS на компьютере.

Обратите внимание, для размещения Вашего сайта в сети Интернет лучше воспользоваться услугами хостинга. Рейтинг лучших VPS-провайдеров в России, смотрите на нашем сайте.

  • Как развернуть образ windows 10
  • Как развернуть windows server на hyper v
  • Как развернуть контроллер домена на windows server 2008
  • Как развернуть vpn сервер на windows 10
  • Как развернуть игру на полный экран windows 10