Iis задание разрешений для веб сервера

Содержание

Развертывание веб-сайта с помощью IIS

ASP.NET — Веб-сайты ASP.NET — Развертывание веб-сайта с помощью IIS

После того как IIS 8 запущен, и вы научились им управлять, можно приступать к развертыванию веб-сайтов. В простейшем случае развертывание веб-приложений ASP.NET сводится к копированию структуры каталогов приложения на целевой компьютер и настройке среды. Для простых приложений это почти всегда так. Однако если приложение использует базы данных или обращается к другим ресурсам, придется выполнить ряд дополнительных шагов. Ниже перечислены обычные факторы, требующие дополнительных действий по конфигурированию:

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

Создайте и сконфигурируйте базу данных для приложения. Важно не только создать базу данных и ее таблицы, но и настроить учетные записи для входа на сервер базы данных и пользователей базы данных. Не забывайте, что в случае применения встроенной аутентификации для подключения к базе данных SQL Server учетную запись, под которой выполняется ASP.NET (учетная запись пула приложений или учетная запись aspnet_wp.exe), потребуется сконфигурировать в качестве пользователя базы данных приложения. Подход веб-развертывания может упростить развертывание базы данных. Если же применяется другой подход, конфигурирование и заполнение баз данных придется выполнить вручную.

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

Установите права учетной записи Windows для пользователя рабочего процесса. Пользователь, от имени которого запускается рабочий процесс (w3wp.exe), нуждается в доступе для чтения к каталогам приложения. Если приложение обращается к другим ресурсам, например, к системному реестру или к журналу событий, для учетной записи рабочего процесса понадобится сконфигурировать разрешение на доступ к этим ресурсам.

Если требуется обрабатывать любые URL-адреса с расширениями имен файлов, которые отличаются от расширений, зарегистрированных при установке ASP.NET по умолчанию, добавьте отображения файлов IIS.

Сконфигурируйте ASP.NET (и настройки IIS 8.0, специфичные для приложения) в файле web.config для производственных сред. Другими словами, добавьте (или модифицируйте) любые нужные строки соединения и параметры настройки приложения, а также параметры безопасности и авторизации, параметры настройки состояния сеанса и параметры настройки глобализации.

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

Основная задача связана с развертыванием содержимого приложения на сервере IIS 8. В этой статье предполагается наличие у вас прав администратора и вход в систему сервера от имени учетной записи администратора. Если используется разделяемый сервер или поставщик услуг хостинга, то поставщик пришлет сведения об учетной записи, которая должна применяться при развертывании веб-сайта. Для простоты мы будем считать, что работа выполняется с учетной записью администратора, но при управлении собственным сервером следует подумать об использовании менее привилегированной учетной записи.

Развертывание посредством копирования файлов

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

Подготовка IIS

Прежде чем развертывать веб-сайт, нужно подготовить IIS. Главное решение, которое нужно принять, касается места размещения содержимого и его влияния на конечный URL-адрес. Начнем с очевидного подхода — предположим, что необходимо, чтобы URL-адрес для содержимого данного примера был следующим:

IIS нужно подготовить так, чтобы было куда скопировать наш файл. В IIS Manager выберите элемент Default Web Site. Как следует из его имени, это сайт по умолчанию на сервере. Щелкните на нем правой кнопкой мыши и в контекстном меню выберите пункт Explore (Проводник), чтобы отрыть окно проводника Windows для заданного по умолчанию каталога IIS, которым является inetpub\wwwroot на системном томе (как правило, C:\).

Создайте каталог WebsiteDeployment, а в нем — каталог FileCopy (чтобы обеспечить существование пути inetpub\wwwroot\WebsiteDeployment\FileCopy). Закройте окно проводника, чтобы вернуться в IIS Manager. Щелкните правой кнопкой на записи Default Web Site и в контекстном меню выберите пункт Refresh (Обновить), чтобы увидеть новый каталог.

Веб-сайт

Для демонстрации этой методики развертывания мы создали очень простой веб-сайт. Исходный код содержит единственную форму ASP.NET с одной меткой:

В коде этой формы определен текст метки, отображающей версию .NET Framework, которая используется для обслуживания данного сайта:

Развертывание веб-сайта

При использовании этой методики развертывания нужно просто скопировать файлы в созданный каталог. Переместите файлы веб-сайта на сервер любым подходящим способом — посредством общего сетевого диска, съемного диска USB и т.п. — и скопируйте файлы Default.aspx и Default.aspx.cs в каталог FileCopy, созданный на сервере.

Когда файлы будут скопированы, вернитесь в окно IIS Manager на сервере, щелкните правой кнопкой на папке FileCopy в древовидном представлении и в контекстном меню выберите пункт Refresh. В нижней части экрана щелкните на кнопке Content View (Просмотр содержимого). В центральной части окна должны отобразиться два файла веб-сайта, как показано на рисунке ниже:

В этом состоит наиболее важная часть этой технологии развертывания — вначале должна быть создана структура каталогов, которая представляет необходимый URL-адрес, а затем в готовые каталоги копируются файлы веб-сайта. Посмотрим, как это выглядит на практике. Для этого выберите FileCopy в IIS Manager и щелкните на ссылке Browse (Обзор) в правой части окна. Откроется веб-браузер с загруженным URL-адресом созданной папки. Окно браузера должно выглядеть подобно показанному на рисунке ниже:

Взглянув на URL-адрес адрес, можно удостовериться в том, что был получен желаемый результат. Браузер загрузил веб-сайт из следующего адреса:

Вспомните, что localhost — это специальное имя, обозначающее текущий компьютер, а URL-адрес, в котором не указан порт, будет использовать порт 80. (В моем случае я переместил сайт на порт 8080 по причинам, указанным в предыдущей статье). Можете проверить это, направив браузер по следующему URL-адресу:

Результат будет полностью аналогичен предыдущему (professorweb в данном случае имя сервера).

Конфигурирование развертывания

