Информация к новости
  • Просмотров: 1340
  • Автор: sulicompany
  • Дата: 4-01-2013, 00:46
 (голосов: 0)
4-01-2013, 00:46

Windows Server. Настраиваем веб-сервер IIS

Категория: IT » Администрирование




webserver-iis-000.jpg
Обычно, когда говорят о web-сервере, подразумевают решения на базе платформы Linux. Но если ваша инфраструктура развернута на основе Windows Server то логично будет использовать веб-сервер IIS. Вопреки распространенному мнению, это весьма популярная платформа, которая позволяет работать как с большинством популярных CMS, так и имеет широкий спектр систем, предназначенных для работы именно на Windows и IIS.
Несомненным достоинством IIS является его тесная интеграция с другими технологиями и средствами разработки Microsoft. В частности веб-решения для IIS могут использовать богатые возможности .NET и легко взаимодействовать с настольными приложениями на этой платформе. Если же вас это пока не интересует, то к вашим услугам богатый выбор готовых CMS, в том числе написанных специально для IIS. Сегодня мы рассмотрим как установить и настроить IIS для работы с веб-решениями на базе ASP.NET и установим одну из популярных CMS для этой платформы.
Для установки веб-сервера на платформе Windows перейдем в оснастку Роли вДиспетчере сервера и выберем установку ролей Веб-сервер (IIS) и Сервер приложений.
Но не спешите нажимать Далее, слева, под названием каждой роли, доступна опцияСлужбы ролей, перейдем на нее и установим для Сервера приложений следующие опции: Поддержка веб-сервера (IIS), Общий доступ к TCP-портам и Активация через HTTP.
А для веб-сервера установите службу FTP-сервер.
После чего установите выбранные роли. Для проверки работоспособности IIS наберите в браузере IP-адрес вашего сервера, вы должны будете увидеть стандартную страницу-заглушку веб-сервера.
Теперь перейдем в к настройке сервера, для этого откроем Диспетчер служб IIS(находится в Пуск - Администрирование).
Первым делом создадим новый сайт, для этого щелкните правой кнопке на пунктеСайты в боковом меню Диспетчера IIS и выберите Создать новый сайт.
В открывшемся окне укажите имя сайта, путь к корневой папке (по умолчанию сайты пользователей располагаются в C:\inetpub\wwwroot), которую следует предварительно создать и укажите имя узла (доменное имя сайта), в нашем случаеiissite.local
Не забудьте добавить A-запись с именем вашего сайта на DNS-сервер или пропишите необходимые строки в файлы hosts тех рабочих станций, откуда будете обращаться к сайту
В принципе вы уже можете размещать в папке сайта web-страницы и получать к ним доступ через браузер, но для полноценной работы с сайтом не помешает FTP-доступ к нему. Для этого щелкните правой кнопкой по названию вашего сайте в боковом меню и выберите Добавить FTP-публикацию
Далее укажите привязку FTP-cлужбы к сетевым интерфейсам и портам, а также настройте параметры безопасности. Если вы собираетесь использовать SSL, то учтите что вам потребуется сертификат, хотя если вы будете использовать FTP-доступ только для собственных нужд, то можно обойтись самоподписанным сертификатом. Не забудьте поставить галочку  для автоматического запуска FTP-сайта.
На следующей странице укажите параметры доступа к серверу, мы советуем указывать конкретных пользователей, которые будут работать с  данным сайтом.
Попробуйте подключиться через FTP используя любой клиент и загрузите проверочную html страницу с именем index.html, пример такой страницы мы приводили . Если все сделано правильно, то, набрав в браузере имя нашего сайта, вы увидите такую страницу: 
Веб-сервер настроен и вы можете использовать его для размещения HTML-страниц, однако современные сайты используют для хранения своих данных СУБД, поэтому следующим шагом установим , возможностей которого с лихвой хватит для наших задач. Установка производится со значениями по умолчанию, кромеРежима проверки подлинности, который следует переключить в Смешанный режим и задать пароль суперпользователю SQL-сервера sa.
Теперь попробуем установить какую либо популярную CMS созданную на базе технологии ASP.NET, обширный выбор таких решений представлен в  Microsoft. Обратите внимание, что по кнопке скачать вы получите пакет для установки через Web PI, для установки на IIS вам потребуется перейти на сайт разработчика и скачать полный пакет с CMS
Мы будем устанавливать , для получения пакета пройдите по ссылке и выберите Загрузить как zip, распакуйте полученный архив и закачайте в корень сайта содержимое папки Orchard.
Данная CMS создана на базе ASP.NET 4, поэтому настроим наш сайт на использование необходимых технологий. Для этого щелкните правой кнопкой на имени сайта в боковом меню и выберите Управление веб-сайтом - Дополнительные параметры
В открывшемся окне измените параметр Пул приложений, указав там ASP.NET v.4
Затем установите необходимые права на папку с сайтом, вам нужно добавить пользователю IIS_IUSRS возможность записи и изменения содержимого данной папки.
Также не забудьте создать базу данных для сайта, для этого зайдите в SQL Server Management Studio и, щелкнув правой кнопкой на пункте Базы данных в боковом меню, создайте новую базу.
Для установки CMS наберите в браузере адрес сайта и следуйте указаниям скрипта установки. Никаких сложностей там нет, единственное затруднение может вызвать правильное указание параметров подключения к SQL-серверу. Укажите что вы используете SQL Server (или SQL Express)
В строке подключения ниже укажите следующее:
server=SERVERNAME\SQLEXPRESS;database=iissite;user=sa;password=sapasswd;
где:
  • server=SERVERNAME\SQLEXPRESS - имя сервера, на котором установлен SQL-сервер, и экземпляра SQL-сервера.
  • database=iissite - имя базы данных (в нашем случае iissite)
  • user=sa - пользователь СУБД (в нашем случае sa)
  • password=sapasswd - пароль пользователя sa.
