Работа с консолью IIS. Установка и конфигурирование IIS Установка и настройка сервера iis


В этом документе описан процесс установки веб-сервера IIS и его настройки для обслуживания статического содержимого. Статическим содержимым является веб-страница (HTML), которая доставляется пользователю в том виде, в котором она хранится. И наоборот, динамическое содержимое формируется веб-приложением, таким как ASP.NET, классическим приложением ASP или приложением PHP. Статическое содержимое отображает одинаковые сведения для всех пользователей; динамическое содержимое может отображать сведения о конкретном пользователе, например имя пользователя.

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

  • Для повышения защищенности веб-сервера настройте фильтрацию запросов. Инструкции см. в статье .
  • Открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Находим в списке раздел «Службы IIS». Раскрываем его и выбираем нужные компоненты:

    Устанавливаем компоненты веб-сервера

    Базовый набор:
    Безопасность. Выбираем все компоненты, кроме «Проверка подлинности с сопоставлением сертификата …».
    Компоненты разработки приложений. В принципе, нужна только компонента CGI для последующей установки PHP.
    Общие функции HTTP. Отмечаем все пункты.
    Проверка работоспособности и диагностика. Выбираем «Ведение журнала HTTP» и «Монитор запросов».
    Функции повышения быстродействия. Отмечаем все пункты.
    Средства управления веб-сайтом. Отмечаем только «Консоль управления IIS».

    Когда все пункты выбраны, нажимаем «Ок». Когда установка закончена, надо обязательно перезагрузиться!
    Теперь переходим к созданию веб-сайта. Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (можно быстрее: меню Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). В открывшемся окне раскрываем группу «Службы и приложения» и открываем «Диспетчер служб IIS». В окне «Подключения» выбираем папку «Сайты», потом в правом окне Действия нажимаем на ссылку «Добавить веб-сайт».

    Тестируем созданный сайт
    И, наконец. Чтобы сайт был доступен извне, необходимо открыть 80-й порт для входящих соединений. Сделаем это на примере штатного брандмауэра Windows 7:
    Откройте Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры. В списке необходимо включить правило Службы Интернета (входящий трафик HTTP):

    Открываем 80-й порт в брандмауэре Windows
    В этом режиме базовой установки, веб-сервер может отображать только статические страницы (обычный HTML + JavaScript). Расширение его возможности – установка поддержки ASP, ASP.NET или PHP. Дальше расскажем об установке PHP на IIS в режиме FastCGI.

    Установка PHP (FastCGI)

    Оптимальный веб-сервер для PHP - это Apache, но бывают случаи, когда требуется установить PHP на IIS. В последнее время разработчиками была проделана большая работа, чтобы увеличить производительность PHP на IIS.
    Перед установкой необходимо скачать релиз PHP с сайта http://windows.php.net/download/ . Там есть несколько вариантов. Нам нужен релиз VC9 x86 Non Thread Safe. Для работы в режиме FastCGI это самый надежный вариант. Лучше скачивать релиз с установщиком (installer), а не zip-архив (это для ручной установки).
    Дальше запускаем установщик. После нескольких окон вам предложат выбрать веб-сервер и режим работы PHP.

    Сегодня мы с Вами научимся устанавливать веб сервер IIS в операционной системе Windows Server 2016 нескольким способами, а именно с помощью графического инструмента и, конечно же, с помощью Windows PowerShell.

    Что такое IIS 10?

    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

    Открываем диспетчер серверов «Пуск ->Диспетчер серверов ».

    Затем запускаем «Мастер добавления ролей и компонентов », меню «Управление ->Добавить роли и компоненты ».


    Шаг 3

    Потом выбираем тип установки «Установка ролей или компонентов », жмем «Далее ».


    Шаг 4

    Затем выбираем целевой сервер и жмем «Далее ».


    Шаг 5

    На шаге выбора ролей отмечаем роль «Веб-сервер (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>Тестовый сайт

    Затем открываем «Диспетчер служб 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 и на этом у меня все, пока!

    Чтобы все заработало, нужно сделать следующее:

    1. Установить модуль IIS.

    1.1. Панель управления - Программы и компоненты - Включение или отключения компонентов Windows

    1.2. Проставляем галочки:

    - "Внедряемое веб-ядро службы IIS",

    В разделе "Службы IIS" - "Компоненты разработки приложений" ставим галки "Расширение ISAPI" и "Фильтры ISAPI"

    В разделе "Службы IIS" -"Средства управления веб-сайтом" ставим галку "Консоль управления IIS"

    После чего жмем ОК и ждем, пока все скачается и установится. По данному пункту хотел еще пояснить, что проставлены необходимые для работы 1С компоненты, ничего кроме этого мне не понадобилось пока. Данный набор ставил и на WIN 7 и на WIN10

    2. Первоначальная настройка IIS.

    2.1. Дать доступ службе IIS к:

    Каталог сайтов(C:\inetpub),

    Платформа1С (C:\Program Files (x86)\1cv8),

    База1С тут точного пути, нет у каждого он свой.

    Для этого на каждой из папок клацаем правой кнопкой мыши Свойство-Безопасность - Изменить - Добавить -IIS_IUSRS; IUSR и проставить галочки полного доступа. После нажатия на ОК могут появиться ошибки "Отказ в доступе" нажимайте "Продолжить" и все.

    2.2. Разрешить IIS работать с 32 битными приложениями.(Этот пункт нужен если у вас WIN 64-битная а 1C 32-битная, поэтому почти всем) Заходим Панель управления - Администрирование -Диспетчер служб IIS,

    в открывшемся окне открываем раздел "Пулы приложений" в правом окне находим пул "DefaultAppPool", правой кнопкой мыши - Дополнительные параметры, ну и в открывшемся окне меняем "Разрешены 32-разрядные приложения" в значение "True" а так же проверьте "Версия среды.NET Framework" чтобы стояла либо "v2.0" либо "Без управляемого кода" (разнице не видел а вот v4.0 - не стоит так как будет проблема в формировании отчетов)

    3. Публикация базы данных

    3.1. Установка платформы обязательно с установленной галочкой "Модуль расширения веб-сервера"

    3.2. Запускаем 1С под правами администратора в режиме Конфигуратор - Администрирование - Публикация на веб-сервере.

    И все, больше ничего не нужно.

    Есть один совет: Если база будет доступна через 1С, нелишнее для обеспечения дополнительной безопасности опубликовывать её с именем, которое будет ничего не значить. Лучше вообще случайным набором букв и цифр (qAdsfslj- например), пользователи, даже если работают через браузер, заходят по ссылке, а вам дополнительное спокойствие, но при таком подходе есть минус, если снял базу с публикации, например, для обновления, то имя будет меняться на наименование папки базы данных, и если не сохранил где-то это имя, то начинаешь искать эту ссылку, и ладно, если баз одна -две, а если их несколько десятков, то можно и перепутать. Попав пару раз, сделал следующим образом "D:\Bases1C\Buh\qAdsfslj" - где "Buh"-название понятное для меня а вот "qAdsfslj"- имя базы при публикации.

    Если после установки и настройки IIS + 1C 8.3 (на АПАЧе все работало) внутри локальной сети все хорошо, а при входе через интернет вроде все хорошо, но при формировании табличного документа происходят странные вещи, вместо значков группировок отчета выходит "разорванный листочек", и выделить ячейку в отчете не получается (хотя при двойном нажатии расшифровки работают), а еще на экране нет картинок и штрихкодов в табличном документе (отчете) но если этот же отчет сохранить в эксель или распечатать, все выходит как надо. Значит, вы "попали" так же как и я (искал решение очень долго, почему и пишу данную статью).

    Перепробовал все предложенные варианты настроек в интернете, не помогло, сменил Windows (7,10, 2008), компьютер, версии 1C и IIS (7.0, 7.5, 10) не помогает. При этом нужно учесть еще и такой момент что в этой же сети уже работает один сервер IIS+1С и там все работает как надо.

    А дело было в том, что после того, как я запускал сервер, я тут же делал проброс порта через роутер наружу и поскольку уже имелся сервер работающий по 80 порту, пробрасывал на альтернативный (444, 98, 90, и тд. переустановок было много). и получал печальный результат. А нужно было сначала сделать прямой проброс 80-80 зайти в 1С через Интернет. а после можно менять порт на любой. Вариант был проверен неоднократно.

    Буду рад, если кому-то поможет, и не позволит потерять очень много времени и нервов.

    ИТ-поддержка

    Настройка веб-публикации 1С, подключение кассового оборудования

    1. Настройка веб-сервера в IIS

    Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

    • Общие функции HTTP (Common HTTP Features)
      • Статическое содержимое (Static Content)
      • Документ по умолчанию (Default Document)
      • Обзор каталогов (Directory Browsing)
      • Ошибки HTTP (HTTP Errors)
    • Разработка приложений (Application Development)
      • ASP.NET 3.5
      • Расширяемость.NET 3.5 (.NET Extensibility 3.5)
      • Расширения ISAPI (ISAPI Extensions)
      • Фильтры ISAPI (ISAPI Filters)
    • Исправление и диагностика (Health and Diagnostics)
      • Ведение журнала HTTP (HTTP Logging)
      • Монитор запросов (Request Monitor)
    • Средства управления (Management Tools)
      • Консоль управления IIS (IIS Management Console)

    2. Публикации базы в 1С

    На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты), обязательно выбрав при установке компоненты:

    • 1С:Предприятие
    • Модули расширения веб-сервера

    Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

    • Модуль расширения веб-сервера


    Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по-умолчанию: C:\inetpub\wwwroot\ ), необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

    В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Полный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК» .


    Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по-умолчанию: C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS . Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того, чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names), необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).


    Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК» .


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


    Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» - «Публикация на веб-сервере…»


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

    • Имя виртуального каталога - имя, по которому будет происходить обращение к базе данных на веб-сервере. Может состоять только из символов латинского алфавита.
    • Веб-сервер - выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
    • Каталог - физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
    • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов, которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
    • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

    Выбрав необходимые настройки публикации, нажимаем «Опубликовать» .


    Если публикация прошла без ошибок, увидим соответствующее сообщение.

    2.3 Подключение к опубликованной информационной базе через веб-браузер


    К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80 - по внешнему) IP-адресу.

    3. Создание бесплатного SSL-сертификата Let’s Encrypt на IIS

    Наличие SSL-сертификата для сайта позволяет защитить данные пользователей, передаваемые по сети от атак человек-посередине (man-in-the-middle) и гарантировать целостность переданных данных.

    Let’s Encrypt – это некоммерческий центр сертификации, позволяющий в автоматическом режиме через API выпускать бесплатные SSL/TLS сертификаты. Выдаются только сертификаты для валидации доменов (domain validation) со сроком действия 90 дней, что не является проблемой из-за наличия встроенной возможности автоматического перевыпуска сертификата, в результате чего обеспечивается непрерывность защиты.

    Далее описан способ получить SSL-сертификат от Let’s Encrypt при помощи консольной утилиты LetsEncrypt-Win-Simple . Она представляет собой простой мастер, который позволяет выбрать один из сайтов, запущенных на IIS и автоматически выпустить и привязать к нему SSL-сертификат.

    3.1 Создание SSL-сертификата

    Скачиваем последний релиз клиента со страницы проекта на GitHub https://github.com/PKISharp/win-acme/releases

    Распакуем его в каталог на сервере с IIS: c:\inetpub\letsencrypt


    Запустится интерактивный мастер, который сначала попросит указать ваш e-mail, на который будут отправляться уведомления о проблемах с обновлением сертификата, и согласиться с пользовательским соглашением.


    Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificate ) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site .


    Следующий этап – выполнение валидации домена. Доступно несколько вариантов валидации: TLS, через запись в DNS или через HTTP). Самый простой вариант - выбрать пункт 4 Create temporary application in IIS (recommended) . В этом случае на веб-сервере будет создано небольшое приложение, через которое серверы Let’s Encrypt смогут провести валидацию.


    Примечание. При выполнении TLS/HTTP проверки ваш сайт должен быть доступен снаружи по полному DNS имени по протоколам HTTP (80/TCP) и HTTPS (443/TCP).

    После валидации утилита letsencrypt-win-simple автоматически отправит запрос на генерацию сертификата, скачает его (все необходимые файлы, а также закрытый ключ сохраняются в каталог C:\Users\User\AppData\Roaming\letsencrypt-win-simple) и создаст привязку на сайте IIS. В том случае, если на сайте уже установлен SSL-сертификат, он будет заменен новым. Кроме того, будет создано правило в планировщике заданий Windows, которое запускается каждый день и автоматически выпускает и устанавливает новый сертификат каждые 60 дней.

    3.2 Создание отдельного пула и сайта с подключенным с SSL-сертификатом.

    Создаем отдельный пул в IIS для letsencrypt



    Добавляем сайт в новый пул. Порт указываем 443 (или другой на который позже сделаем проброс на 443 порт).

    Указать новый сертификат в «Сертификаты SSL»:


    Настроить привязку к нашему сайту:



    Проверяем.


    4. Подключение кассового оборудования. Проброс COM-портов через TCP/IP с помощью Virtual Serial Ports Emulator (VSPE).

    4.1 Настройка VSPE на сервере

    Запустить программу VSPE. Нажать на кнопку «Создать новое устройство».


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

    В открывшемся окне в выпадающем меню выбрать TcpServer . Нажать кнопку «Далее» .


    Установить локальный номер tcp-порта, который будет прослушиваться. Выбрать COM-порт, к которому подключено оборудование через преобразователь интерфейсов. Нажать на кнопку «Настройки» .