Возможно, вы обратили внимание, что версией .NET Framework, о которой сообщается на рисунке выше является 4. Чтобы изменить целевую версию .NET Framework понадобится изменить параметры настойки используемого по умолчанию пула приложений. Пока не задумывайтесь о том, что собой представляют пулы приложений — они будут подробно рассматриваться позже.

В окне IIS Manager разверните элемент сервера и щелкните на элементе Application Pools (Пулы приложений). Щелкните на ссылке Set Application Pool Defaults (Определить значения по умолчанию для пула приложений) в правой части окна. В открывшемся диалоговом окне Application Pool Defaults (Значения по умолчанию для пула приложений) измените значение настройки .NET Framework Version (Версия среды .NET Framework) на необходимую:

Вернитесь в браузер и перезагрузите страницу.

IIS понадобится также указать, что развернутый сайт является приложением. Это не обязательно, но при развертывании приложений ASP.NET почти всегда будет желательным — активизируется состояние сеанса и другие функциональные средства ASP.NET. Щелкните правой кнопкой мыши на папке FileCopy в области Connections (Подключения) и в контекстном меню выберите пункт Convert to Application (Преобразовать в приложение), как показано на рисунке ниже:

Откроется диалоговое окно Add Application (Добавление приложения). Используемый пул приложений можно изменить, щелкнув на кнопке Select (Выбрать). Настроить учетную запись пользователя, которую IIS будет применять для доступа к содержимому сайта, можно с помощью кнопок Connect as. (Подкл. как. ) и Test Settings. (Тест настроек. ). Пока что просто щелкните на кнопке ОК. Возможно, придется выбрать пункт Refresh (Обновить) в меню View (Вид) (или, как это часто имеет место, закрыть и снова открыть IIS Manager), но теперь значок записи FileCopy в древовидном представлении должен измениться.

Развертывание с помощью Visual Studio

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

Вы можете создавать виртуальный каталог при создании нового проекта.

Вы можете использовать функцию Copy Web Site (Копировать веб-сайт) для передачи существующего веб-сайта в виртуальный каталог.

Вы можете использовать функцию Publish Web Site чтобы скомпилировать свой ​​сайт и передать его по новому адресу.

Создание виртуального каталога для нового веб-сайта

При создании веб-сайта в Visual Studio, вы можете одновременно создать виртуальный каталог для этого веб-сайта. Если вы сделаете это, Visual Studio не будет использовать встроенный тестовый сервер IIS Express. Вместо этого, все ваши запросы будут обрабатываться полной версией IIS.

Для создания виртуального каталога IIS сначала необходимо запустить Visual Studio с правами администратора. Затем выберите пункт меню File New Web Site и в открывшемся диалоговом окне «New Web Site» выберите HTTP для расположения сайта (вместо файловой системы). Вы можете вставить строку URL. Например, если вы укажете http://localhost/MyWebSite, Visual Studio создаст каталог MyWebSite в виртуальном каталоге C:\Inetpub\Wwwroot используемым по умолчанию:

Такой подход не является лучшим т.к. вы не сможете настроить некоторые параметры, такие как страницы по умолчанию, пользовательские ошибки и т.п. Вместо создания нового виртуального каталога с помощью Visual Studio лучше будет выбрать существующий каталог IIS, который в свою очередь можно сконфигурировать с помощью IIS Manager. Для этого щелкните по кнопке Browse (Обзор) и выберите нужный виртуальный каталог:

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

Копирование веб-сайта

Visual Studio также включает в себя быстрый и простой способ для передачи файлов веб-приложения. Вам просто нужно выбрать в меню WebSite Copy Web Site. Откроется новое диалоговое окно Visual Studio, которое покажется знакомым любому, кто имел дело с различными IDE-программами для работы с сайтами, такими как Dreamweaver или Expression Web:

Это окно состоит из двух списков файлов. Слева находятся файлы в текущем проекте (на локальном жестком диске). Справа находятся файлы на целевом месте (удаленный веб-сервер). При первом открытии этого окна вы ничего не увидите справа, потому что вы не указали цель. Вы должны нажать кнопку Connect вверху, чтобы предоставить эту информацию. При этом Visual Studio откроет знакомое диалоговое окно, которое выглядит почти так же, как то, что вы видели при создании виртуального каталога для нового проекта. В этом окне вы можете выбрать одно из мест, куда нужно копировать веб-сайт:

File System

Это самый простой выбор — вы копируете файлы сайта внутри текущей файловой системы.

Local IIS

Позволяет выбирать виртуальные каталоги локального сервера IIS. Это удобно если сайт нужно будет разместить в другом каталоге.

FTP Site

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

Эта опция предлагает подключение к сайту по URL-адресу с использованием расширения FrontPage Extensions.

Как только вы выберите соответствующий пункт назначения, нажмите кнопку Open. Visual Studio попытается подключиться к удаленному сайт и получить список файлов.

Настройка связки IIS + PHP + MySQL + phpMyAdmin

Данное описание подходит для следующих редакций Windows 7: Профессиональная и Максимальная.

Установка веб-сервера IIS

Панель управления → Программы → Включение или отключение компонентов Windows. Находим в списке раздел — Службы IIS. Раскрываем его и выбираем нужные компоненты:

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

Когда все пункты выбраны, нажимаем Ок. После завершения установки обязательно перезагружаемся!

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

Далее в открывшемся окне необходимо указать имя веб-сайта и месторасположение его файлов (по умолчанию это c:\inetpub\wwwroot, если этот путь не указан по умолчанию, пропишите его вручную). Остальные опции оставляем без изменения.

Нажимаем OK. На этом базовая настройка завершена. Теперь нужно проверить работоспособность только что созданного сайта. Открываем браузер и в адресной строке вводим: http://localhost. Если все работает правильно, вы увидите похожую страницу:

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

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

Далее запускаем установщик. После нескольких не особо информативных окон нам предлагают выбрать веб-сервер и режим работы PHP:

Выбираем IIS FastCGI — сейчас это единственный стабильный вариант установки PHP на IIS.

Далее переходим к выбору компонентов PHP. Если установку PHP производите впервые, лучше оставить значения по умолчанию.