Так как наш сайт предназначен для внутреннего использования и использует изолированный экземпляр SQL, то мы использовали для доступа к серверу параметры пользователя sa, если же вы собираетесь размещать на веб-сервере несколько сайтов и администрировать их будут разные пользователи, то заведите на SQL сервере дополнительных пользователей и для подключения используйте их учетные данные, не забыв ограничить им доступ только к "своим" базам.
Спустя некоторое время, необходимое для установки CMS, в вашем браузере отобразиться страница сайта с тестовым содержимым. Можете переходить в админ-панель и настраивать сайт согласно ваших потребностей.
Несмотря на то, что мы рассмотрели установку только одного "движка", установка других CMS производится аналогичным образом и сложностей вызвать не должна
В следующей части нашей статьи мы расскажем как добавить нашему серверу поддержку PHP для запуска на нем популярных CMS написанных на этом языке.
Сразу внесем ложку дегтя в бочку с медом. Большинство популярных решений на базе PHP не поддерживают работу с СУБД MS SQL, для их работы потребуется также установить MySQL, что несколько выходит за рамки этой статьи. Учитывая, что большинство из них разрабатываются для платформы LAMP, то их взаимоотношения с MS SQL Server еще долгое время будут оставаться напряженными. Даже Joomla 2.5, в которой заявлена поддержка MS SQL содержит большое число ошибок реализации данного механизма, что практическое использование данной связки не представляется возможным. Поэтому, если вам необходимо использовать массовые CMS разработанные для связки PHP + MySQL, то мы бы советовали все-таки обратить внимание на .
В тоже время вы можете использовать связку PHP + IIS + MS SQL для разработки собственных решений или при использовании PHP движков поддерживающих данную СУБД, например старшие версии Битрикс. В следующих статьях мы также расскажем, как установить MySQL на платформу Windows, если вы все таки решите использовать IIS для запуска популярных PHP систем управления сайтом.
Итак, что нам понадобиться, чтобы установить PHP для IIS? Прежде всего сам PHP, скачиваем его с  в виде msi инсталлятора, также хотим обратить ваше внимание, что скачивать нужно потоконебезопасную (Non Thread Safe) версию. За безопасность потоков в нашем случае будет отвечать IIS, при установке потокобезопасной версии вы можете столкнуться с неожиданным (вплоть до полной неработоспособности) поведением скриптов. Несмотря на то, что последней версией PHP является 5.4, мы будем использовать 5.3, так как еще не все популярные скрипты полностью совместимы с последней версией PHP.
Перед тем, как устанавливать PHP необходимо добавить веб-серверу поддержку технологии CGI, для этого перейдите в Диспетчер сервера - Роли - Веб-сервер - Добавить службы ролей. Также мы добавили поддержку технологии SSI, которая часто используется в популярных CMS.
Теперь можно запускать инсталлятор PHP, путь установки лучше заменить на более короткий и без пробелов, например C:\PHP, в соответствующем окне выбираем режим работы IIS FastCGI. Все необходимые настройки PHP и IIS будут сделаны автоматически.
Для работы с СУБД MS SQL установим драйвер , также мы рекомендуем установить , чтобы PHP приложения могли эффективно кэшировать данные, работая на платформе Windows. Для установки необходимо указать папку с расширениями PHP, в нашем случае это C:\PHP\ext, куда будут распакованы необходимые библиотеки.
В файл C:\PHP\php.ini добавим следующие строки, которые обеспечат подключение и загрузку необходимых модулей:
extension=php_wincache.dll
extension=php_sqlsrv_53_nts.dll
Также советуем обратить внимание на следующие опции:
upload_max_filesize = 2M
memory_limit = 128M
Первая задает максимальный размер загружаемого через PHP файла, по умолчанию 2 Мб, вторая максимально доступный размер памяти, которую может использовать скрипт. Вы можете откорректировать данное значение исходя из требований PHP-приложений и имеющейся в наличии свободной памяти.
Также мы советуем установить модуль , после чего перезапустите веб-сервер через оснастку Диспетчер служб IIS.
После чего при помощи этой оснастки создадим новый сайт phpsite.local, для обращения к нему по URL не забудьте добавить соответствующие записи в файлы hosts на клиентах или A-запись на вашем DNS-сервере.
Установим необходимые права на папку с сайтом, чтобы PHP имел доступ к содержимому папки необходимо добавить полные права, кроме группы IIS_IUSRS, также группе IUSR.
Для проверки создадим в корневом каталоге сайта файл index.php со следующим содержимым:
<?php
phpinfo();
?>
Теперь на клиентской машине в браузере наберем http://phpsite.local, если все сделано правильно вы должны увидеть следующую страницу:
На этом установку и настройку PHP для веб-сервера IIS можно считать успешно завершенной. Моно приступать к размещению и запуску своих приложений, написанных с применением этого языка. В следующей статье мы дополним наш сервер СУБД MySQL, что позволит вам запускать весь спектр популярных PHP-приложений.
В заключение нашего цикла статей о веб-сервере IIS мы расскажем, как добавить поддержку популярной СУБД MySQL. Это позволит получить в распоряжение полноценный веб-сервер, который даст возможность запускать весь спектр веб-приложений, как платных, так и бесплатных. 
Для начала скачаем дистрибутив СУБД с официального сайта, нас интересует бесплатная версия , разрядность которой следует выбирать исходя из разрядности вашего сервера, в нашем случае это x86, 64-bit.
Установка СУБД проходит в режиме Next - Next - Finish, и не должно вызвать затруднений. В конце установки не забываем установить флажок Launch the MySQL Instance Configuration Wizard для запуска мастера конфигурирования.
В первую очередь выбираем режим Детальной конфигурации, чтобы иметь доступ ко всем значимым параметрам сервера СУБД.
Следующий экран предложит нам выбор между рабочей станцией разработчика, сервером и выделенным MySQL сервером. Последний режим позволит СУБД утилизировать все доступные ресурсы, что в нашем случае неприемлемо, поэтому выбираем режим сервера.
Теперь укажите режим работы СУБД, если нет никаких особых требований, то стоит выбрать Multifunctional Database, это позволит использовать ваш веб-сервер для широкого спектра веб-приложений.
Затем выберите место хранения MySQL баз данных, здесь все зависит от конфигурации вашего сервера, желательно использовать для этого отдельный быстродействующий диск, но так как мы производим установку в тестовых целях, то использовали папку на системном диске.
Так как наша система не относится к высоконагруженным (иначе вам нужно изучать иные статьи), то на следующем экране выбираем Decision Support (DSS)/OLAP:

