В данной статье мы установим и проведем базовые настройки веб-сервера IIS на сервере с операционной системой Windows Server 2012-2019.
1. Установим роль веб-сервера IIS.
Пуск (Start) — Диспетчер серверов (Server Manager)
Далее Управление (Manage) — Добавить Роли и Компоненты (Add Roles and Features)
Жмем Далее (Next)
Оставляем выбранную опцию Установка ролей или компонентов (Role-based or feature-based installation) и Далее (Next)
Выбираем локальный сервер, жмем Далее (Next)
Выбираем Веб сервер Web Server (IIS), жмем Добавить Компоненты (Add Features) и Далее (Next)
В следующем окне Далее (Next)
Далее (Next)
Выбираем для установки CGI (в разделе Application Development). Также рекомендую дополнительно установить FTP сервер, что позволит закачивать файлы на сервер с помощью FTP клиента (например FileZilla)
Далее (Next), ставим галочку для автоматического перезапуска сервера после установки роли и кнопку Install
После перезапуска сервера, IIS запустится автоматически. Но если необходимо перезапустить, достаточно выполнить команду (Пуск — Выполнить)
iisreset
или запустить
iisreset /start
Для проверки работы веб-сервера, откройте в браузере страницу http://localhost/
Корневая папка сайта по умолчанию размещена по пути
C:\inetpub\wwwroot
Но часто бывает, что на сервере необходимо разместить несколько сайтов. По этой причине, создадим тестовый сайт со своей корневой папкой.
2. Создание сайта в IIS
Вначале создадим корневую папку сайта на диске сервера. Для примера, будем использовать имя сайта domain.name
Далее в Диспетчере серверов (Server Manager) — в меню Средства (Tools) — откроем Диспетчер служб IIS (Inetnet Information Services (IIS) Manager)
В окне Диспетчера служб IIS необходимо открыть меню сервера — Сайты (Sites) — правой кнопкой мышки — Добавить веб-сайт… (Add Website…)
Заполним указанные на скриншоте обязательные поля
Имя сайта (Site name) — произвольное название сайта.
Физический путь (Physical path) — путь к корневой папке сайта.
Тип (Type) — тип протоколв (http или https). Для начальнйо настройки сайта будет достаточно http протокола.
Имя узла (Host name) — доменное имя сайта.
Жмем кнопку Ок и видим, что в списке сайтов, кроме сайта по умолчанию, добавился наш, только что созданный сайт.
Чтобы проверить работу сайта, создадим в его корневой директории файл с именем index.html и скопируйте в этот файл такое содержимое
<html>
<body>
Тело страницы: Test HTML page
</body>
</html>
Примечание: файл index.html можно открыть программой Блокнот или другим текстовым редактором.
Откройте в браузере страницу своего сайта (в нашем примере это domain.name) и увидите такую страницу.
3. Интеграция IIS и PHP
Перед выполнением этого пункта, необходимо установить на сервере PHP. Для этого воспользуйтесь статьей: Как установить и настроить PHP на Windows Server
Чтобы веб-сервер мог успешно обрабатывать php запросы, необходимо выполнить интеграцию IIS и PHP. Для этого в Модуле IIS перейдите в меню нашего сайта и откройте Отображение обработчика (Handler Mappings)
в списке Действий (Action) которого есть пункт меню «Добавить модульный обработчик» (Add Module Mapping). Заполните форму как на скриншоте и нажмите кнопку «Запрос ограничения» (Request Restrictions…)
Выберите вариант «Файл или папка» (File or folder)
Нажмите ОК, потом снова ОК на форме модульного обработчика и подтвердите создание действия
В списке обработчиков должен появиться только что созданный:
Теперь добавим настройку на уровне веб-сервера, чтобы файл index.php открывался в качестве страницы по умолчанию.
Для этого в меню сервера (а не сайта) открываем «Документ по умолчанию» (Default document),
выбираем в списке действий «Добавить» (Add), заполняем поле Имя (Name) значением index.php и жмем ОК
Полученный результат
Для применения всех настроек необходимо перезапустить веб сервер. Для этого остановим его
и запустим
Интеграция веб-сервера с PHP настроена.
Давайте проверим работу PHP скрипта. Для этого в корневой папке сайта создадим файл с именем index.php, откроем его в блокноте и добавим такое содержимое
<?php
phpinfo();
?>
Сохраним файл и обновим в браузере сайт «http://domain.name/»
Должна отобразиться такая страница
Это значит, что PHP скрипты успешно обрабатываются веб-сервером.
В данной статье мы научились устанавливать на Windows Server 2012-2019 веб-сервер IIS, выполнять первоначальные настройки, интегрировать с установленным ранее PHP и создавать отдельный сайт в IIS Manager.
Установка IIS на Windows Server 2022
В статье расскажем, как установить службу Internet Information Services (IIS) на серверы с операционной системой Windows Server 2022. Инструкция подойдет и для ОС Windows Server 2016 и Windows Server 2019.
IIS (Internet Information Services) — набор сервисов от компании Microsoft для работы веб-сервера и других интернет служб. IIS устанавливается на сервер и работает с протоколами HTTP/HTTPS, POP3, SMTP, FTP, NNTP.
Установка IIS на Windows Server 2022
1. Чтобы приступить к установке, зайдите подключитесь к серверу по RDP с правами администратора и зайдите в «Диспетчер серверов» (Server Manager). Если он не запущен, то зайдите в меню «Пуск» — «Диспетчер серверов» (Server Manager)
2. Теперь выберите слева «Панель мониторинга» (Dashboard), затем пункт «Добавить роли и компоненты» (Add roles and features).
3. Запустится мастер установки IIS, ознакомьтесь с первой страницей и нажмите «Далее» (Next)
4. Выберите тип установки «Установка ролей или компонентов» (Role-based or feature-based installation) и нажмите «Далее» (Next)
5. Выберите сервер из пула серверов (Select a server from the server pool) и отметьте имя вашего сервера. Нажмите «Далее» (Next)
6. На странице выбора ролей сервера поставьте чекбокс напротив «Веб-сервер IIS» (Web Server IIS).
7. Оставьте все без изменений в появившемся окне и нажмите «Добавить компоненты» (Add Features)
8. Нажмите «Далее» (Next)
9. Проверьте список компонентов IIS, выберите нужные или оставьте по умолчанию, нажмите «Далее» (Next)
10. Ознакомьтесь с информацией в следующем окне и нажмите «Далее» (Next)
11. Просмотрите список ролей веб-сервера IIS, которые будут установлены. Отметьте необходимые или оставьте без изменения и нажмите «Далее» (Next). Обратите внимание, что служба FTP по умолчанию не устанавливается. Если в дальнейшем вам понадобятся новые роли, то вы сможете их добавить без переустановки IIS.
12. Нажмите кнопку «Установить» (Install). При необходимости отметьте «Автоматический перезапуск конечного сервера» (Restart the destination server automatically if required), если пункт не выбран, то перезагрузите сервер самостоятельно после окончания установки.
13. Дождитесь окончания установки и нажмите «Закрыть»(Close)
14. После перезагрузки запустите «Диспетчер серверов» (Server Manager) из меню «Пуск» (Start). Теперь выберите раздел «Средства»(Tools) справа вверху. В списке содержимого появится установленная служба IIS. Запустите её.
Возможности сервера IIS
Возможности, доступные вам в службе IIS, перечислены на панели Просмотр возможностей (Features View). Отсюда управляйте возможностями IIS, настраивайте и перезапускайте. Например, настройте SSL-сертификаты.
Проверка работы Web-сервера IIS
Сразу после установки IIS по умолчанию создается пустой сайт Default Web Site.
Проверьте его работу, набрав на вашем сервере в адресной строке браузера localhost. Загрузится страница, созданная по умолчанию.
Файлы этой страницы по умолчанию расположены на диске C:\inetpub\wwwroot
Добавление нового сайта на сервер
Добавьте сайты, которые будут обслуживаться этим веб-сервером. Для этого в контекстном меню выберите слева пункт «Сайты» (Sites) и выберите справа «Добавить сайт» (Add Website).
Заполните поля формы данными о сайте и нажмите ОК. Пример заполнения данных для сайта plhost-test.ru представлен ниже.
Готово. Теперь Вы можете увидеть только что добавленный сайт в списке сайтов.
Таким образом мы установили Web-сервер IIS на операционную систему Windows Server 2022, а затем добавили сайт. Данный способ работает только для статичных html-сайтов. Если у вас сайт, созданный на движке одного из популяных CMS, таких как WordPress, Joomla, Drupal и т.д. , то вам нужно будет добавить поддержку PHP, включить необходимые расширения а также установить сервер базы данных SQL. Но это уже тема для отдельной статьи…
Обычно, когда говорят о web-сервере, подразумевают решения на базе платформы Linux. Но если ваша инфраструктура развернута на основе Windows Server то логично будет использовать веб-сервер IIS. Вопреки распространенному мнению, это весьма популярная платформа, которая позволяет работать как с большинством популярных CMS, так и имеет широкий спектр систем, предназначенных для работы именно на Windows и IIS.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Несомненным достоинством IIS является его тесная интеграция с другими технологиями и средствами разработки Microsoft. В частности веб-решения для IIS могут использовать богатые возможности .NET и легко взаимодействовать с настольными приложениями на этой платформе. Если же вас это пока не интересует, то к вашим услугам богатый выбор готовых CMS, в том числе написанных специально для IIS. Сегодня мы рассмотрим как установить и настроить IIS для работы с веб-решениями на базе ASP.NET и установим одну из популярных CMS для этой платформы.
Для установки веб-сервера на платформе Windows перейдем в оснастку Роли в Диспетчере сервера и выберем установку ролей Веб-сервер (IIS) и Сервер приложений.
Но не спешите нажимать Далее, слева, под названием каждой роли, доступна опция Службы ролей, перейдем на нее и установим для Сервера приложений следующие опции: Поддержка веб-сервера (IIS), Общий доступ к TCP-портам и Активация через HTTP.
А для веб-сервера установите службу FTP-сервер.
После чего установите выбранные роли. Для проверки работоспособности IIS наберите в браузере IP-адрес вашего сервера, вы должны будете увидеть стандартную страницу-заглушку веб-сервера.
Теперь перейдем в к настройке сервера, для этого откроем Диспетчер служб IIS (находится в Пуск — Администрирование).
Первым делом создадим новый сайт, для этого щелкните правой кнопке на пункте Сайты в боковом меню Диспетчера IIS и выберите Создать новый сайт.
В открывшемся окне укажите имя сайта, путь к корневой папке (по умолчанию сайты пользователей располагаются в C:\inetpub\wwwroot), которую следует предварительно создать и укажите имя узла (доменное имя сайта), в нашем случае iissite.local
Не забудьте добавить A-запись с именем вашего сайта на DNS-сервер или пропишите необходимые строки в файлы hosts тех рабочих станций, откуда будете обращаться к сайту
В принципе вы уже можете размещать в папке сайта web-страницы и получать к ним доступ через браузер, но для полноценной работы с сайтом не помешает FTP-доступ к нему. Для этого щелкните правой кнопкой по названию вашего сайте в боковом меню и выберите Добавить FTP-публикацию
Далее укажите привязку FTP-cлужбы к сетевым интерфейсам и портам, а также настройте параметры безопасности. Если вы собираетесь использовать SSL, то учтите что вам потребуется сертификат, хотя если вы будете использовать FTP-доступ только для собственных нужд, то можно обойтись самоподписанным сертификатом. Не забудьте поставить галочку для автоматического запуска FTP-сайта.
На следующей странице укажите параметры доступа к серверу, мы советуем указывать конкретных пользователей, которые будут работать с данным сайтом.
Попробуйте подключиться через FTP используя любой клиент и загрузите проверочную html страницу с именем index.html, пример такой страницы мы приводили здесь. Если все сделано правильно, то, набрав в браузере имя нашего сайта, вы увидите такую страницу:
Веб-сервер настроен и вы можете использовать его для размещения HTML-страниц, однако современные сайты используют для хранения своих данных СУБД, поэтому следующим шагом установим MS SQL Express 2012, возможностей которого с лихвой хватит для наших задач. Установка производится со значениями по умолчанию, кроме Режима проверки подлинности, который следует переключить в Смешанный режим и задать пароль суперпользователю SQL-сервера sa.
Теперь попробуем установить какую либо популярную CMS созданную на базе технологии ASP.NET, обширный выбор таких решений представлен в галерее web-приложений Microsoft. Обратите внимание, что по кнопке скачать вы получите пакет для установки через Web PI, для установки на IIS вам потребуется перейти на сайт разработчика и скачать полный пакет с CMS
Мы будем устанавливать Orchard CMS, для получения пакета пройдите по ссылке и выберите Загрузить как zip, распакуйте полученный архив и закачайте в корень сайта содержимое папки Orchard.
Данная CMS создана на базе ASP.NET 4, поэтому настроим наш сайт на использование необходимых технологий. Для этого щелкните правой кнопкой на имени сайта в боковом меню и выберите Управление веб-сайтом — Дополнительные параметры
В открывшемся окне измените параметр Пул приложений, указав там ASP.NET v.4
Затем установите необходимые права на папку с сайтом, вам нужно добавить пользователю IIS_IUSRS возможность записи и изменения содержимого данной папки.
Также не забудьте создать базу данных для сайта, для этого зайдите в SQL Server Management Studio и, щелкнув правой кнопкой на пункте Базы данных в боковом меню, создайте новую базу.
Для установки CMS наберите в браузере адрес сайта и следуйте указаниям скрипта установки. Никаких сложностей там нет, единственное затруднение может вызвать правильное указание параметров подключения к SQL-серверу. Укажите что вы используете SQL Server (или SQL Express)
В строке подключения ниже укажите следующее:
server=SERVERNAME\SQLEXPRESS;database=iissite;user=sa;password=sapasswd;
где:
- server=SERVERNAME\SQLEXPRESS — имя сервера, на котором установлен SQL-сервер, и экземпляра SQL-сервера.
- database=iissite — имя базы данных (в нашем случае iissite)
- user=sa — пользователь СУБД (в нашем случае sa)
- password=sapasswd — пароль пользователя sa.
Так как наш сайт предназначен для внутреннего использования и использует изолированный экземпляр SQL, то мы использовали для доступа к серверу параметры пользователя sa, если же вы собираетесь размещать на веб-сервере несколько сайтов и администрировать их будут разные пользователи, то заведите на SQL сервере дополнительных пользователей и для подключения используйте их учетные данные, не забыв ограничить им доступ только к «своим» базам.
Спустя некоторое время, необходимое для установки CMS, в вашем браузере отобразиться страница сайта с тестовым содержимым. Можете переходить в админ-панель и настраивать сайт согласно ваших потребностей.
Несмотря на то, что мы рассмотрели установку только одного «движка», установка других CMS производится аналогичным образом и сложностей вызвать не должна
В следующей части нашей статьи мы расскажем как добавить нашему серверу поддержку PHP для запуска на нем популярных CMS написанных на этом языке.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
From Wikipedia, the free encyclopedia
Microsoft IIS
Screenshot of IIS Manager console of Internet Information Services 8.5 |
|
Developer(s) | Microsoft |
---|---|
Initial release | May 30, 1995; 29 years ago |
Stable release |
10.0 v1809 |
Written in | C++[1] |
Operating system | Windows NT |
Available in | Same languages as Windows |
Type | Web server |
License | Part of Windows NT (same license) |
Website | www |
Microsoft IIS (Internet Information Services, IIS, 2S) is an extensible web server created by Microsoft for use with the Windows NT family.[2] IIS supports HTTP, HTTP/2, HTTP/3, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part of the Windows NT family since Windows NT 4.0, though it may be absent from some editions (e.g. Windows XP Home edition), and is not active by default. A dedicated suite of software called SEO Toolkit[3] is included in the latest version of the manager. This suite has several tools for SEO with features for metatag / web coding optimization, sitemaps / robots.txt configuration, website analysis, crawler setting, SSL server-side configuration and more.
The first Microsoft web server was a research project at the European Microsoft Windows NT Academic Centre (EMWAC), part of the University of Edinburgh in Scotland, and was distributed as freeware.[4] However, since the EMWAC server was unable to handle the volume of traffic going to Microsoft.com, Microsoft was forced to develop its own web server, IIS.[5]
Almost every version of IIS was released either alongside or with a version of Microsoft Windows:
- IIS 1.0 was initially released as a free add-on for Windows NT 3.51.
- IIS 2.0 was included with Windows NT 4.0.
- IIS 3.0, which was included with Service Pack 2 of Windows NT 4.0, introduced the Active Server Pages dynamic scripting environment.[6]
- IIS 4.0 was released as part of the «Option Pack» for Windows NT 4.0. It introduced the new MMC-based administration application and also was the first version where multiple instances of web and FTP servers can run, differentiating them by port number and/or hostname. It was also the first version to run application pools.
- IIS 5.0 shipped with Windows 2000 and introduced additional authentication methods, support for the WebDAV protocol, and enhancements to ASP.[7] IIS 5.0 also dropped support for the Gopher protocol.[8] IIS 5.0 added HTTP.SYS.
- IIS 5.1 was shipped with Windows XP Professional and was nearly identical to IIS 5.0 on Windows 2000.
- IIS 6.0 included with Windows Server 2003 and Windows XP Professional x64 Edition, added support for IPv6 and included a new worker process model that increased security as well as reliability.[9] HTTP.sys was introduced in IIS 6.0 as an HTTP-specific protocol listener for HTTP requests.[10] Also each component (like for example Server Side Includes or ASP) now has to be explicitly installed, because in earlier versions often hackers entered sites by using security bugs of components that were not even in use by the hacked site, improving security.
- IIS 7.0 was a complete redesign and rewrite of IIS and was shipped with Windows Vista and Windows Server 2008. IIS 7.0 included a new modular design that allowed for a reduced attack surface and increased performance. It also introduced a hierarchical configuration system allowing for simpler site deploys, a new Windows Forms-based management application, new command-line management options and increased support for the .NET Framework.[11] IIS 7.0 on Vista does not limit the number of allowed connections as IIS on XP did, but limits concurrent requests to 10 (Windows Vista Ultimate, Business, and Enterprise Editions) or 3 (Vista Home Premium). Additional requests are queued, which hampers performance, but they are not rejected as with XP.
- IIS 7.5 was included in Windows 7 (but it must be turned on in the side panel of Programs and Features) and Windows Server 2008 R2. IIS 7.5 improved WebDAV and FTP modules as well as command-line administration in PowerShell. It also introduced TLS 1.1 and TLS 1.2 support and the Best Practices Analyzer tool and process isolation for application pools.[12]
- IIS 8.0 is only available in Windows Server 2012 and Windows 8. IIS 8.0 includes SNI (binding SSL to hostnames rather than IP addresses), Application Initialization, centralized SSL certificate support, and multicore scaling on NUMA hardware, among other new features.
- IIS 8.5 is included in Windows Server 2012 R2 and Windows 8.1. This version includes Idle worker-Process page-out, Dynamic Site Activation, Enhanced Logging, ETW logging, and Automatic Certificate Rebind.
- IIS 10.0 version 1607 a.k.a. version 10.0.14393 is included in Windows Server 2016 released 2016-09-26 and Windows 10 Anniversary Update released 2016-08-02. This version includes support for HTTP/2,[13] running IIS in Windows containers on Nano Server, a new Rest management API and corresponding web-based management GUI, and Wildcard Host Headers.[14]
- IIS 10.0 version 1709 is included in Windows Server, version 1709 (Semi-Annual Channel) and Windows 10 Fall Creators Update both released 2017-10-17. This version adds support for HSTS, container enhancements, new site binding PowerShell cmdlets, and 4 new server variables prefixed with «CRYPT_».[15]
- IIS 10.0 version 1809 a.k.a. version 10.0.17763 is included in Windows Server 2019 and Windows 10 October Update released 2018-10-02. This version added flags for control of HTTP/2 and OCSP Stapling per site, a compression API and implementing module supporting both gzip and brotli schemes, and a UI for configuring HSTS.[16] IIS 10.0 on Windows 11 and Windows Server 2022 has native support for HTTP/3.
All versions of IIS prior to 7.0 running on client operating systems supported only 10 simultaneous connections and a single website.
Microsoft was criticized by vendors of other web server software, including O’Reilly & Associates and Netscape, for its licensing of early versions of Windows NT; the «Workstation» edition of the OS permitted only ten simultaneous TCP/IP connections, whereas the more expensive «Server» edition, which otherwise had few additional features, permitted unlimited connections but bundled IIS. It was implied that this was intended to discourage consumers from running alternative web server packages on the cheaper edition.[17] Netscape wrote an open letter to the Antitrust Division of the U.S. Department of Justice regarding this distinction in product licensing, which it asserted had no technical merit.[18] O’Reilly showed that the user could remove the enforced limits meant to cripple NT 4.0 Workstation as a web server with two registry key changes and other trivial configuration file tweaking.
IIS 6.0 and higher support the following authentication mechanisms:[19]
- Anonymous authentication
- Basic access authentication
- Digest access authentication
- Integrated Windows Authentication
- UNC authentication
- .NET Passport Authentication (Removed in Windows Server 2008 and IIS 7.0)[20]
- Certificate authentication
IIS 7.0 has a modular architecture. Modules, also called extensions, can be added or removed individually so that only modules required for specific functionality have to be installed. IIS 7 includes native modules as part of the full installation. These modules are individual features that the server uses to process requests.[21]
IIS 7.5 includes the following additional or enhanced security features:[22]
- Client certificate mapping
- IP security
- Request filtering
- URL authorization
Authentication changed slightly between IIS 6.0 and IIS 7, most notably in that the anonymous user which was named «IUSR_{machinename}» is a built-in account in Vista and future operating systems and named «IUSR». Notably, in IIS 7, each authentication mechanism is isolated into its own module and can be installed or uninstalled.[20]
IIS 8.0 offers new features targeted at performance and easier administration. The new features are:
- Application Initialization: a feature that allows an administrator to configure certain applications to start automatically with server startup. This reduces the wait time experienced by users who access the site for the first time after a server reboot.[23]
- Splash page during application initialization: the administrator can configure a splash page to be displayed to the site visitor during an application initialization.[23]
- ASP.NET 4.5 support: With IIS 8.0, ASP.NET 4.5 is included by default, and IIS also offers several configuration options for running it side by side with ASP.NET 3.5.[24]
- Centralized SSL certificate support: a feature that makes managing certificates easier by allowing the administrator to store and access the certificates on a file share.[25]
- Multicore scaling on NUMA hardware: IIS 8.0 provides several configuration options that optimize performance on systems that run NUMA, such as running several worker processes under one application pool, using soft or hard affinity and more.[26]
- WebSocket Protocol Support[27]
- Server Name Indication (SNI): SNI is an extension to Transport Layer Security, which allows the binding of multiple websites with different hostnames to one IP address (similar to how Host Headers are used for non-SSL sites).[28]
- Dynamic IP Address Restrictions: a feature that enables an administrator to dynamically block IPs or IP ranges that hit the server with a large number of requests[29]
- CPU Throttling: a set of controls that allow the server administrator to control CPU usage by each application pool in order to optimize performance in a multi-tenant environment[30]
IIS 8.5 has several improvements related to performance in large-scale scenarios, such as those used by commercial hosting providers and Microsoft’s own cloud offerings. It also has several added features related to logging and troubleshooting. The new features are:
- Idle worker-Process page-out: a function to suspend idle sites to reduce the memory footprint of idle sites[31]
- Dynamic Site Activation: a feature that registers listening queues only to sites that have received requests[32]
- Enhanced Logging: a feature to allow the collection of Server variables, request headers and response headers in the IIS logs[33]
- ETW logging: an ETW provider which allows collecting real-time logs using various Event-tracing tools[34]
- Automatic Certificate Rebind: a feature that detects when a site certificate has been renewed and automatically rebinds the site to it[35]
IIS Express, a lightweight (4.5–6.6 MB) version of IIS, is available as a standalone freeware server and may be installed on Windows XP with Service Pack 3 and subsequent versions of Microsoft Windows. IIS 7.5 Express supports only the HTTP and HTTPS protocols. It is portable, stores its configuration on a per-user basis, does not require administrative privileges and attempts to avoid conflicting with existing web servers on the same machine.[36] IIS Express can be downloaded separately[37] or as a part of WebMatrix[38] or Visual Studio 2012 and later.[39] (In Visual Studio 2010 and earlier, web developers developing ASP.NET apps used ASP.NET Development Server, codenamed «Cassini».)[40] By default, IIS Express only serves local traffic.[41][39]
IIS releases new feature modules between major version release to add new functionality. The following extensions are available for IIS 7.5:
- FTP Publishing Service: Lets Web content creators publish content securely to IIS 7 Web servers with SSL-based authentication and data transfer.[42]
- Administration Pack: Adds administration UI support for management features in IIS 7, including ASP.NET authorization, custom errors, FastCGI configuration, and request filtering.[43]
- Application Request Routing: Provides a proxy-based routing module that forwards HTTP requests to content servers based on HTTP headers, server variables, and load balance algorithms.[44]
- Database Manager: Allows easy management of local and remote databases from within IIS Manager.[45]
- Media Services: Integrates a media delivery platform with IIS to manage and administer the delivery of rich media and other Web content.[46]
- URL Rewrite Module: Provides a rule-based rewriting mechanism for changing request URLs before they are processed by the Web server.[47]
- WebDAV: Lets Web authors publish content securely to IIS 7 Web servers, and lets Web administrators and hosters manage WebDAV settings using IIS 7 management and configuration tools.[48]
- Web Deployment Tool: Synchronizes IIS 6.0 and IIS 7 servers, migrates an IIS 6.0 server to IIS 7, and deploys Web applications to an IIS 7 server.[49]
According to Netcraft, in February 2014, IIS had a «market share of all sites» of 32.80%, making it the second most popular web server in the world, behind Apache HTTP Server at 38.22%. Netcraft showed a rising trend in market share for IIS, since 2012.[50] On 14 February 2014, however, the W3Techs shows different results. According to W3Techs, IIS is the third most used web server behind Apache HTTP Server (1st place) and Nginx. Furthermore, it shows a consistently falling trend for IIS use since February 2013.[51]
Netcraft data in February 2017 indicates IIS had a «market share of the top million busiest sites» of 10.19%, making it the third most popular web server in the world, behind Apache at 41.41% and nginx at 28.34%.[52]
IIS 4 and IIS 5 were affected by the CA-2001-13 security vulnerability which led to the infamous Code Red attack;[53][54] however, both versions 6.0 and 7.0 have no reported issues with this specific vulnerability.[55] In IIS 6.0 Microsoft opted to change the behaviour of pre-installed ISAPI handlers,[56] many of which were culprits in the vulnerabilities of 4.0 and 5.0, thus reducing the attack surface of IIS.[54] In addition, IIS 6.0 added a feature called «Web Service Extensions» that prevents IIS from launching any program without explicit permission by an administrator.
By default IIS 5.1 and earlier run websites in a single process running the context of the System account,[57] a Windows account with administrative rights. Under 6.0 all request handling processes run in the context of the Network Service account, which has significantly fewer privileges, so should there be a vulnerability in a feature or custom code it won’t necessarily compromise the entire system given the sandboxed environment these worker processes run in.[58] IIS 6.0 also contained a new kernel HTTP stack (http.sys
) with a stricter HTTP request parser and response cache for both static and dynamic content.[59]
According to Secunia, as of June 2011, IIS 7 had a total of six resolved vulnerabilities while[55] IIS 6 had a total of eleven vulnerabilities, out of which one was still unpatched. The unpatched security advisory has a severity rating of 2 out of 5.[55]
In June 2007, a Google study of 80 million domains concluded that while the IIS market share was 23% at the time, IIS servers hosted 49% of the world’s malware, the same as Apache servers whose market share was 66%. The study also observed the geographical location of these dirty servers and suggested that the cause of this could be the use of unlicensed copies of Windows that could not obtain security updates from Microsoft.[60] In a blog post on 28 April 2009, Microsoft noted that it supplies security updates to everyone without genuine verification.[61][62]
The 2013 mass surveillance disclosures made it more widely known that IIS is particularly bad in supporting perfect forward secrecy (PFS), especially when used in conjunction with Internet Explorer. Possessing one of the long term asymmetric secret keys used to establish a HTTPS session should not make it easier to derive the short term session key to then decrypt the conversation, even at a later time. Diffie–Hellman key exchange (DHE) and elliptic curve Diffie–Hellman key exchange (ECDHE) are in 2013 the only ones known to have that property. Only 30% of Firefox, Opera, and Chromium Browser sessions use it, and nearly 0% of Apple’s Safari and Microsoft Internet Explorer sessions.[63]
- IIS Metabase
- Logparser
- Microsoft Personal Web Server
- Windows Activation Services
- Comparison of web servers
- List of mail servers
- ^
- ^ «Running IIS 6.1 as an Application Server (IIS 6.0)». TechNet. Microsoft. Archived from the original on 21 September 2013. Retrieved 14 December 2012.
- ^ «Getting started with the SEO Toolkit». Microsoft Learn. Microsoft. 11 April 2024. Retrieved 14 April 2024.
- ^ «Windows NT Internet Servers». Microsoft. 10 July 2002. Archived from the original on 19 September 2008. Retrieved 26 May 2008.
- ^ Kramer, Dave (24 December 1999). «A Brief History of Microsoft on the Web». Microsoft. Archived from the original on 14 May 2008. Retrieved 26 May 2008.
- ^ «Microsoft ASP.NET 2.0 Next Stop on Microsoft Web Development Roadmap».[permanent dead link]
- ^ «Chapter 1 — Overview of Internet Information Services 5.0». 9 December 2009. Retrieved 25 October 2010.
- ^ «Chapter 2 — Managing the Migration Process». 9 December 2009. Retrieved 27 June 2012.
- ^ «What’s New In IIS 6.0?». Archived from the original on 14 May 2013. Retrieved 25 November 2010.
- ^ arkaytee. «Introduction to IIS Architectures». docs.microsoft.com. Retrieved 29 August 2019.
- ^ «IIS 7.0: Explore The Web Server For Windows Vista and Beyond». Retrieved 25 November 2010.
- ^ «What’s New in Web Server (IIS) Role in Windows 2008 R2». Retrieved 25 November 2010.
- ^ Mike Bishop; David So (11 September 2015). «HTTP/2 on IIS». Microsoft.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Sourabh Shirhatti (14 June 2022). «New Features Introduced in IIS 10.0». Microsoft.
- ^ Sourabh Shirhatti; Richard Lang (19 May 2022). «New Features Introduced in IIS 10.0 Version 1709». Microsoft.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Sourabh Shirhatti. «New Features Introduced in IIS 10.0, version 1809». Microsoft.
- ^ «Netscape goes to jail, does not collect $200». InfoWorld. Archived from the original on 23 December 2008. Retrieved 12 April 2014.
- ^ «Differences Between NT Server and Workstation Are Minimal». O’Reilly Media. Archived from the original on 16 March 2016. Retrieved 7 July 2018.
- ^ «Authentication Methods Supported in IIS 6.0 (IIS 6.0)». IIS 6.0 Documentation. Microsoft. Archived from the original on 2 November 2012. Retrieved 13 July 2011.
- ^ a b «Changes Between IIS 6.0 and IIS 7 Security». iis.net. Microsoft. 7 February 2010. Retrieved 13 July 2011.
- ^ Templin, Reagan (11 August 2010). «Introduction to IIS 7 Architecture». iis.net. Microsoft. IIS 7 Modules. Retrieved 16 July 2011.
- ^ «Available Web Server (IIS) Role Services in IIS 7.5». Microsoft TechNet. Microsoft. 27 January 2010. Retrieved 13 July 2011.
- ^ a b Eagan, Shaun (29 February 2012). «IIS 8.0 Application Initialization». IIS Blog. Microsoft. Retrieved 19 September 2013.
- ^ Yoo, Won (29 February 2012). «IIS 8.0 ASP.NET configuration management». IIS Blog. Microsoft. Retrieved 19 September 2013.
- ^ Eagan, Shaun (29 February 2012). «IIS 8.0 Centralized SSL certificate support». IIS Blog. Microsoft. Retrieved 19 September 2013.
- ^ McMurray, Robert (29 February 2012). «IIS 8.0 Multicore Scaling on NUMA Hardware». IIS Blog. Microsoft. Retrieved 19 September 2013.
- ^ «IIS 8.0 WebSocket protocol support». IIS Blog. Microsoft. 28 November 2012. Retrieved 19 September 2013.
- ^ Eagan, Shaun (29 February 2012). «IIS 8.0 Server Name Indication». IIS Blog. Microsoft. Retrieved 19 September 2013.
- ^ McMurray, Robert (29 February 2012). «IIS 8.0 Dynamic IP Address Restrictions». IIS Blog. Microsoft. Retrieved 19 September 2013.
- ^ Eagan, Shaun (29 February 2012). «IIS 8.0 CPU Throttling». IIS Blog. Microsoft. Retrieved 19 September 2013.
- ^ Benari, Erez (26 June 2013). «Idle Worker-process Page Out». IIS Blog. Microsoft. Retrieved 18 September 2013.
- ^ Benari, Erez (3 July 2013). «Dynamic Site Activation». IIS Blog. Microsoft. Retrieved 18 September 2013.
- ^ Benari, Erez (10 July 2013). «Enhanced Logging». IIS Blog. Microsoft. Retrieved 18 September 2013.
- ^ Benari, Erez (15 July 2013). «ETW Logging». IIS Blog. Microsoft. Retrieved 18 September 2013.
- ^ Benari, Erez (3 September 2013). «Automatic Certificate rebind». IIS Blog. Microsoft. Retrieved 18 September 2013.
- ^ «IIS Express FAQ». iis.net. Microsoft. 14 January 2011. Retrieved 27 January 2011.
- ^ «Internet Information Services (IIS) 7.5 Express». Download Center. Microsoft. 10 January 2011. Retrieved 27 January 2011.
- ^ «IIS Express Overview». iis.net. Microsoft. 14 January 2011. Retrieved 27 January 2011.
- ^ a b Hanselman, Scott; Condron, Glen (15 September 2015). «3 Introducing Model View Controller (MVC)». Introduction to ASP.NET. Microsoft. 0:14:02.
- ^ Guthrie, Scott (29 June 2010). «Introducing IIS Express». ScottGu’s Blog. Microsoft.
- ^ Gopalakrishnan, Vaidy (12 January 2011). «Handling URL Binding Failures in IIS Express». iis.net. Microsoft.
- ^ «FTP Publishing Service». iis.net. Microsoft. Retrieved 17 July 2011.
- ^ «Administration Pack». iis.net. Microsoft. Retrieved 17 July 2011.
- ^ «Application Request Routing». iis.net. Microsoft. Retrieved 17 July 2011.
- ^ «Database Manager». iis.net. Microsoft. Retrieved 17 July 2011.
- ^ «IIS Media Services». iis.net. Microsoft. Retrieved 30 July 2011.
- ^ «URL Rewrite». iis.net. Microsoft. Retrieved 17 July 2011.
- ^ «WebDAV Extension». iis.net. Microsoft. Retrieved 17 July 2011.
- ^ «Web Deploy 2.0». iis.net. Microsoft. Retrieved 17 July 2011.[permanent dead link]
- ^ «February 2014 Web Server Survey». news.netcraft.com. Netcraft. 3 February 2014.
- ^ «Usage statistics and market share of Microsoft-IIS for websites». w3techs. Q-Success.
- ^ «February 2017 Web Server Survey». news.netcraft.com. Netcraft. 27 February 2017.
- ^ «CA-2001-13 Buffer Overflow In IIS Indexing Service DLL». CERT® Advisory. Computer emergency response team. 17 January 2002. Retrieved 1 July 2011.
- ^ a b Hadi, Nahari (2011). Web commerce security: design and development. Krutz, Ronald L. Indianapolis: Wiley Pub. p. 157. ISBN 9781118098899. OCLC 757394142.
- ^ a b c «Vulnerability Report: Microsoft Internet Information Services (IIS) 6». Secunia. Secunia ApS. Retrieved 1 July 2011.
- ^ «IIS Installs in a Locked-Down Mode (IIS 6.0)». Microsoft Developer Network (MSDN). Microsoft. Archived from the original on 30 April 2011. Retrieved 1 July 2011.
- ^ «How To: Run Applications Not in the Context of the System Account in IIS (Revision 5.1) Microsoft Corporation». 7 July 2008. Retrieved 20 July 2007.
- ^ Henrickson, Hethe; Hofmann, Scott R. (2003). «Chapter 15: ASP.NET Web Services». IIS 6: the complete reference. New York City: McGraw-Hill Professional. p. 482. ISBN 978-0-07-222495-5. Retrieved 12 July 2011.
- ^ Henrickson, Hethe; Hofmann, Scott R. (2003). «Chapter 1: IIS Fundamentals». IIS 6: the complete reference. New York City: McGraw-Hill Professional. p. 17. ISBN 978-0-07-222495-5. Retrieved 12 July 2011.
- ^ «Web Server Software and Malware». Google Online Security Blog.
- ^ «Windows Pirates Encouraged to Install Security Updates». USA Today. Technology Live. February 2010. Retrieved 18 July 2011.
- ^ Cooke, Paul (27 April 2009). «Who Gets Windows Security Updates?». Windows Security Blog. Microsoft. Retrieved 18 July 2011.
- ^ SSL: Intercepted today, decrypted tomorrow, Netcraft, 25 June 2013.
- Official website
44s
2
12:51, 06.04.2021
Ваш сайт готов к запуску? Прекрасно, осталось дело за «малым» – как выражаются профессионалы, развернуть его на сервере. Во многих случаях для этого отлично подойдет IIS. Что это такое, зачем нужно, какие плюсы такого решения, а главное, как выполняются установка и настройка IIS для корректной работы сайта – про это вы узнаете в нашей статье!
Что такое IIS?
IIS – это сокращение от Internet Information Services. Хотя в первые несколько лет после дебюта, который состоялся в 1995 году, расшифровка была чуточку другой: Internet Information Server. Как бы там ни было, это пакет сервисов, созданный в Microsoft как компонент Windows для размещения сайтов в интернете. Фактически, IIS представляет веб-сервер с поддержкой основных протоколов передачи данных (HTTP, HTTPS, FTP, SMTP, POP3 и т.д.) и используемых в разработке технологий (ASP.NET, ASP, CGI, FastCGI, SSI и ISAPI). Благодаря этому установка IIS очень востребована.
Хотя этот сервер заслужил популярность не только по этим причинам. Такой пакет отличается и другими плюсами:
- На сервере, где есть один адрес IP и TCP-порт, можно организовать работу сразу нескольких сайтов. Они будут отличаться по заголовкам узла или же иметь собственные IP и TCP.
- Управление можно вести как с серверных версий ОС, так и с настольных – причем это может быть и старая версия вроде 2000 или XP (хотя настройка IIS будет кое в чем ограничена).
- Служба WWW в описываемом сервере имеет много видов аутентификации пользователей, за счет чего доступ к сайту безопасен и оптимизирован для конкретных задач.
Как проходит установка IIS?
Инсталляция пакета Internet Information Services достаточно простая. Он является частью Windows, по сути его нужно не столько установить, сколько включить. Для примера рассмотрим по отдельности два популярных сценария.
Как установить IIS на Windows Server 2012?
В этой операционной системе применяется вариант IIS 8.0 или 8.5 (для 2012 R2). Порядок действий следующий:
- Откройте «Диспетчер серверов», найдите вкладку «Управление», выберите «Добавить роли и компоненты». В открывшемся «Мастере добавления…» прочитайте важную информацию и подтвердите кнопкой «Далее».
- После этого открывается подраздел «Тип установки». Тут следует отметить «Установка ролей и компонентов» и «Далее», что даст возможность выбора сервера из пула серверов, что также завершится нажатием «Далее».
- В подразделе «Роли сервера» выделите «Веб-сервер (IIS)», что приведет к открытию диалогового окна, в котором вам необходима кнопка «Добавить компоненты». Появится раздел с важной информацией – и снова «Далее».
- В «Службы ролей» ищите «Разработка приложений», отмечайте все пункты (без «Инициализация приложений»). Программа укажет, что нет исходников – жмите «Установить», чтобы они автоматически скачались через интернет.
- После этого происходит скачивание и установка необходимых компонентов и открывается последний пункт «Результаты». Когда в ходе установки IIS будут достигнуты 100%, останется нажать кнопку «Закрыть».
Что касается других серверных версий, отличия незначительные. В основном они касаются чуть иной организации интерфейса и некоторых деталей (вроде снятия галочек с «.NET Extensibility 3.5» и «ASP.NET 3.5» для 2019). Суть же одинакова, и описанная инструкция поможет вам справиться с задачей.
Как установить IIS на Windows 7?
Хотя инсталляция и настройка IIS рекомендована через Windows Server, простые настольные системы могут быть пусть урезанной, но и доступной альтернативой. Потому расскажем об установке веб-сервера этих систем. Он мало отличается от версии к версии, для примера возьмем Windows 7 и связанный с ней IIS 7.5:
- Откройте панель управления, выберите «Программы» и нажмите тут кнопку «Включение или отключение компонентов Windows», что запускает процесс изучения параметров системы.
- Когда ОС готова к дальнейшим действиям, отыщите пункт «Службы IIS» и отметьте его. Важно: у него есть подпункты для разных компонентов веб-сервера: от поддержки FTP до обратной совместимости.
- В установке IIS не будет смысла без ASP.NET. Поэтому раскрывайте список «Службы интернета», в нем нужны «Компоненты разработки приложений» – и тут убедитесь, что отмечен пункт «ASP.NET 4.5».
- Можно отметить другие важные вам технологии. К примеру, чтобы включить в Visual Studio IIS для создания виртуальных каталогов, вам в «Средствах управления веб-сайтом» нужен пункт «Совместимость управления IIS 6».
- Когда выбрано все, что требуется для работы и администрирования вашего сайта, вам остается только одно – кнопка «ОК». Internet Information Services установлен!
Как проходит настройка IIS?
После запуска веб-сервера можно переходить к его управлению. Для этого нужно открыть «Диспетчер серверов», в нем находим пункт «IIS», далее «Средства», а в нем – уже «Диспетчер служб IIS». Это вызовет появление основного диалогового окна для работ как с сервером в целом, так и с сайтом. Ориентироваться в нем не сложно:
- левая часть экрана отдана под список серверов и сайтов;
- центральная отведена под основные параметры;
- в правой указаны связанные с параметрами доступные действия.
Если развернуть в левой части созданный вами веб-сервер, то в нем расположен Default Web Site, новый «пустой» сайт. Чтобы увидеть его и оценить, правильно ли установлен IIS, выберите его, затем в правой части экрана кликните на «Обзор *:80 (http)». Если все сделано корректно, то запустится браузер с главной страницей, расположенной по адресу http://localhost/.
Что же касается не тестового сайта, а вашего, для него в системе создается папка C:\inetpub\wwwroot. Именно сюда копируют весь каталог с файлами от созданного сайта. Хотя отметим: этот вариант подходит для простых порталов. А для более сложных ресурсов с динамическими страницами правильнее создать виртуальный каталог: все файлы лежат на жестком диске в удобном для вас месте, но будто бы в том самом разделе C:\inetpub\wwwroot.
Впрочем, о тонкой настройке IIS лучше говорить отдельно. Потому кратко опишем пару важных моментов отладки веб-сервера: про добавление пакетов языка PHP и системы управления базами данных MySQL.
Установка PHP
- Скачайте архив требуемой версии PHP и распакуйте в С:\php. Затем нужно скачать и установить PHP Manager for IIS (при инсталляции в каждом окне нажмите на «Next»).
- В «Диспетчере служб IIS» появится пункт «Администратор PHP», по клику откроется окно, где надо выбирать «Register new PHP version». Для этого в новом окне укажите путь к папке С:\php и файлу php-cgi.exe.
- Проверьте работу PHP, нажав на «Check phpinfo()». Если тестовая страница выдает ошибку «500», скачайте с сайта Microsoft и установите актуальный для веб-сервера пакет Visual C++, а затем повторите «чек».
Установка MySQL
- Скачайте и запустите инсталляцию нужной версии MySQL. Подтвердите согласие с лицензионным соглашением кнопкой «Next», её же нажимайте и после выбора типа установки «Developer Default», а затем – «Execute».
- После проверки конфигурации и установки недостающих компонентов клик на «Next», «подпись» под лицензией и нажатие на «Execute». В новом окне появятся параметры сети – их оставьте по умолчанию.
- После этого в открывающихся окнах надо задать пароль root-пользователя и оставить базовые настройки – и после каждого раза та же кнопка «Next». Затем подключение к серверу MySQL, принятие всех настроек – и «Finish».
- Но настоящий финиш – открытие MySQL Workbench. В нем выберите пункт «Local instance MySQL», где надо ввести заданный пароль. Это открывает окно для управления созданным MySQL-сервером.
Еще в вопросе настройки IIS упомянем URLRewriter 2.0 (Модуль переопределения URL-адресов), но с его установкой все просто. Скачиваете его с сайта Microsoft, запускаете инсталляцию, соглашаясь с лицензией, и ждете окончания процесса – и потом кнопка «Готово».
Обобщая все вышесказанное, следует четко понимать: хотя работа с IIS не так сложна, запуск веб-сервера и тем более настройка под конкретный сайт требуют определенной квалификации. В силу этого сложно переоценить значение поддержки компании, где вы заказываете хостинг. Поэтому вам лучше обратиться в HostZealot! Ведь у нас не только выгодные условия, а и грамотные специалисты. С ними процесс как настройки, так и установки IIS не вызовет проблем!