После завершения работы установщика, переходим к настройкам IIS. В принципе здесь надо сделать только одно действие — поднять приоритет php-файлов, чтобы они обрабатывались в первую очередь. Открываем опять диспетчер служб IIS — правый клик на Компьютер → в меню выбираем пункт «Управление», в левом окошке раскрываем «Службы и приложения» → «Диспетчер служб IIS». В окне правее «Подключения» нажимаем по названию нашего сайта и в среднем окне открываем (кликаем 2 раза) раздел «Документ по умолчанию».

Илон Маск рекомендует:  list - Присвоить переменным из списка значения подобно массиву

В появившемся списке необходимо переместить index.php в начало (т.е. в самый верх — для этого выделяем index.php и справа нажимаем «Вверх» ):

Если используется Windows 7 64-бит, необходимо произвести одно дополнительное действие. Откройте раздел «Пулы приложений» (в окне «Подключения»). Выделите DefaultAppPool и откройте «Дополнительные параметры» (через правый клик или в крайней правой колонке «Действия»). В разделе (Общие) необходимо найти опцию «Разрешить выполнение 32-битных приложений» (Enable 32-bit Applications) и установить в положение True. Если уже созданы дополнительные пулы для уже существующих сайтов, то для каждого из них нужно проделать ту же операцию.

Теперь необходимо провести тестирование PHP. В корневую папку веб-сайта (c:\inetpub\wwwroot) необходимо поместить файл index.php со следующим содержанием:

Открываем сайт в браузере (http://localhost). Если все работает правильно, вы увидите страницу с информацией об установке PHP:

Установка MySQL

Для Win 32 качаем: Windows (x86, 32-bit), MSI Installer
Для Win 64 качаем: Windows (x86, 64-bit), MSI Installer

После нажатия на кнопку Download вы увидите форму для регистрации, ее можно пропустить нажав на ссылку внизу (» No thanks, just start my download!).

Запускаем установщик, после нескольких не особо информативных окон нам предлагают выбрать тип установки, выбираем Custom:

Окно выбора компонентов (если вы новичок, оставляем все по умолчанию, жмем Next и устанавливаем):

В конце установки появится новое окно с вопросом о подписке, нажимаем крестик в верхнем правом углу.

Завершающий этап установки. Отмечаем опцию «Launch the MySQL Instance Configuration Wizard» (Запуск мастера конфигурации MySQL) и нажимаем Finish:

Настройка MySQL

После завершения установки запускается MySQL Server Instance Configuration Wizard (его можно запустить вручную из Компьютер → Program Files → MySQL → MySQL Server 5.5 → bin → MySQLInstanceConfig.exe). Нажимаем Next:

Далее выбираем пункт Detailed Configuration (расширенная настройка):

Выбираем сценарий установки: Developer Machine — для установки на домашний компьютер (наш выбор), Server Machine — для установки на сервер, Dedicated MySQL Server Machine — для установки на сервер полностью выделенный под MySQL. Эти опции влияют в первую очередь на объем потребляемой MySQL памяти:

MySQL поддерживает два основных типа БД (InnoDB — с поддержкой транзакций и MyISAM — без транзакций). Multifunctional Database — будет установлена поддержка БД обоих типов (наш выбор). Transactional Database Only — будет установлена поддержка только InnoDB. Non-Transactional Database Only — будет установлена поддержка только MyISAM.

Если на предыдущем этапе была выбрана поддержка InnoDB, здесь можно настроить расположение файлов данных InnoDB:

Поддержка одновременных соединений. Decision Support — до 20 одновременных соединений (наш выбор). Online Transaction Processing — до 500 соединений. Manual Setting — ручная установка количества соединений.

Отмечаем опции «Enable TCP/IP Networking» и «Enable Strict Mode». Port Number оставляем без изменений — 3306. Если к серверу планируются прямые подключения с других компьютеров, отмечаем опцию «Add firewall exception for this port» (открыть порт в брандмауэре windows).

Выбираем кодировку по умолчанию. Сейчас самый разумный выбор — это UTF-8. Выбираем опцию Best Support For Multilingualism:

Обязательно отмечаем опцию «Install As Windows Service» (запускать как службу Windows). Отмечаем «Launch the MySQL Server automatically», если нужен автозапуск службы.

Завершающий этап. Установка пароля администратора (root). Этот пароль лучше не терять! Опции «Enable root access from remote machines» и «Create An Anonymous Account» отмечать не рекомендуется, т.к. они снижают безопасность.

Далее нажимаем Next и Execute. На этом базовая настройка завершена.

Примечание: если вы до этого устанавливали MySQL, а потом удалили или переустановили, то на последнем этапе будет возникать ошибка 1045 (Connection Error). Чтобы этого не было, придется удалить MySQL, затем удалить скрытую папку MySQL находящуюся в C:\ProgramData (в этой папке находятся файлы информации о данных пользователя). После этого повторите процедуру установки и настройки.

Теперь осталось проверить успешно ли прошла установка. Открываем Пуск → Все программы → MySQL → MySql Server 5.5 → MySQL 5.5 Command Line Client (утилита для работы с MySQL в командной строке).

Далее вводим пароль администратора (root). Если пароль правильный, вы попадете в командную строку ( mysql> ). Введите команду: show databases; (точка с запятой на конце обязательны). В результате вы должны увидеть список баз данных (как минимум две — information_schema и mysql). Это означает, что сервер работает правильно. Закрываем командную строку выполнив команду exit.

Установка и базовая настройка phpMyAdmin

Открываем страницу загрузки http://www.phpmyadmin.net/home_page/downloads.php и выбираем для скачивания архив оканчивающийся на *all-languages.7z или *all-languages.zip. Создаем папку phpmyadmin в C:\inetpub\wwwroot\ и извлекаем туда файлы скаченного архива.

Проверим как оно работает. Открываем браузер и переходим по адресу http://localhost/phpmyadmin/. Должно открыться такое окно:

Прежде чем подключаться к MySQL необходимо создать конфигурационный файл.

Есть два варианта. Можно вручную отредактировать файл config.sample.inc.php и сохранить его как config.inc.php (оба файла в корне установки phpMyAdmin).

Или использовать графический конфигуратор. Для этого в браузере открываем следующий адрес: http://localhost/phpmyadmin/setup/

Если вы видите предупреждение «Невозможно загрузить или сохранить настройки». Создайте папку config в корне установки phpMyAdmin (это значит внутри папки phpmyadmin). Убедитесь, что в настройках безопасности папки config группе пользователей IIS_IUSRS и пользователю IUSR присвоены права полного доступа. Для тех кто не знает как это делается: правый клик на папку config → свойства → вкладка безопасность → нажимаем кнопку «Изменить…» → выделяем в списке IIS_IUSRS (. ) и ниже отмечаем галочкой «Полный доступ», нажимаем «Применить». Тоже самое делаем и для IUSR. Если такого пользователя в списке нет, нажимаем «Добавить» → Дополнительно… → Поиск → выбираем IUSR и нажимаем ОК, затем ставим ему полный доступ.

Возвращаемся к конфигуратору. Чтобы настроить параметры подключения к MySQL, нажимаем на кнопку «Новый сервер»:

Важнейший момент! Если вы подключаетесь к серверу MySQL установленному на той же машине (localhost), в графе «Хост сервера» localhost необходимо заменить на 127.0.0.1 (то же самое относится и к созданию config.inc.php вручную). Добавьте в файл C:\Windows\System32\drivers\etc\hosts строчку: 127.0.0.1 localhost. В этом же файле удалите или закомментируйте (поставить знак # в начале строки) строку ::1 localhost (если она изначально закомментирована, то не надо ничего с ней делать).

Сохраняем настройки и автоматически возвращаемся на предыдущую страницу. Здесь выбираем язык по умолчанию — Русский, сервер по умолчанию — 127.0.0.1, конец строки — Windows.

Публикация баз «1С:Предприятия» 8.3 на веб-сервере IIS в Microsoft Windows Server 2008/2012

В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» ( 8.1 и 8.2 ) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного , так и для 64-разрядного модуля расширения веб-сервера.

0. Оглавление

  1. Что понадобится
  2. Установка веб-сервера IIS
  3. Установка компонент «1С:Предприятие»
  4. Настройка операционной системы
  5. Публикация базы данных на веб-сервере
  6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
  7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
  8. Подключение к опубликованной информационной базе через веб-браузер
  9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
  10. Конфигурационные файлы виртуального каталога
    1. Файл default.vrd
    2. Файл web.config

1. Что понадобится

  1. Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
    • Microsoft Windows Server 2012 (R2)
    • Microsoft Windows Server 2008 (R2)
  2. Права локального администратора на данном компьютере.
  3. Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен.

2. Установка веб-сервера IIS

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

  • Общие функции HTTP (Common HTTP Features)
    • Статическое содержимое (Static Content)
    • Документ по умолчанию (Default Document)
    • Обзор каталогов (Directory Browsing)
    • Ошибки HTTP (HTTP Errors)
  • Разработка приложений (Application Development)
    • ASP
    • 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)

Подробно про процесс развертывания веб-сервера IIS я писал:

  • В Microsoft Windows Server 2012 (R2) — здесь. IIS версии 8, после установки должны увидеть страницу Default Web Site вида:
  • В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:

3. Установка компонент «1С:Предприятие»

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

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

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

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

4. Настройка операционной системы

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

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

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

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

Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить» (Apply) для сохранения изменений.

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

5. Публикация базы данных на веб-сервере

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

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

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

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

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

Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool — без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже

6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера

Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию —Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).

