- Создание сервера в Windows 7 с помощью Virtualbox
- Предыстория
- Задача
- Инвентарь
- Приступим
- Конфигурация Linux
- Доступ к серверу из внешнего мира
- Пробиваемся на свет
- Как развернуть ВМ с Windows Server
- Доступные шаблоны
- Лицензирование
- Создание VM с Windows Server (Flash-интерфейс)
- С помощью стандартного шаблона
- Активация операционной системы
- Как посмотреть пароль администратора
- С помощью ISO-образа
- С помощью собственного образа
- Подготовка системы
- Загрузка ISO-образа
- Загрузка OVF-шаблона
- Ручная активация
Создание сервера в Windows 7 с помощью Virtualbox
Привет, всем!
Хочу рассказать о том как я создавал веб-сервер для разработки и тестирования PHP приложений на локальной машине и как потом я его «вывел в свет».
Предыстория
В качестве собственного и профессионального развития я решил более тесно познакомится с Linux системой и, в частности, с настройкой веб-сервисов. До этого для разработки и тестирования PHP приложений я пользовался пакетом Denwer для Windows (apache+php+mysql), который вообщем-то со своей задачей справлялся, но не отражал (и не отражает) современной действительности — все-таки хостинг с Windows не так популярен.
Желание иметь полный доступ к серверу и нежелание платить за это удовольствие исключили из рассмотрения вариант покупки VPS. А потому я решил организовать Linux сервер на своем локальном компьютере.
Задача
- Поставить виртуальный Linux
- Настроить сетевое соединение гостевой ОС (Linux) и хост (Windows 7)
- Установить необходимые сервисы
- Сделать доступ к серверу из внешнего мира
Инвентарь
Windows 7 Home Basic
VirtualBox 4.0.8
Образ ubuntu-11.04-server-i386.iso
Приступим
Первый пункт, наверное самый простой. Virtualbox обладает простым интерфейсом и процесс создания виртуальной машины не вызывает трудностей. Для своего сервера я выбрал минимальные настройки производительности — (128Мб оперативной памяти, usb устройства отключены, никаких графических ускорений и прочих изысков — для сервера должно быть ок ), чтобы не слишком загружать основную систему.
Параметры сети
В меню Virtualbox в настройках сети для виртуальной машины в качестве типа подключения для первого сетевого адаптера указываем NAT. Тогда сеть в системе поднимется сама и машина будет иметь доступ к внешнему сетевому соединению Windows. Проблема в том, что при таких настройках, Linux система остается недоступной из основной системы.
Но решение есть! Указываем для второго сетевого адаптера значение «Виртуальный адаптер хоста». При установке Virtualbox в системе автоматически дополнительно создается сетевое подключение «VirtualBox Host-Only Network», которое нам пригодится в этом случае. Заходим в «Центр управления сетями и общим доступом» Windows. В настройках этого соединения указываем стандартные для данной задачи параметры: ip — 192.168.0.1, netmask — 255.255.255.0.
Осталось указать нужные параметры в виртуальной системе. Дописываем нужные строки в файл «/etc/network/interfaces»
iface eth1 inet static
address 192.168.0.2
netmask 255.255.255.0
auto eth1
перезапускаем сеть и можно попробовать пинговать Linux.
Таким образом: а) Linux имеет доступ в интернет через сетевое соединение Windows
б) Windows видит сервер и может к нему обращаться по ip — 192.168.0.2 (для удобства можно дописать в файл hosts какое-нибудь удобоваримое имя для этого ip, например «webserver»)
Конфигурация Linux
Что я хочу от своего сервера?
Во-первых, мне нужен веб-сервер с поддержкой PHP — возможность разрабатывать и тестировать приложения на локальной машине меня весьма радует
Во-вторых, мне нужна база данных — MySQL и/или PostgreSQL
В-третьих, мне очень удобно когда сохранив файл в IDE, можно тут же запустив скрипт в консоли или обновив страницу в браузере увидеть изменения. Таким образом, используемая мной IDE также должна иметь доступ к www каталогу на сервере. (чтобы не нужно было дополнительно копировать что-либо куда-нибудь)
В-четвертых, мой сервер должен быть доступен из внешней среды.
Поскольку моя статья не о настройке apache, тонкостях php.ini или бэкапе mysql, то первые три пункта я пропущу и описывать не буду. Скажу лишь, что все что сделал я (что не заработало сразу после установки) — это поправил вывод ошибок в php.ini (по умолчанию был полностью отключен вывод вообще всех ошибок), а также установил xdebug. Третий пункт решается установкой samba и небольшой модификацией файла конфигурации «etc/samba/smb.conf» в разделе Share Definitions, с целью разрешить пользователям доступ к своей директории в home (именно в эту папку помещен DocumentRoot сервера apache).
На данный момент уже можно получить доступ к серверу не только по ssh (open ssh server ставится по умолчанию) через putty, но и по samba — подключив пользовательскую директорию как сетевой диск в Windows.
А вот на последнем пункте я остановлюсь подробнее.
Доступ к серверу из внешнего мира
По сути, задача стоит в том, чтобы все запросы на 80 порт к моему компьютеру перенаправлять на 80 порт моего локального сервера. Такой вот небольшой прокси. Здесь на помощь приходит утилита netsh встроенная в Windows 7.
c:\>netsh
netsh>interface portproxy
netsh interface portproxy>add v4tov4 listenport=80 connectaddress=192.168.0.2 connectport=80 protocol=tcp
Теперь виртуальный веб-сервер доступен при обращении к моему компьютеру по внешнему ip-адресу.
Если для вас, как и для меня, белый внешний ip адрес является роскошью и проще говоря, его нет, то еще одна часть истории для вас!
Пробиваемся на свет
На самом деле я сейчас сделаю финт ушами, но возможно такое решение тоже кому-нибудь пригодится. Мой компьютер находится в локальной сети Новосибирского государственного университета и извне к нему не подобраться. Однако в нашей сети есть такой проект как campus.nsu.ru предоставляющий желающим простенький php хостинг, но что самое главное домен вида username.at.nsu.ru.
Таким образом, для завершения задачи необходимо при обращении на свой публичный домен каким-то образом перенаправлять пользователя по локальной сети на мой компьютер. Самый простой вариант — это создать в www директории на username.at.nsu.ru файлик index.php следующего содержания
Теперь при обращении на username.at.nsu.ru будет отдаваться сгенерированный моим linux сервером ответ. Значение $_SERVER передается с целью сохранить исходные значения запроса. Файл index.php на моем виртуальном сервере принимает и занимается дополнительной обработкой поступившего запроса.
На данный момент сервер работает на моем ноутбуке, доступ осуществляется через публичный домен shurik.at.nsu.ru
Все! Задача решена. Спасибо за внимание.
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Как развернуть ВМ с Windows Server
Доступные шаблоны
В качестве стандартных шаблонов для развертывания предлагаются следующие версии:
- Windows Server 2012 R2 в редакции Standard;
- Windows Server 2016 в редакции Standard;
- Windows Server 2019 в редакции Standard.
При необходимости можно установить указанные версии операционных систем в редакции Datacenter из собственного образа или из репозитория образов ISO Library.
Важно: согласно SPLA Microsoft, не допускается виртуализация операционных систем, предназначенных для рабочих станций. Например, использование Windows 10 в виртуальной среде однозначно нарушает лицензионное соглашение.
Лицензирование
В облаке на базе VMware допускается только использование лицензий, арендованных у Selectel. Лицензирование виртуальных машин собственными лицензиями не допускается. При создании виртуальной машины из нашего шаблона, автоматически предоставляется доступ к серверу управления ключами (KMS).
Если развертывание происходит из собственного образа или путем миграции, то для активации операционной системы необходимо указать соответствующий ключ и адрес сервера KMS kms.vcd.selectel.ru.
Биллинг ОС Windows будет производится автоматически на основе метаданных виртуальной машины, явно указывающих на то, что ее ОС относится к семейству Windows.
Создание VM с Windows Server (Flash-интерфейс)
С помощью стандартного шаблона
Создание виртуальной машины с операционной системой Windows Server выполняется аналогично описанному в статье Создание vApp c одной виртуальной машиной из шаблона. В списке доступных шаблонов выберите требуемую версию операционной системы Windows Server. После завершения процедуры виртуальная машина будет готова к работе.
Активация операционной системы
После первого выполнения входа в систему, операционная система будет автоматически перезагружена для выполнения действий по активации, в частности, будет добавлен еще один сетевой адаптер для подключения к серверу KMS. После перезагрузки, операционная система будет активирована.
Как посмотреть пароль администратора
В процессе первого запуска ОС происходит автоматическая перезагрузка и кастомизация образа. После перезагрузки откроется стандартное окно аутентификации.
Для просмотра сгенерированного в процессе кастомизации пароля выполните следующие действия:
- Щелкните правой кнопкой мыши по виртуальной машине.
- В контекстном меню выберите пункт Properties.
- Перейдите на вкладку Guest OS Customization.
- Пароль будет отображен в соответствующем поле.
С помощью ISO-образа
Если требуется ручная установка операционной системы, то для удобства мы загрузили в каталог ISO-образы самых популярных операционных систем, в том числе и дистрибутивы Windows Server 2012 R2 / 2016 / 2019 на русском и английском языке. После создания виртуальной машины:
- Перейдите к списку виртуальных машин внутри vApp.
- Выделите необходимую VM и нажмите на пиктограмму компакт-диска.
- В диалоговом окне Insert CD выберите нужный ISO-образ из каталога ISO library.
- Нажмите Insert, после чего образ подключится к виртуальной машине.
- При включении виртуальная машина загрузится в инсталлятор ОС.
Установите VMware Tools™, выбрав в контекстном меню виртуальной машины соответствующий пункт.
При создании виртуальной машины с Windows Server 2019 в меню выбора типа ОС следует выбрать тип Windows Server 2016.
С помощью собственного образа
Подготовка системы
Для того, чтобы успешно загрузить образ с использованием Flash-интерфейса VMware vCloud Director® дополнительно выполните:
- Скачайте совместимый браузер, например FireFox ESR версии 52.5.2 (32 bit).
- Отключите компьютер от сети интернет.
- Запустите установленный FireFox ESR.
- Откройте окно настроек, набрав в адресной строке about:preferences#advanced и нажав Enter.
- Перейдите на вкладку Обновления.
- Поставьте точку на пункте Никогда не проверять наличие обновлений.
Снимите галочку Использовать фоновую службу для установки обновлений.
Важно! Если обновления не будут отключены, браузер обновится до последней версии автоматически при первом же включении, что не позволит запустить расширение VMware vCloud Director Client Integration Plug-In. Это сделает невозможным загрузку собственных образов.
Вновь подключите компьютер к сети интернет.
Перейдите в панель управления облаком на базе VMware.
Скопируйте уникальную ссылку vDirector Flash из панели управления.
Если в системе не установлен Adobe Flash Player, то необходимо его скачать и установить, после чего перезапустить браузер.
Пройдите по ссылке, скачайте и установите vCloud Director Client Integration Plug-In.
Перезапустите браузер и вставьте скопированную ссылку в адресную строку и нажмите Enter.
Разрешите браузеру использование плагинов (система запросит разрешения автоматически).
Загрузка ISO-образа
В корпоративной среде часто встречается ситуация, когда системный администратор готовит заранее настроенный установочный образ ОС. Чтобы воспользоваться подобным образом, его необходимо добавить в соответствующий приватный репозиторий.
- Перейдите на вкладку Catalogs в раздел My Organization’s Catalogs.
- Откройте существующий или создайте новый каталог, нажав на +.
- Перейдите на вкладку Media & Other.
- Нажмите на знак +.
- В открывшемся окне за 30 секунд нажмите Allow.
- Выберите нужный ISO-образ.
- Нажмите Upload.
После завершения процесса загрузки образ станет доступен для создания новой виртуальной машины.
Загрузка OVF-шаблона
Стандарт OVF (Open Virtualization Format) заслуженно пользуется популярностью, поскольку позволяет удобно и быстро выполнить развертывание образа ОС без привязки к гипервизору или аппаратной архитектуре. Добавить собственный образ в OVF-формате очень просто.
- Перейдите на вкладку Catalogs в раздел My Organization’s Catalogs.
- Откройте существующий или создайте новый каталог, нажав на +.
- Перейдите на вкладку vApp Templates.
- Нажмите на знак +.
- В открывшемся окне за 30 секунд нажмите Allow.
- Выберите нужный OVF-шаблон.
- Нажмите Upload.
После завершения процесса загрузки новый шаблон станет доступен для создания новой виртуальной машины. Развертывание выполняется аналогично инструкции Создание vApp c одной виртуальной машиной из шаблона, но в качестве источника следует выбрать не Public Catalogs, а My Organization’s Catalogs. Загруженный шаблон появится в списке доступных для развертывания.
Вышеуказанные инструкции применимы исключительно для Flash-интерфейса vCloud Director. Те же самые операции можно выполнить в HTML5-интерфейсе без установки каких-либо плагинов и предварительной настройки браузера.
Ручная активация
Для активации операционной системы Windows Server требуется доступ к сети интернет. Активация выполняется следующим образом:
Убедитесь в корректности настроек даты и времени.
Установить время можно как вручную, так и с помощью NTP-сервера (предпочтительнее). Проверьте также соответствие часового пояса. Если между сервером KMS и клиентом обнаружится существенная разница во времени, то активация не будет выполнена.
Запустите командную строку или оболочку Powershell с правами администратора.
Задайте ключ операционной системы:
Примечание: ключи клиентов ОС доступны по ссылке.
Укажите адрес сервера KMS:
Выполните активацию (или перезагрузите VM):
Операционная система Windows Server готова к работе.
Примечание: биллинг ОС Windows будет производится автоматически на основе метаданных виртуальной машины, явно указывающих на то, что ее ОС относится к семейству Windows.