Далее включаем доступ к нашему серверу посредством TCP/IP и заставляем работать его как традиционная СУБД.
Затем указываем кодовую страницу по умолчанию, для большинства современных веб-приложений это UTF-8, хотя возможны и иные варианты, например Windows-1251 (CP1251).
Следующим шагом указываем запускать MySQL сервер как службу и добавляем путь к исполняемым файлам в переменную PATH, что позволит обращаться к ним по имени, не указывая полного пути.
На этом настройку экземпляра сервера СУБД можно считать завершенной и жмемExecute для применения параметров и запуска сервера с указанными параметрами.
 Теперь попробуем установить на сайт phpsite.local, который мы создали в, популярную CMS Joomla.
Никаких особых сложностей установка не вызывает, главное правильно указать параметры подключения к MySQL БД.
И через некоторое, непродолжительное, время в вашем распоряжении полноценный сайт на популярной CMS.
Для управления MySQL базами данных мы рекомендуем использовать phpMyAdmin, его можно установить как в папку текущего сайта, так и создать для него отдельный сайт, мы рекомендуем последний вариант.
Скачиваем последнюю версию утилиты с  и размещаем ее в папке созданного сайта phpmyadmin.local, не забываем выставить полные права для групп IIS_IUSRS и IUSR. Для авторизации используем учетные данные нашего MySQL сервера.
Если все сделано правильно, то вы получите мощный инструмент для управления своими MySQL БД.
Как видим, вопреки досужим домыслам, настроить полноценный веб-сервер на основе IIS абсолютно несложно. Поэтому можно смело рекомендовать администраторам использовать данную роль Windows Server в повседневной деятельности.