В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).

В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».

7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера

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

Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию —Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.

В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:Program Files (x86)1cv88.3.4.389binwsisapi.dll» на «C:Program Files1cv88.3.4.389binwsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.

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

Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/ . В данном примере это http://localhost/DemoAccounting/.

Илон Маск рекомендует:  Что такое код dba_insert

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

В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.

9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»

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

В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».

Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере» и нажмем «Далее».

Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».

Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.

После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие». Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.

10. Конфигурационные файлы виртуального каталога

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

Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:

  • default.vrd
  • web.config

Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.

10.1. Файл default.vrd

В файле default.vrd описываются опубликованные Web-сервисы (элемент ), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:

Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.

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

Для серверной информационной базы строка подключения будет иметь вид:

Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.

Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.

10.2. Файл web.config

Файл web.config — это файл, определяющий параметры для ASP.NET web-приложения. В каждом web-приложении должен быть файл web.config, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll, расположенной в каталоге bin, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».

Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).

В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).

При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.

Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).

Настройка работы веб-клиента на IIS сервер

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

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

Тем не менее, встроенный веб-сервер содержит некоторые ограничения, и в ряде случаев существует необходимость использовать IIS (Internet Information Services) сервер, который является стандартным компонетом Windows и может быть быстро установлен и гибко настроен.

IIS сервер рекомендуется использовать в следующих случаях:

  • Количество пользователей, работающих с системой документооборота, больше 100.
  • Необходимо более гибкое управление ресурсами (Dashboard).
  • Канал связи между сервером и клиентом должен быть защищен по протоколу SSL.

Важно: При работе на WebXSP больше 100 пользователей наблюдается повышенное потребление памяти, его работа замедляется, что может привести к значительным неудобствам. IIS эффективнее взаимодействует с памятью, имеет расширенные средства управления и возможность диагностики загрузки сервера. Также существует возможность настроить шифрованное SSL соединение между браузером и сервером документооборота, что делает соединение таким же защищенным и надежным, как и при использовании десктоп приложения рабочего места (программы FossDoc Client).

В этой статье будут рассмотрены процессы настройки сервера IIS и замены им WebXSP сервера, входящего в стандартную поставку СЭД FossDoc.

Настройка IIS Сервера

Первое, что необходимо сделать, это остановить модуль «Web Server» в панели администрирования FossDoc.

Далее нужно убедиться, что в памяти компьютера нет процесса Mono.WebServer.XSP.

