Сегодня мы с Вами научимся устанавливать веб сервер IIS в операционной системе Windows Server 2016 нескольким способами, а именно с помощью графического инструмента и, конечно же, с помощью Windows PowerShell.
Содержание
- Что такое IIS 10?
- Версии веб сервера IIS
- Установка Web сервера IIS 10
- Установка веб сервера IIS с помощью мастера
- Установка web сервера IIS с помощью Windows PowerShell
- Размещаем HTML сайт на веб сервере IIS
- Удаление веб сервера IIS с помощью мастера
- Удаление web сервера IIS с помощью PowerShell
IIS (Internet Information Services) — это набор служб, предназначенный для реализации web сервера в операционной системе Windows с поддержкой сайтов HTML и приложений на ASP.NET или ASP. В Windows Server он распространяется в виде отдельной роли с достаточно большим количеством служб роли. Ранее в материале «Описание и назначение ролей сервера в Windows Server 2016» мы рассмотрели краткое описание всех ролей сервера и их служб, в том числе и роли «Веб-сервер (IIS)» поэтому повторяться сейчас, т.е. описывать каждую из служб роли, я не буду.
В актуальной на данный момент версии серверной операционной системе Windows Server 2016 присутствует также самая новая версия веб сервера, а именно – IIS 10.
Версии веб сервера IIS
Версия IIS | Версия операционной системы |
10 | Windows 10; Windows Server 2016 |
8.5 | Windows 8.1; Windows Server 2012 R2 |
8.0 | Windows 8; Windows Server 2012 |
7.5 | Windows 7; Windows Server 2008 R2 |
7.0 | Windows Vista; Windows Server 2008 |
6.0 | Windows Server 2003 |
5.1 | Windows XP Professional |
5.0 | Windows 2000 |
Установка Web сервера IIS 10
Итак, давайте переходить к рассмотрению процесса установки, и для примера давайте просто установим основные компоненты, которые необходимы для функционирования веб сервера и его администрирования (средства управления), а также разместим на нем простую HTML страничку, т.е. по сути HTML сайт, для проверки работы web сервера. Если Вам необходимо размещать приложения, например на ASP.NET, то Вам необходимо также установить соответствующие службы роли из раздела «Разработка приложений».
Установка веб сервера IIS с помощью мастера
Сначала давайте разберем процесс установки web сервера IIS 10 с помощью «Диспетчера серверов», а конкретней «Мастера добавления ролей и компонентов».
Шаг 1
Открываем диспетчер серверов «Пуск ->Диспетчер серверов».
Затем запускаем «Мастер добавления ролей и компонентов», меню «Управление ->Добавить роли и компоненты».
Шаг 2
Затем жмем «Далее».
Шаг 3
Потом выбираем тип установки «Установка ролей или компонентов», жмем «Далее».
Шаг 4
Затем выбираем целевой сервер и жмем «Далее».
Шаг 5
На шаге выбора ролей отмечаем роль «Веб-сервер (IIS)». Автоматически Вам сразу предложат установить компонент «Консоль управления службами IIS», мы соглашаемся и жмем «Добавить компоненты».
И сразу жмем «Далее».
Шаг 6
Все необходимые компоненты мы уже отметили, поэтому на этом шаге также сразу жмем «Далее».
Шаг 7
Теперь нам необходимо настроить установку роли «Веб-сервер IIS», сначала жмем «Далее».
А потом выбираем необходимые службы роли, по умолчанию минимальное количество служб уже будет выбрано, но если Вам нужно что-то еще, то отмечаете их галочкой. Для нашей тестовой задачи, т.е. разместить простой статический HTML сайт, отмеченных по умолчанию служб будет достаточно, жмем «Далее».
Шаг 8
Проверяем выбранные роли, службы и компоненты и жмем «Установить».
Установка будет завершена, как появится соответствующее сообщение.
Установка web сервера IIS с помощью Windows PowerShell
Для того чтобы установить web сервер IIS с помощью PowerShell запускайте оболочку Windows PowerShell и вводите следующие команды (перечисленные ниже команды установят все те же службы, которые мы установили с помощью мастера чуть выше).
Документ по умолчанию
Install-WindowsFeature -Name "Web-Default-Doc"
Обзор каталога
Install-WindowsFeature -Name "Web-Dir-Browsing"
Ошибки http
Install-WindowsFeature -Name "Web-Http-Errors"
Статическое содержимое
Install-WindowsFeature -Name "Web-Static-Content"
Фильтрация запросов
Install-WindowsFeature -Name "Web-Filtering"
Ведение журнала http
Install-WindowsFeature -Name "Web-Http-Logging"
Сжатие статического содержимого
Install-WindowsFeature -Name "Web-Stat-Compression"
Консоль управления службами IIS
Install-WindowsFeature -Name "Web-Mgmt-Console"
Размещаем HTML сайт на веб сервере IIS
Первое что нужно сделать — это создать корневую директорию нашего тестового сайта, для этого в каталоге С:\inetpub\ создаем папку TestSite и в нее для проверки добавляем файл index.html со следующим содержимым, например
<Н1>Тестовый сайт</Н1>
Затем открываем «Диспетчер служб IIS», это можно сделать, например, из диспетчера серверов «Средства ->Диспетчер служб IIS».
Потом щелкаем правой кнопкой мыши по пункту «Сайты ->Добавить веб-сайт».
Откроется окно добавления веб сайта, заполняем необходимые поля и жмем «ОК» (TestSite в моем случае это название сайта).
Теперь можем проверить работу веб сервера и только что созданного сайта, для этого открываем любой веб браузер и переходим на сайт TestSite (только помните, для того чтобы у Вас также как у меня открылся сайт по имени, он должен быть добавлен на DNS сервере (создана A запись) или хотя бы для тестов добавлена запись в файл HOSTS локального сервера).
Удаление веб сервера IIS с помощью мастера
Для удаления web сервера IIS открываем диспетчер серверов, затем в меню нажимаем «Управление ->Удалить роли и компоненты».
В итоге запустится «Мастер удаления ролей и компонентов», где мы делаем практически то же самое, что и при установке, только галочки мы не ставим, а снимаем.
Затем мы жмем далее, далее и удалить. После окончания процесса удаления веб сервера сервер необходимо будет перезагрузить.
Удаление web сервера IIS с помощью PowerShell
Для удаления web сервера IIS на PowerShell запускаем оболочку Windows PowerShell и используем командлет Uninstall-WindowsFeature. Для удаления следующих служб ролей веб сервера IIS, можно использовать вот такие команды:
Документ по умолчанию
Uninstall-WindowsFeature -Name "Web-Default-Doc"
Обзор каталога
Uninstall-WindowsFeature -Name "Web-Dir-Browsing"
Ошибки http
Uninstall-WindowsFeature -Name "Web-Http-Errors"
Статическое содержимое
Uninstall-WindowsFeature -Name "Web-Static-Content"
Фильтрация запросов
Uninstall-WindowsFeature -Name "Web-Filtering"
Ведение журнала http
Uninstall-WindowsFeature -Name "Web-Http-Logging"
Сжатие статического содержимого
Uninstall-WindowsFeature -Name "Web-Stat-Compression"
Консоль управления службами IIS
Uninstall-WindowsFeature -Name "Web-Mgmt-Console"
Вот мы с Вами и научились устанавливать и удалять web сервер IIS в операционной системе Windows Server 2016 и на этом у меня все, пока!
Поднимаем IIS на Windows Server 2016. Настроим фичи по своему усмотрению.
Ссылки
Установка IIS в Windows 10
Установка IIS в Windows Server 2012 R2
Установка
Запускаем Server Manager Manage → Add Roles and Features.
Запускается мастер добавления ролей и фич.
Открывается приветственная вкладка. Можно установить галку «Skip this page by default», чтобы не отображать эту страницу при последующих установках. Next.
Открывается вкладка «Installation Type». Оставляем «Role-based or feature-based installation». Next.
Открывается вкладка «Server Selection». Выбираем текущий сервер. Next.
Открывается вкладка «Server Roles». Ставим галку на «Web Sever (IIS)». Всплывает окошко.
Нам предлагают установить обязательные фичи — это «IIS Management Console», поскольку сервером IIS нужно управлять. нажимаем «Add Features».
Next.
Открывается вкладка «Features». Next.
Открывается вкладка «Web Server Role (IIS)». Next.
Открывается вкладка «Role Services». Здесь нужно выбрать компоненты, которые будут стоять в IIS. Настраиваем «Common HTTP Features».
Настраиваем «Health and Diagnostics».
Настраиваем «Performance».
Настраиваем «Security».
Настраиваем «Application Development». При установке некоторых галок может потребоваться доставить некоторые фичи.
Add Features.
Настраиваем «Management Tools». Next.
Открывается вкладка «Confirmation». Проверяем всё, если не против перезагрузить сервер. то устанавливаем галку «Restart the destination server automatically if required». Install.
Начинается установка.
Installation succeeded.
Posted by
on August 24, 2016
Here we’re going to show you how to install the Internet Information Services (IIS) web server version 10.0 in Microsoft’s Windows Server 2016 operating system.
This can be done both with PowerShell or through the GUI, we’ll cover both methods here.
Install IIS With PowerShell
If you don’t have the GUI installed or just want to use the PowerShell command line interface (CLI) instead, follow these steps. This method is a lot faster than going through all of the GUI options.
- Open PowerShell with administrative privileges and run the Install-WindowsFeature cmdlet as shown below.
Install-WindowsFeature -name Web-Server -IncludeManagementTools
Here we include the management tools so that you can manage IIS on this server, as these are generally installed when using the GUI, making this PowerShell command equivalent with the GUI method below. If you do not plan on managing IIS through this server then you may prefer to not include this option.
- Once the installation has succeeded, you’ll be returned to the PowerShell prompt. At this point IIS should be running on port 80 by default with the firewall rule “World Wide Web Services (HTTP Traffic-In)” enabled in Windows firewall automatically.
- We can perform a simple test by opening up a web browser and browsing to the server that we have installed IIS on. You should see the default IIS page.
Install IIS Through GUI
If your server has the graphical user interface component installed you can also install IIS by following these steps.
- Open Server Manager, this can be found in the start menu. If it’s not there simply type “Server Manager” with the start menu open and it should be found in the search.
- Click the “Add roles and features” text.
- On the “Before you begin” window, simply click the Next button.
- On the “Select installation type” window, leave “Role-based or feature-based installation” selected and click Next.
- As we’re installing to our local machine, leave “Select a server from the server pool” with the current machine selected and click Next. Alternatively you can select another server that you are managing from here, or a VHD.
- From the “Select server roles” window, check the box next to “Web Server (IIS)”. Doing this may open up a new window advising that additional features are required, simply click the “Add Features” button to install these as well. Click Next back on the Select server roles menu once this is complete.
- We will not be installing any additional features at this stage, so simply click Next on the “Select features” window.
- Click Next on the “Web Server Role (IIS)” window after reading the information provided.
- At this point on the “Select role services” window you can install additional services for IIS if required. You don’t have to worry about this now as you can always come back and add more later, so just click Next for now to install the defaults.
- Finally on the “Confirm installation selections” window , review the items that are to be installed and click Install when you’re ready to proceed with installing the IIS web server.
No reboot should be required with a standard IIS installation, however if you remove the role a reboot will be needed.
- Once the installation has succeeded, click the close button. At this point IIS should be running on port 80 by default with the firewall rule “World Wide Web Services (HTTP Traffic-In)” enabled in Windows firewall automatically.
- We can perform a simple test by opening up a web browser and browsing to the server that we have installed IIS on. You should see the default IIS page.
As you can hopefully see, it’s quite a lot faster to use PowerShell to perform the same task.
Summary
As shown we can easily install the IIS web server in Windows Server 2016 with both the PowerShell command line or the graphical user interface.
Internet Information Services (IIS) — это веб-сервер, который входит в состав операционной системы Windows Server. IIS позволяет размещать, управлять и поддерживать веб-сайты и приложения, используя различные технологии, такие как ASP.NET, PHP, Perl и другие.
В этом пошаговом руководстве мы рассмотрим, как настроить IIS на Windows Server 2016. Мы охватим весь процесс установки, настройки и настройки веб-сайта с использованием IIS. За счет последовательного подхода и подробных инструкций мы поможем вам создать функциональный и безопасный веб-сервер.
Перед началом установки IIS, убедитесь, что ваш сервер работает на Windows Server 2016 и у вас есть полные административные права. Кроме того, убедитесь, что ваш сервер обновлен до последней версии Windows Update, чтобы обеспечить безопасность и стабильность системы.
Примечание: Важно сохранить резервные копии всех данных перед установкой и настройкой IIS, чтобы в случае непредвиденных ситуаций можно было восстановить систему.
Содержание
- Установка службы IIS
- Настройка аутентификации в IIS
- Создание и настройка сайта в IIS
- Настройка прокси-сервера в IIS
- Настройка SSL-сертификата в IIS
- Оптимизация производительности сервера с помощью IIS
Установка службы IIS
Для установки службы IIS на Windows Server 2016 выполните следующие шаги:
- Откройте «Серверный менеджер» (Server Manager) через панель управления или щелкнув правой кнопкой мыши на значке «Этот компьютер» на рабочем столе и выбрав «Управление».
- В окне «Серверный менеджер» щелкните «Установка ролей и компонентов».
- В мастере «Добавление ролей и компонентов» нажмите «Далее».
- Выберите «Ролевой сервис IIS» и нажмите «Далее».
- На этапе выбора компонентов «IIS», убедитесь, что выбрыны все необходимые компоненты, такие как «Common HTTP Features» и «Web Server (IIS) > Web Server > Application Development» и нажмите «Далее».
- На следующем шаге нажмите «Далее» и подтвердите выбранные опции.
- После завершения установки выберите «Завершить».
После завершения установки вы сможете настроить и использовать службу IIS для развертывания и обслуживания ваших веб-приложений и сайтов.
Настройка аутентификации в IIS
Настройка аутентификации в IIS позволяет определить, каким пользователям и в какой форме будет разрешен доступ к веб-приложениям и ресурсам, размещенным на сервере. Существуют различные методы аутентификации, которые можно настроить в IIS.
Чтобы настроить аутентификацию в IIS, выполните следующие действия:
- Откройте панель управления IIS и выберите сайт, к которому хотите применить настройки аутентификации.
- В разделе «Функции IIS» выберите «Аутентификация».
- В окне «Аутентификация» будут показаны доступные методы аутентификации.
- Выберите нужный метод аутентификации и включите его (нажмите правую кнопку мыши и выберите «Включить»).
- Настройте параметры выбранного метода аутентификации, если это необходимо. Некоторые методы могут иметь дополнительные параметры, такие как настройка проверки подлинности сетевых учетных данных или настройка использования клиентского сертификата.
- Повторите шаги 4-5 для всех методов аутентификации, которые вы хотите использовать.
- Сохраните настройки.
После того, как вы настроите аутентификацию в IIS, сервер будет требовать от клиентов аутентифицироваться перед получением доступа к ресурсам. В зависимости от выбранных методов аутентификации, пользователи могут вводить логин и пароль, использовать сертификаты или аутентифицироваться с помощью учетных записей Windows.
Создание и настройка сайта в IIS
Для создания и настройки сайта в IIS на Windows Server 2016, следуйте следующим шагам:
Шаг 1: Откройте меню «Пуск» и выберите «Инструменты управления IIS», чтобы открыть консоль управления IIS.
Шаг 2: В консоли управления IIS выберите «Сайты» и нажмите правой кнопкой мыши, затем выберите «Добавить веб-сайт».
Шаг 3: В появившемся окне «Добавление нового веб-сайта» введите имя сайта, которое будет отображаться в IIS, и выберите физический путь к папке сайта на сервере.
Шаг 4: Укажите IP-адрес и порт, на котором будет доступен сайт. По умолчанию это будет IP-адрес сервера и порт 80 для HTTP или порт 443 для HTTPS.
Шаг 5: Выберите пул приложений, который будет использоваться для выполнения сайта, или создайте новый пул приложений.
Шаг 6: Нажмите «ОК» и сайт будет создан в IIS. Теперь вы можете настроить дополнительные параметры для вашего сайта, такие как привязки, SSL-сертификаты и авторизацию.
Шаг 7: Проверьте работу сайта, открыв его в веб-браузере с помощью указанного вами IP-адреса и порта.
Теперь вы создали и настроили свой собственный веб-сайт в IIS на Windows Server 2016. Удачи!
Настройка прокси-сервера в IIS
Прокси-сервер в IIS позволяет перенаправлять запросы от клиентов на другой сервер в сети. Это может быть полезно, когда требуется обеспечить доступ к веб-ресурсам, которые находятся за файрволлом или на другом сервере. В этом разделе мы рассмотрим пошаговое руководство по настройке прокси-сервера в IIS на Windows Server 2016.
- Откройте диспетчер служб IIS (Internet Information Services Manager).
- Раскройте дерево слева и найдите сайт, для которого требуется настроить прокси-сервер.
- Щелкните правой кнопкой мыши на сайте и выберите «Свойства».
- На вкладке «Общие» убедитесь, что поле «IP-адрес» содержит правильный IP-адрес сайта.
- Перейдите на вкладку «Прокси» и установите флажок «Включить прокси-сервер».
- Введите адрес и порт удаленного сервера, на который будут перенаправляться запросы.
- Настройте параметры аутентификации, если требуется.
- Нажмите «ОК», чтобы сохранить изменения.
Теперь ваш IIS сервер будет работать в качестве прокси-сервера и перенаправлять запросы от клиентов на указанный удаленный сервер. Вы можете настроить дополнительные опции прокси-сервера, используя другие вкладки и параметры в диспетчере служб IIS.
Настройка SSL-сертификата в IIS
SSL-сертификат позволяет обеспечить безопасное соединение между сервером и клиентом, шифруя передаваемые данные. Настройка SSL-сертификата в IIS на Windows Server 2016 позволяет обеспечить защищенное соединение для вашего веб-сайта.
Вот пошаговая инструкция, как настроить SSL-сертификат в IIS:
- Регистрация и получение SSL-сертификата
- Установка и настройка SSL-сертификата в IIS
- Откройте IIS Manager и выберите свой сервер в области подключений.
- Дважды щелкните «Сертификаты сервера» в разделе «Безопасность».
- В контекстном меню выберите «Импортировать».
- Укажите путь к файлу сертификата и введите пароль (если требуется).
- Выберите локальное хранилище сертификатов и нажмите «Ок».
- Дважды щелкните сайт, для которого вы хотите настроить SSL-сертификат.
- Перейдите на вкладку «Сертификаты сервера» и выберите установленный сертификат.
- Нажмите «Применить» и перезапустите сайт, если это необходимо.
- Настройка привязки SSL-сертификата
- В IIS Manager выберите ваш сайт в области подключений.
- В разделе «Действия» выберите «Привязки».
- Добавьте новую привязку, выбрав HTTPS и соответствующий порт (по умолчанию 443).
- Выберите установленный SSL-сертификат.
- Нажмите «Ок» и перезапустите ваш сайт, если это необходимо.
- Проверка работоспособности SSL-сертификата
- Откройте веб-браузер и введите адрес вашего сайта с использованием HTTPS (например, https://www.example.com).
- Убедитесь, что соединение защищено, показывая графическую индикацию безопасного соединения (обычно замок или зеленая пиктограмма).
- Проверьте наличие валидного SSL-сертификата, кликнув на индикатор безопасности и просмотрев детали сертификата.
Прежде всего, вам необходимо приобрести или получить SSL-сертификат. Вы можете обратиться к специально уполномоченному центру сертификации или использовать бесплатные сертификаты, например, от Let’s Encrypt.
После получения SSL-сертификата необходимо установить его в IIS:
После установки SSL-сертификата необходимо настроить привязку для вашего сайта:
Чтобы проверить, что SSL-сертификат настроен корректно:
Теперь у вас есть защищенное SSL-соединение для вашего веб-сайта, обеспечивая безопасность передаваемых данных.
Оптимизация производительности сервера с помощью IIS
Настройка IIS на Windows Server 2016 важна не только с точки зрения безопасности, но и для обеспечения максимальной производительности вашего сервера. Несколько простых шагов могут помочь вам оптимизировать IIS и улучшить производительность вашего сервера.
Вот несколько рекомендаций:
- Установите минимально необходимые компоненты: устанавливайте только те компоненты IIS, которые действительно необходимы для работы вашего веб-сайта. Избегайте установки компонентов, которые не будут использоваться, чтобы избежать излишней нагрузки на сервер.
- Настройте пулы приложений: создайте отдельные пулы приложений для каждого сайта, чтобы управлять ресурсами и избежать конфликтов между сайтами. Определите соответствующие настройки пула приложений, такие как количество рабочих процессов, время жизни процесса и ограничения памяти.
- Используйте кэширование: настройте кэширование в IIS для улучшения производительности вашего сервера. Кэширование может существенно уменьшить время обработки запросов, особенно для статических файлов. Установите соответствующие правила кэширования для статических и динамических контентных файлов.
- Настройте сжатие: включите сжатие данных в IIS, чтобы уменьшить объем передаваемых данных между сервером и клиентом. Сжатие может улучшить производительность вашего сервера и уменьшить время загрузки страниц для пользователей.
- Разгрузите сервер от статических файлов: настройте отдельный веб-сервер для обслуживания статических файлов, таких как изображения, CSS-файлы и JavaScript-файлы. Это освободит IIS от обработки запросов на статические файлы и улучшит производительность вашего сервера.
- Мониторинг и настройка: регулярно мониторьте производительность вашего сервера с помощью инструментов мониторинга IIS. Осуществляйте настройку сервера на основе полученных данных, чтобы улучшить производительность и устранить возможные проблемы.
Следуя этим рекомендациям, вы сможете оптимизировать производительность вашего сервера на Windows Server 2016 с помощью IIS и обеспечить лучшее использование его ресурсов.
In a previous post we covered using the System Preparation Tool to convert a VM into a VM Template in XenServer. Once we have used this template to create a new VM, it’s time to set it up as an IIS web server to host some ASP.Net MVC applications.
Revisiting the Basics
Network Settings
When creating a new VM from the template the network settings in the template will also be copied. If it was set to DHCP that will be fine but if the template had a static IP, you should change the IP address to a different one now so that you don’t run into an IP conflict (ie. Two machines on the network using the same IP address).
– start powershell
– sconfig
– Select Network Settings
– Select the relevant Network Adapter from the list
– Select 1) Set Network Adapter Address
– Enter S
for (S)tatics
– Enter the static IP address
– Enter the subnet mask
– Enter the default gateway
– If required select 2) Set DNS Servers
Advanced Networking
In some cases you may need to get a little more fancy with your networking. For example you may need to set your default gateway to a gateway router that can get your traffic out to the Internet, but you have a backend gateway router that handles communication to IP addresses on your private LAN. In this case you can use the route
command to tell Windows to send traffic out through different gateway routers.
– route print
will show current routes, note the current default gateway route (0.0.0.0)
– route add 10.0.0.0 mask 255.0.0.0 10.x.x.x -p
will send all traffic destined for IP addresses in the 10.0.0.0/8 subnet (ie. Any address starting with ’10.’) out through the 10.x.x.x IP address (backend gateway router). The -p signifies that the route will be persistent and therefore will stick around after a reboot.
– route print
will now show your new persistent route both in the Active Routes section and below that under Persistent Routes.
Now that you have this route to the private LAN in place, you can change the default gateway address to the ‘Internet’ gateway server without loosing access to your server over the private LAN. This can be done by reconfiguring the network settings again using sconfig
or by simply deleting the default route and adding another one.
– route delete 0.0.0.0
– route add 0.0.0.0 mask 0.0.0.0 10.y.y.y -p
will send all traffic destined for an IP that can’t be handled by a more specific route out via the 10.y.y.y router. In this case you would replace the 10.y.y.y with the IP address of your Internet gateway router.
Enable Echo Requests (pings)
This step is optional but if you are going to monitor your server with something like Nagios you probably want to make sure it is online. This will enable the default rule to allow inbound IPv4 pings.
– Set-NetFirewallRule -Name FPS-ICMP4-ERQ-In -Enabled True
Checking Internet Access
Many websites rely on web based resources (API’s etc). Now would be a good time to check that your new server has Internet access (unless you are purposely restricting it).
– Invoke-WebRequest https://google.com -UseBasicParsing
This will show a big red error if it can’t hit Google, or a 200 status code if it can.
Join an Active Directory Domain
If you need to join your server to a domain to make management easier, follow these steps otherwise continue on to the next section to install IIS.
– sconfig
– Select 2) Computer Name
– Set the new computer name and reboot the server
– After the reboot completes, log in again with the Administrator user
– sconfig
– Select 1) Domain/WorkGroup
– Type D for (D)omain
– Enter the name of the domain you wish to join and the relevant administrator credentials
– You will be prompted to change the computer name again, click No as we have already done this.
– Click Yes on the Restart prompt
– After rebooting users should be able to login with your domain credentials.
Switching users on the Server Core login screen
If you are using Remote Desktop you should have a normal sign in experience but if you are still looking at the server’s console with just a CMD window on screen, it may not be immediately obvious how to switch users to log in with your domain credentials instead of the default administrator account. Here’s how:
– To change users hit the ESC at the LoginUI.exe screen
– This will present another sign-on options screen, hit ESC again
– Select Other User
– Enter your domain credentials and log in.
Installing the Web Server Role
Powershell comes with some very useful tools for managing the Window Features that are installed on a server
– start powershell
to open a powershell window
– Install-WindowsFeature -Name Web-Server -Confirm
will install IIS.
– Get-WindowsFeature
will show you a list of all available features and show which are installed.
At this point you should have a base install of IIS running the default website on port 80. If you open a browser and type in the IP address of the server you should see the default IIS website.
Install ASP.NET Support
Install-WindowsFeature -Name Web-Asp-Net45, Web-Net-Ext45 -Confirm
Installing IIS Diagnostic, Performance and Security Goodies
Install-WindowsFeature -Name Web-Custom-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing -Confirm
Install-WindowsFeature -Name Web-Performance -IncludeAllSubFeature -Confirm
Install-WindowsFeature -Name Web-Security -IncludeAllSubFeature -Confirm
Installing and Enabling Remote Management for IIS
This will allow us to use the IIS Manager window on another computer to manage our server. Even though we’re installing this now, I won’t be using it to configure the server in the interest of trying to do as much as possible via powershell. The idea is to script all of the server setup so that it can be entirely automated.
– Install-WindowsFeature -Name Web-Mgmt-Service -Confirm
– Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WebManagement\Server\ -Name EnableRemoteManagement -Value 1
– Set-Service -Name WMSvc -StartupType Automatic
– Start-Service -Name WMSvc
Note: You will need to install the IIS Manager on the machine that you will be using to manage the server/s. To do this, run:
–Install-WindowsFeature -Name Web-Mgmt-Tools -Confirm
Website File Structure
The default directory for storing website files for IIS is C:\inetpub\wwwroot. When configuring your websites though you can put the files wherever you like. To make things simpler if you want to sync your website files between multiple web servers or apply special permissions etc, I find it best to store files in a seperate folder.
To keep things organise when hosting multiple websites across multiple domains I like to organise the content on my IIS servers in the following folder structure:
C:
|_WebFarmFiles
|_Content
|_domain1.com
|_subdomain1
|_project1
|_blah.aspx
|_project2
|_subdomain2
|_domain2.com
|_subdomain1
So if you have a site that will live at the URL http://subdomain1.domain1.com/project1/blah.aspx then blah.aspx would be saved to the C:\WebFarmFiles\Content\domain1.com\subdomain1\project1\ folder.
This setup may look a little confusing at first but it will make sense if/when you need to host multiple sites and quickly find things. Of course your system of organising files may vary and it is, of course, personal preference.
New-Item -ItemType Directory C:\WebFarmFiles\Content\domain1.com\subdomain1
this should create all the required parent folders for us automatically.
Getting files onto the server
Create Network Share
New-SmbShare -Name WebFarmFiles -Path C:\WebFarmFiles -FullAccess "domain\group1", "domain\group2"
- Copy files from another machine onto this one using the share
\\server\WebFarmFiles
.
You could also use robycopy or other utilities to copy files from another network share or download files from github etc.
Set up your first Website
Let’s say we copied some files to \\server\WebFarmFiles\Content\domain1.com\subdomain1
which are intended to be accessed at the URL http://subdomain1.domain1.com
. Let’s also say that we want this website to run in it’s own Application Pool so that we can manage it’s resource usage easily rather than everything running in the DefaultAppPool
Create the IIS Application Pool
New-WebAppPool -Name subdomain1.domain1.com
Associated cmdlets to explore:
–Remove-WebAppPool
–Get-WebAppPoolState | Select *
–Restart-WebAppPool -Name subdomain1.domain1.com
Change the App Pool Identity
In some cases, the process running your application may need to access files on the network with specific user permissions.
– Set-ItemProperty IIS:\AppPools\app-pool-name -name processModel -value @{userName="domain\user";password="password";identitytype=3}
Set the App Pool startMode
If your application is a big one, you may wish to set it to AlwaysRunning so that the first visitor doesn’t have to wait for it to initialise:
– Set-ItemProperty IIS:\AppPools\app-pool-name -Name startMode -Value AlwaysRunning
– Get-ItemProperty IIS:\AppPools\app-pool-name -Name startMode
to check the setting.
Create the IIS WebSite
New-Website -Name subdomain1.domain1.com -ApplicationPool subdomain1.domain1.com -HostHeader subdomain1.domain1.com -PhysicalPath C:\WebFarmFiles\Content\domain1.com\subdomain1\
Associated cmdlets to explore:
–Get-Website
–Remove-WebSite -Name subdomain1.domain1.com
–Stop-Website -Name subdomain1.domain1.com
–Start-Website -Name subdomain1.domain1.com
The new website should now be running and you can access it by pointing the subdomain1.domain1.com
URL at your servers IP address either just from your local machine by modifying your hosts file or by modifying the DNS records for the domain1.com domain. These methods are not covered in this article.
Adding an additional binding
In some cases you may have a need to point two different URL’s at the same website.
New-Binding -Name subdomain1.domain1.com -HostHeader subdomain1.domain3.com
In this case, the ‘Name’ of the binding relates to the WebSite it will be linked to.
Associated cmdlets to explore:
–Get-WebBinding
–Get-WebBinding | Select-Object *
for a more advanced view
–Remove-WebBinding -HostHeader subdomain1.domain3.com