После того, как модуль был остановлен, и вы убедились, что поцесса Mono.WebServer.XSP нет в памяти, необходимо установить IIS (в некоторых случаях он уже может быть установлен в системе). Для этого нужно зайти в Панель управления/Программы и компонеты/Включение и отключение Компонентов Windows, выбрать компонент Службы IIS и подтвердить установку.

Также необходимо установить некоторые компоненты разработки приложений ASP.NET. Для этого потребуется выбрать следующие элементы:

Остальные зависимости проставятся автоматически.

Когда установка компонентов завершится, запустите диспетчер служб IIS: Панель управления/Администрирование/Internet Information Services. В открывшемся окне в дереве необходимо расхлопнуть иерархию Сайты, вызвать контекстное меню на пункте Default website (сайт по умолчанию) и выполнить Удалить.

Затем создайте новый сайт (выполните Добавить веб-сайт из контекстного меню иерархии Сайты.

Появится окно добавления нового веб-сайта, в котором нужно ввести следующие параметры:

  • Имя сайта.
  • В выпадающем меню Аplication Pool необходимо выбрать .NET 4.5, который до этого был установлен в компонентах Windows.
  • Физический путь C:/Program Files x86/FOSS/Aplication Server/Instances/Web/Webserver/.
  • Порт (опционально).
  • Тип соединения (опционально).
  • Снять галочку Запустить веб-сайт сейчас.

В завершение необходимо дать группе пользователей ISS необходимые права для работы с файлами веб-сервера.

И запустить сервер.

Важно: По умолчанию IIS не имеет разрешений для работы в системной директории, и если для группы пользователей IIS не настроить права доступа, то попытка запуска сервера приведет к ошибке!

Обновление веб-сервера

При обновлении версии сервера FossDoc модуль веб-клиент может не обновиться, так как он был остановлен при настройке IIS (одновременная работа IIS и встроенного сервера WebXSP невозможна).

Для его обновления необходимо обновить папку веб-клиента вручную или произвести следующие действия:

  • Остановить IIS.
  • Обновить FossDoc.
  • Включить модуль «Web Server» в программе администрирования FossDoc, чтобы он обновил файлы веб-клиента.
  • Отключить модуль «Web Server».
  • Запустить IIS.

Установка веб-сервера IIS 8 в Windows Server 2012 R2

Веб-сервер представляет собой некоторую программу (службу), принимающую HTTP- запросы от клиентов, обычно от веб-браузеров, обрабатывающую данные запросы и выдающую им ответ, как правило, вместе с HTLM-страницей (сайтом), изображением, файлом, медиа-потоком или другими данными. Ниже подробно рассмотрим процесс установки подобной службы, а именно веб-сервера IIS 8 (Internet Information Server) входящего в поставку Microsoft Windows Server 2012 R2.

0. Оглавление

1. Установка веб-сервера IIS

Запускаем Диспетчер серверов (Server Manager). Его можно запустить с ярлыка на панели задач, или же выполнив команду servermanager.exe (Для этого необходимо нажать комбинацию клавиш Win + R, в появившемся окне в поле «Открыть» (Open) написать имя команды и нажать «ОК» ).

В диспетчере серверов, в меню, расположенном в правом верхнем углу окна, выберем «Управление» (Manage) — «Добавить роли и компоненты» (Add Roles and Features)

Запустится Мастер добавления ролей и компонентов (Add Roles and Features Wizard). Нажимаем «Далее» (Next) на стартовой странице.

Тип установки (Installation Type) отмечаем «Установка ролей или компонентов» (Role-based or feature-based installation) и нажимаем «Далее» (Next).

Выбираем текущий сервер из пула серверов (Select a server from the server pool) и снова жмем «Далее» (Next).

На следующем шаге выбираем роль, которую необходимо установить. В нашем случае это роль «Веб-сервер (IIS)» (Web Server). Отмечаем ее в списке.

При этом мастер предложит нам добавить компоненты, необходимые для Веб-сервера, а именно «Консоль управления службами IIS» (IIS Management Console). Соглашаемся на установку дополнительных компонент нажав «Добавить компоненты» (Add Features) и жмем «Далее» (Next).

Оставляя список компонент без изменений нажимаем «Далее» (Next).

Ознакомившись с информацией о роли веб-сервера снова жмем «Далее» (Next).

Затем необходимо выбрать службы ролей, которые будут установлены для веб-сервера. Этот набор зависит от конкретных задач, которые будет выполнять сервер IIS.

  • Общие функции HTTP (Common HTTP Features)
    • Статическое содержимое (Static Content)
    • Документ по умолчанию (Default Document)
    • Обзор каталогов (Directory Browsing)
    • Ошибки HTTP (HTTP Errors)
  • Разработка приложений (Application Development)
    • ASP
    • 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)

Для установки FTP-сервера требуются компоненты:

  • FTP-Сервер (FTP Server)
    • Служба FTP (FTP Service)
    • Расширяемость FTP (FTP Extensibility)

и т. д. Если выделить службу в списке, слева доступно ее краткое описание. Выбрав необходимые службы ролей жмем «Далее» (Next).

Устанавливаем флаг «Автоматический перезапуск конечного сервера, если требуется» (Restart the destination server automatically if required) если перезагрузка не помешает работе других пользователей и жмем «Установить» (Install) для начала установки указанных в списке служб.

Дожидаемся завершения установки веб-сервера (может произойти перезагрузка сервера) и нажимаем «Закрыть» (Close) для завершения работы мастера.

Возвращаемся в диспетчер серверов, в меню «Средства» (Tools) выбираем появившейся там пункт «Диспетчер служб IIS» (Internet Information Services).

В запустившемся Диспетчере служб IIS, в окне подключений (Connections) увидим только что установленные веб-сервер (соответствует сетевому имени компьютера) а также один веб-сайт, добавленный по умолчанию, с названием Default Web Site.

Данный сайт представляет одну веб-страницу с приветствием на различных языках и откликается на все запросы к данному веб-серверу по 80-му порту. Чтобы просмотреть его, достаточно запустить веб-браузер, например Internet Explorer, и ввести в строку адреса http://localhost.

Также этот сайт можно просмотреть с любого другого компьютера в сети, забив в строку адресе IP компьютера где установлен веб-сервер IIS.

Файлы этого сайта, как и файлы всех других добавленных позже сайтов по умолчанию располагаются в каталоге C:\interpub\wwwroot.

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

2. Перезапуск сервера IIS

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

так и из командной строки, выполнив команду

  • параметр /noforce необязателен и используется для защиты от потери данных в случае, когда службы IIS не могут быть остановлены в течение одноминутного периода ожидания.
  • параметр также необязателен при работе на локальном компьютере. В случае удаленного администрирования сервера IIS в качестве параметра указывается имя NetBIOS компьютера, на котором выполняется перезапуск IIS.

При перезапуске веб сервера IIS происходит перезапуск следующих служб (если они устанавливались при установке компонент IIS):

Служба Описание
Служба IIS Admin Эта служба управляет всеми службами IIS, кроме службы WWW (FTP, NMTP и SMTP).
Служба WWW Эта служба обеспечивает подключения клиентов к веб-узлам.
Служба HTTP SSL Эта служба обеспечивает безопасные подключения клиентов к веб-узлам.
Служба FTP Эта служба обеспечивает FTP-подключения и администрирование в диспетчере IIS.
Служба SMTP Эта служба обеспечивает передачу электронной почты по сети.
Служба NNTP Эта служба обеспечивает передачу электронных новостей по сети.

Смотрите также:

Ниже приведена небольшая инструкция об изменении политики паролей в Microsoft Windows Server 2012 R2. По умолчанию политика паролей определена таким образом, что все пароли учетных записей пользователей должны удовлетворять следующим…

В данной статье я расскажу как добавить разрешающее правило в Брандмауэр Windows Server 2012 R2 (в Windows Server 2008 R2 действия аналогичны). Правило будем добавлять на примере работы сервера 1С:Предприятие…

Ниже будет подробно рассказано как установить Microsoft .NET Framework 3.5 на локальный сервер под управлением Windows Server 2012, так как в этой ОС не получится установить Microsoft .NET Framework 3.5 через обычный инсталлятор, как на…

Инструкция как настроить веб-сервера IIS + PHP + MySQL на локальном Windows 7

Будьте всегда в курсе, подпишитесь:

Установка веб-сервера IIS

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

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

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

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

Создаем новый веб-сайт (1)

Затем надо указать имя веб-сайта и месторасположение его файлов (по умолчанию c:\inetpub\wwwroot). Остальные опции – без изменения.

Создаем новый веб-сайт (2)
Нажимаем «OK». На этом базовая настройка завершена. Необходимо проверить работоспособность созданного сайта. Открываем браузер и в адресной строке вводим: http://localhost. Если все работает правильно, вы увидите подобную страницу:

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

Илон Маск рекомендует:  Что такое Google Doodle. Красивые дудлы (логотипы гугла)

Открываем 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:

IISFastCGI — это самый стабильный вариант установки PHP на IIS.
Потом выбираем компонеты PHP. Если установка PHP производится первый раз, лучше оставить значения по умолчанию.
После завершения работы установщика, переходим к настройкам IIS. Надо сделать только одно действие — поднять приоритет php-файлов, чтобы они обрабатывались в первую очередь. В диспетчере служб IIS нажимаем на название нашего сайта и в окне справа выбираем раздел «Документ по умолчанию». В появившемся списке необходимо переместить index.php в начало:

Установка PHP (2)
Информация пользователям Windows 7 64-бит! Вам придется произвести дополнительное действие. Откройте раздел «Пулы приложений». Выделите DefaultAppPool и откройте «Дополнительные параметры» (через правый клик или в крайней правой колонке). В разделе «Общие» необходимо найти опцию «Разрешить выполнение 32-битных приложений» (Enable 32-bit Applications) и установить в положение True. Если были созданы дополнительные пулы для существующих сайтов, то для каждого из них придется проделать ту же операцию.
Дальше проводим тестирование PHP. В корневую папку веб-сайта (c:\inetpub\wwwroot) помещаем файл index.php с таким содержанием:

Открываем сайт в браузере (http://localhost). Если загрузилось правильно, вы увидите страницу с информацией об установке PHP:

Тестируем PHP

Установка MySQL

Инструкция по установке MySQL на Windows вынесена в отдельную статью.
FAQ
• При запуске сайта возникает ошибка: «Процесс не может получить доступ к файлу, так как он используется другим процессом. (Исключение из HRESULT: 0×80070020)».
Это говорит о том, что порт, к которому осуществилась привязка сайта (по умолчанию 80-й), уже занят другим приложением. Такая ошибка возникает, если установлен другой веб-сервер (например, Apache).
Чтобы понять, какой процесс занимает 80-й порт, в командной строке введите: netstat -ano -p tcp.
В колонке «Локальный адрес» ищем запись вида 0.0.0.0:80, и смотрим какой «PID» соответствует этой записи. В «Диспетчере задач» открываем вкладку «Процессы» (опцию «Отображать процессы всех пользователей» должна быть отмечена). Переходим в меню «Вид» -> «Выбрать столбцы» отметь «ИД процесса (PID)». Теперь, с помощью PID можно выяснить, какой процесс занимает порт.
Еще, проблема решается привязкой сайта к альтернативному порту (например, 8080).
• При запуске php-скрипта появляется ошибка: Warning: fopen(путь_к_файлу): failed to open stream: Permission denied in путь_к_файлу.
Дело в том, что группа пользователей IIS_IUSRS имеет права только на чтение. Открываем свойства папки, в которой располагаются файлы веб-сайта (по умолчанию wwwroot), закладка «Безопасность». В списке находим группу IIS_IUSRS и даем ей права полного доступа.
• Установка кодировки сайта.
Откройте «Диспетчер служб IIS», выберите нужный веб-сайт. В настройках сайта откройте раздел «Заголовки ответов HTTP». Нажмите ссылку «Добавить». В открывшемся окне в поле «Имя» введите: Content-type, в поле «Значение» введите: text-html; charset=windows-1251 (см. скриншот). Вместо windows-1251 можно прописать и другую кодировку.

Iis задание разрешений для веб сервера

Эту статью не стоит рассматривать как полноценное руководство по безопасности при настройке Internet Information Services версии 7.x — для того уже существует несколько талмудов, которые описывают предмет нашего разговора во всей его красе. Но не у всякого администратора имеется возможность досконально изучить эти книги, а конфигурировать веб-сервер надо уже сейчас. Поэтому хочется опубликовать краткий обзор мер безопасности, которые необходимо иметь в виду, работая с IIS , некий чек- лист что ли, по которому можно быстро пробежаться, сравнить с требованиями своего проекта и корпоративными гайдами по информационной безопасности.

Обозначение 7.x означает, что здесь собран материал для обеих версий продукта: IIS 7 , поставляемый с Windows Server 2008 и Windows Vista , и IIS 7.5 , который Вы можете найти в «коробке» от Windows Server 2008 R2 и Windows 7 .

Все меры, представленные в данной подборке, ни в коем случае не являются ОБЯЗАТЕЛЬНЫМИ. Более того, они могут даже противоречить системным требованиям Ваших веб-приложений. Решение о принятии той или иной меры все таки необходимо выносить в условиях конкретной ситуации. Здесь меры будут носить лишь ОПИСАТЕЛЬНЫЙ характер, чтобы администратор знал — вот здесь еще можно подкрутить ;)

Все ответы

Основы безопасности IIS

Административные меры безопасности IIS

Максимальное усиление безопасности IIS

Кратко об Internet Information Services 7.x

Internet Information Services 7.x — компонент веб-сервиса компании Microsoft для операционной системы Windows Server 2008 (R2) .

На момент написания данного материала IIS 7.5 является последним в длинной линейке версий IIS . Начиная с версии 6.0, Microsoft в цикле разработки данного продукта решила сосредоточить особое внимание на безопасности и непрерывно следует этому подходу до сих пор. В результате IIS 7.x поставляется с большим количеством изменений по сравнению со своим предшественником и имеет огромное количество новых возможностей, которыми только надо умело пользоваться. IIS 7.x был полностью переработан и сейчас базируется на новой модульной архитектуре. Это означает, что вместо монолитного «черного ящика», который устанавливается по умолчанию и имеет лишь пару дополнительных возможностей, IIS 7.x теперь имеет около 40 отдельных компонентов — так называемых модулей. По умолчанию устанавливаются только самые основные модули; дополнительные же могут быть легко добавлены в случае необходимости. Это помогает значительно уменьшить площадь атаки на сервер, просто потому, что ненужные средства отсутствуют в системе. Модульная архитектура имеет множество преимуществ, и в части безопасности, и в администрировании, и в производительности веб-сервера. Кроме того, IIS 7.x не ограничивает Вас набором предразработанных модулей — пишите свои, если хотите заменить существующие, или есть требование расширить функциональность веб-сервера.

Iis задание разрешений для веб сервера

Разрешения Internet Information Server (IIS), вкладка Home Directory, разрешения NTFS

Встроенная система разрешений Internet Information Server настраивается несколькими способами:

1) общие разрешения на Web -сайт (или на виртуальный каталог) — из вкладки Home Directory его свойств (вкладки Virtual Directory для виртуального каталога). Они едины для всех пользователей и не могут быть предоставлены кому-либо индивидуально. Подробнее об этих разрешениях — ниже;

2) разрешения на запуск компонентов Web -приложений (скриптов, исполняемых файлов) — из той же вкладки;

3) разрешения на собственно объекты, которые запрашивает пользователь ( HTML -страницы, изображения и т.п.) настраиваются при помощи разрешений NTFS . При этом используется стандартная система безопасности Windows . В предыдущих версиях IIS вся настройка таких разрешений производилась из Windows Explorer , в IIS 6.0 появилась возможность настраивать разрешения и из IIS Manager .

Чуть подробнее про систему общих разрешений. Что означает каждое из четырех разрешений на вкладке Home Directory :

  • ScriptSourceAccess — возможность просматривать исходный код скриптов (обычно в приложениях ASP и ASP . NET ). Такая необходимость может возникнуть только на серверах, используемых для разработки или учебных целей;
  • Read — это разрешение обычно предоставляется на Web -серверах и каталогах IIS . Исключение — специальные каталоги, которые служат, например, для приема файлов от пользователей. Если снять это разрешение, то таким образом, к примеру, можно на время отключить Web -сайт для пользователей;
  • Write — разрешение на запись файлов в этот каталог. Обычно не допускается. Лучше всего использовать для записи данных специальное Web -приложение или по крайней мере создать специализированный каталог без прав на чтение;
  • DirectoryBrowsing — если этот флажок будет установлен, и в каталоге не будет файла по умолчанию ( default . htm , index . html и т.п.), то пользователю при обращении к этому будет автоматически предоставляться HTML -страница со списком всех файлов и подкаталогов этого каталога. Конечно, видеть структуру каталогов нашего сервера большинству пользователей совсем необязательно

Подавляющее большинство серверов работают с единственным назначенным общим разрешением Read .

Если у вас используется какое-либо Web -приложение, информацию о том, какие дополнительные настройки безопасности следует производить (регистрация ISAPI -фильтров, настройки в группе переключателей Application Settings ), должны предоставить разработчики.

Несколько веб сайтов IIS на одном порту и IP

По умолчанию во время установки сервера IIS (Internet Information Services) создается пустой веб-сайт “Default Web Site”, который отвечает на стандартном веб порту – TCP 80. В терминах IIS это означает, что выполнена привязка этого сайта (Binding) к порту 80. Чтобы открыть этот сайт, достаточно в браузере набрать имя сервера IIS (“http://web-srv1”) или его IP адрес (“http://10.10.0.88”). Один веб сервер IIS может обслуживать десятки и сотни сайтов, и технически можно запустить несколько веб-сайтов, которые слушают и отвечают на одном и том же порту (80 или 443). Однако из интерфейса IIS Manager, совсем не очевидно, что можно запустить второй сайт на этом же хосте без привязки его к другому порту (например, 8080). В этой статье мы разберёмся, как на одном сервере IIS запустить сразу несколько сайтов, чтобы они были привязаны к одному и тому же порту и IP адресу.

Итак, как мы уже говорили ранее, на одном сервере IIS может быть запущено множество сайтов, однако чтобы IIS мог корректно распределять HTTP запросы, каждый сайт должен идентифицироваться неким уникальным значением. Для веб сайта IIS оно формируется из трех атрибутов, комбинация которых для каждого сайта должна быть уникальной. Это:

  • номер TCP порта
  • IP адрес
  • имя узла (host header)

Информация о запущенных сайтах хранится в атрибуте ServerBindings метабазы IIS в формате IP:Port:Hostname. Таким образом, если нужно запустить несколько сайтов на одном порту и IP адресе, нужно использовать уникальный Host header. Что это такое? Host header – это часть HTTP запроса к серверу, который отправляет клиент, указывая к какому конкретно сайту он хочет обратиться. Соответственно, данный host header должен быть указан на стороне веб сервера, а в DNS содержаться корректная запись, осуществляющая соответствие между именем хоста и ip адресом веб-сервера.

Итак, предположим, что у нас на IIS уже запущен один веб сайт на 80 порту. Нам нужно добавить второй сайт на этом же порту.

В консоли управления IIS создадим второй сайт (Add Website). С именем TestSite , файлы которого будут храниться в каталоге c:\inetpub\TestSite (имя хоста пока не указываем).

После того, как вы нажмете “OK”, появится предупреждение, в котором говорится, что вы не можете использовать привязку *:80 для двух сайтов, т.е. одновременно может работать только один из них.

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

Чтобы создать уникальную привязку, укажем для второго сайта другое имя (Host Name). Щелкните ПКМ по сайту TestSite и выберите пункт меню Edit Bindings. Выберите нужную привязку и нажмите Edit.

В поле Host Name укажите уникальное имя хоста, к которому должны обращаться пользователи, например TestSite.

Настроить привязку можно и из командной строки. В данном примере для IIS 7 и выше команда установки привязки будет выглядеть так:

C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:»TestSite» /+bindings.[protocol=’http’,bindingInformation=’*:80:TestSite’]

Теперь можно запустить и второй веб сайт.

Все, что осталось сделать – добавить в DNS алиас для сервера (запись типа A или CNAME), указывающую на IP адрес веб-сервера или его имя.

Создать CNAME запись для имени TestSite можно с помощью консоли DNS (dnsmgmt.msc), в качестве FQDN target host указать доменное имя вашего IIS сервера.

Создать такую запись также можно с помощью PowerShell :

Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.contoso.loc -Name testsite -ZoneName contoso.loc

Теперь в браузере попробуйте открыть сайт http://TestSite . Он должен успешно открыться.

Еще несколько полезных моментов, которые стоит упомянуть.

В том случае, если у вас используется локальный сервер IIS, сопоставление имен сайтов с IP адресом сервера выполняется через файл C:\Windows\system32\drivers\etc\hosts .

Настройки привязок хранятся в конфигурационном файле IIS ( C:\Windows\System32\inetsrv\config\applicationHost.config ) в секции

В нашем примере эта секция содержит такие данные :

По аналогии вы можете разместить и запустить на одном порту веб-сервера IIS несколько сотен сайтов.

Iis задание разрешений для веб сервера

Добрый день уважаемые читатели и гости блога. Для меня было большим удивлением, что в Америке и в Европе, очень много хостинов используемых людьми, построены на Windows Internet Information Services, и ее доля там больше чем Linux Apache или nginx. В сегодняшнем посте я бы хотел рассказать, начинающим системным администраторам, как создавать сайты iis в Windows Server 2012 R2, точнее административную часть, так как там уже вы сами будите выбирать, будет ли это ресурс на движке Werdpress или же статический сайт, вариантов очень много.

Подготовка IIS для развертывания сайта в IIS

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

Я хочу создать отдельный сайт, пускай это будет iis.pyatilistnik.org, для этого переходим в пункт сайты и через правый клик ,выбираем пункт «Добавить веб-сайт»

Само создание сайта iis состоит из вот таких не хитрых пунктов. Во первых, вы задаете:

  • Имя сайта — у меня это iis.pyatilistnik.org
  • Указываете физический путь — это та папка в которой будет лежать контент для сайта, например, картинки, документы, html странички, если сайт с базой данных, то многое будет лежать в ней.

Далее вы производите привязку сайта к нужному ip адресу, делается это после того, как вы на своем DNS сервере создали A или Cname запись для ресурса. Так же задаем тип привязки, имеет ввиду протокол, тут их всего два обычный незащищенный http и защищенный сертификатом шифрования https, о нем я подробно говорил.

Ну и последним шагом в данном окне, будет указание имени узла, имеется ввиду по какому dns имени, будут фильтроваться заголовки, чтобы попасть на нужный сайт, так как на 80 порту их может висеть очень много.

Пробуем запустить ваш сайт. И так, сайт в диспетчере IIS на Windows Server 2012 r2 мы создали, пробуем его запустить, для этого у вас есть в пункте управление веб-сайтом, отдельный пункт «Обзор»

Если все хорошо, то вы получите доступ к ресурсу, если же нет, то увидите запрещающее сообщение:

Тут два варианта:

  • У вас пустая папка с сайтом, попробуйте поместить в нее, хотя бы картинку, для тестирования
  • У вас просто нет прав на чтение данного каталога на уровне Windows

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

Перейдите на вкладку «Безопасность > Изменить > Добавить > Проверить имя» и через поиск найти нужную группу.

Назначаем нужный уровень прав для созданного сайта IIS, у меня это чтение и выполнение.

Открываем в браузере ваш сайт и проверяем.

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

Следующим шагом, у вас встанет вопрос какого типа будет ваш сайт и нужно ли для его настройки добавлять новые компоненты или же устанавливать сторонние, по типу PHP или MySQP для WordPress. Далее я вам советую, разобраться в вопросе проверки подлинности IIS и как она настраивается.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL