Установка IIS 7.0 и основы администрирования
Продолжаем изучать web сервера и сегодня мы рассмотрим установку и основные настройки Internet Information Services (IIS) версии 7.0 на платформе Windows Server 2008. А также научимся привязывать такие отдельные технологии как PHP к нашему web серверу.
Как Вы знаете, PHP отлично работает с Apache и MySql, но вдруг у Вас возникла необходимость использовать именно IIS в связке с PHP, то тогда данная статья именно для Вас. Сегодня мы рассмотрим основы IIS 7.0, научимся устанавливать данный web сервер и привязывать к нему PHP. Мы будем рассматривать IIS 7 версии, но не расстраивайтесь, если у Вас, например, стоит Windows Server 2008 R2, где устанавливается IIS версии 7.5, он практически не отличается от 7 версии.
Для начала давайте немного поговорим об архитектуре IIS 7.0. Данный Web-сервер полностью построен на модульной основе, т.е. в отличие от IIS 6.0, который просто устанавливался как роль сервера и все. В IIS 7 более гибко можно настроить свой веб сервер, путем установки только необходимых модулей, которые Вам нужны. Это огромный плюс так как:
- ненужные модули отключены, тем самым увеличивается производительность;
- чем меньше модулей задействовано, тем выше безопасность Web сервера, другими словами, так называемых «дырок» становится меньше.
Установка Web-Сервера IIS 7.0 на Windows Server 2008
Перед установкой хочу дать небольшой совет, устанавливайте данную роль сервера на полностью «голый» сервер, т.е. помимо службы IIS там ничего недолжно быть установлено (имеется в виду из ролей сервера) исключением может быть только DNS сервер. Существует даже отдельная редакция Windows Server 2008 Web Server, которая полностью ориентирована именно на Web сервер, кстати, она намного дешевле других редакций этой операционной системы.
Существует несколько вариантов установки данной роли в Windows:
- Через графический интерфейс (мы будем использовать);
- Через командную строку (на мой взгляд, не удобно, так как приходиться полностью вручную писать все необходимые модули, которые Вам нужны, причем их названия регистрозависимые);
- Также через командную строку, но уже с использованием XML файла (удобно, если Вам необходимо поднять много web серверов, Вы просто один раз повозитесь с xml файлом, а потом просто будете запускать одну команду в командной строке и все).
Теперь давайте перейдем непосредственно к самой установки этого сервера. Предполагается, что у Вас уже установлена операционная система Windows Server 2008.
Нажимаем Пуск -> Администрирование -> Диспетчер сервера -> переходим на пункт роли и жмем «Добавить роли».
Затем нажимаем «Далее», а на следующем шаге выберите Веб-сервер (IIS).
На следующем шаге просто жмите «Далее», а вот на следующем шаге приостановитесь и задумайтесь. Какие именно компоненты (модули) Вам нужны, если все оставить по умолчанию, то Вы сможете, обрабатывать только статический контент, и вообще у Вас будет доступно мало функций на Вашем сервере. Но все равно, все ставить не нужно, выберите только то, что Вам необходимо.
В моем случае мы будем прикручивать PHP и для поддержки этого нужно выбрать пункт CGI, а если Вы вдруг используете asp.net, то выбирайте соответствующие пункты, да и вообще почитайте, что там есть еще (описание располагается справа), чтобы потом не удивляться, «почему у меня нет этого и не работает вот это». Жмите далее.
А теперь жмем «Установить». Ждем несколько минут, и после того как мастер добавления ролей скажет, что «Установка прошла успешно», жмем закрыть. И сразу же можем проверить работоспособность нашего web сервер, путем простого открытия браузера и набора в адресной строке http://localhost и если у Вас появилась следующая картинка, то Ваш сервер работает!
Как администрировать IIS?
Для управления web сервером используется графический интерфейс, но сразу могу сказать, что управлять можно также и напрямую редактировав xml файлы. Все настройки web сервера IIS7 хранятся в виде xml файлов. Настройки сразу для всего сервера IIS (сразу для всех сайтов) хранятся в файле applicationHost.config, который располагается по следующему пути:
Но для конфигурации отдельного сайта можно использовать файл web.config, он создастся автоматически при изменение любой настройки применительно к одному сайту. Мне такая схема напомнила конфигурирование web сервера Apache, где для конфигурации отдельно взятого сайта можно использовать файл .htaccess.
Кстати, по умолчанию корневая директория вашего web сервера располагается по адресу: C:\inetpub, в которой и располагаются все Ваши сайты, когда Вы открыли сайт по умолчанию, то у Вас открылись файлы из папки wwwroot.
Перейдем непосредственно в нашу графическую панель управления web сервером IIS 7, для этого откройте «Пуск->Администрирование->Диспетчер служб IIS». В итоге у Вас откроется, вот тая панель:
Где, слева будет дерево Ваших сайтов (у нас пока только сайт по умолчанию) и приложений, по центру сгруппированы все настройки, а справа свойства той или иной настройки.
Привязываем PHP к IIS
Теперь нам необходимо установить PHP, для этого нужно скачать дистрибутив php с официального сайта (http://windows.php.net/download/) в виде msi пакета (нажав на ссылку installer), я скачал версию php-5.3.10-nts-Win32-VC9-x86.msi, но Вы можете скачать версию и поновей.
Перейдем к установке PHP, вообще проблем возникнуть не должно, только на одном окне обязательно выберите следующий пункт: IIS Fast CGI.
Создание нового сайта в IIS
После этого давайте создадим новый сайт (в IIS это будет узел), щелкнем правой кнопкой по пункту «Узлы» и нажмем «Добавить веб-узел». Заполняем как на картинке, локальную директорию для нового сайта я создал в папке C:\inetpub\my, но Вы можете создать ее хоть на другом диске.
Если у Вас будет не один сайт, то у Вас возникнет необходимость отделять их друг от друга. Существует несколько способов, первый, например, посадить их на разные порты, но в некоторых случаях это не удобно. У сайта по умолчанию он 80, а у нового сайта 8080, но если у Вас будет много сайтов и Вы хотите чтобы они работали на одном порту, скажем на 80, то Вам необходимо заполнять поле «Имя узла», другими словами, это домен сайта. После того как Вы указали здесь, например, как я mysite, Вам необходимо сделать соответствующую запись на DNS сервере или, если у Вас мало компов и просто нет DNS сервера, или Вы просто разработчик, то пропишите это соответствие в файле hosts (например, 10.10.10.2 mysite)
Теперь создайте в папке нового сайта (C:\inetpub\my) файл, например, index.php с таким содержимым
С помощью этой простой функции на языке php, можно узнать настройки самого php установленного на этом сервере, если Вы увидите страничку с указанием версии php, которая указанна чуть ниже, то у Вас все работает.
Как Вы заметили никаких специальных действий на сервере IIS 7, для привязки php, мы не делали (за исключением того, что мы при установке добавили компонент CGI), за нас это сделал сам дистрибутив php и сервер iis.
Полезные настройки IIS
Теперь рассмотрим пару настроек сервера IIS 7, например, мы хотим, чтобы у нас на одном сайте по умолчанию открывался документ mydoc.php. Для этого перейдите на нужный сайт и откройте настройки «Документ по умолчанию» и добавьте нужный Вам документ, причем Вы можете указать несколько документов, задав им необходимый приоритет.
И после этого Вы сразу же увидите, что в Вашей папке с новым сайтом Mysite, появился файл web.config (как я раньше и говорил). Для того чтобы проверить, что Вы сделали все правильно, создайте файл mydoc.php с любым содержимым, и откройте в браузере адрес Вашего сайта, и по умолчанию должен загрузиться этот документ.
Еще хочу обратить Ваше внимание на то, что если Вы где-нибудь прочитали или Вам кто-то подсказал какую-нибудь настройку на сервере IIS, а Вы ее не можете найти на панели, то скорей всего у Вас не установлен необходимый для этого модуль, так как настройки появляются в соответствие с установленными модулями.
Например, Вы хотите настроить на вашем сайте Basic аутентификацию, но в данный момент Вы не можете найти эту настройку на сервере, для этого Вам необходимо до установить нужный компонент. Открываем диспетчер сервера «Роли->Веб-сервер(IIS)->Добавить службы ролей» и выбираем «Обычная проверка подлинности» или по англ. Basic authentication.
Открываем заново «Диспетчер служб IIS» и мы замечаем, что в пункте «Проверка подлинности» у нас появился еще один пункт «Обычная проверка подлинности». Для того чтобы ее включить, Вам необходимо отключить «Анонимная проверка подлинности» и соответственно включить «Обычная проверка подлинности». Не забудьте создать пользователей, в данном случае «Локальных пользователей». «Диспетчер сервера ->Конфигурация ->Локальные пользователи» щелкаем правой кнопкой мыши «Создать пользователя», я создал пользователя test. Теперь при обращении к нашему сайту будет появляться форма для аутентификации.
Вводите своего пользователя и если Вы все сделали правильно, то Вы опять попадете на свой сайт!
Теперь поговорим о самой любимой связке — это PHP+MySql. Для того чтобы добавить поддержку MySql, достаточно просто установить эту СУБД (подробная установка рассматривается в статье — Установка сервера MySql и обзор средств его управления и администрирования) и все! Можете создавать сайты в связке IIS 7+PHP+MySql.
Я думаю для основы этого вполне достаточно, если возникают вопросы, пишите в комментариях, постараюсь помочь. Удачи!
Установка веб-сервера в Windows Server 2008 R2 или хостинг на своем сервере (IIS + PHP + MySQL)
Здесь я расскажу как организовать хостинг сайта на своем компьютере. Для примера — сайт под управлением WordPress. В качестве операционной системы будет использоваться Windows Server 2008 R2. (о организации хостинга в Windows 8 можно прочитать здесь). Кто-то начнет сразу кричать о легкости и бесплатности Linux, и я не буду спорить, но мне нравится эта ОС. Она надежная и легкая в администрировании. На мой субъективный взгляд у нее один недостаток — цена. Кроме того, я не утверждаю, что представленная ниже конфигурация сервера для хостинга является самой лучшей и удобной. Я просто опишу последовательность действий, который я предпринял, чтобы мой сайт заработал. Итак:
0. Оглавление
1. Что потребуется
- Подключенный к сети Интернет, постоянно работающий компьютер, под управлением Windows Server 2008 R2 (О том как установить Windows Server 2008 я писал здесь).
- Выделенный IP-адрес на текущем подключении.
- Зарегистрированное доменное имя (О том как это сделать можно прочитать здесь).
- Доменное имя должно быть привязано к текущему выделенному IP (И об этом я тоже писал здесь)
2. Запуск веб-сервера IIS
Для начала нашему серверу необходимо добавить роль Web-сервера. В Windows Server 2008 эта роль называется Internet Information Services или IIS. Для добавления заходим в «Пуск» — «Администрирование» — «Диспетчер сервера». Раскрываем вкладку «Роли» и нажимаем «Добавить роли» .
Запустится «Мастер добавления ролей», нажимаем «Далее» и в списке выбираем «Веб-сервер (IIS)» .
Нажимаем 2 раза «Далее» и попадаем на страницу выбора служб ролей. Помимо уже отмеченных служб, отмечаем «ASP.NET», «Расширяемость .NET», «CGL», «Расширения ISAPI», «Фильтры ISAPI», нажимаем «Далее» и «Установить» .
После завершения установки в Ролях появилась вкладка «Веб-сервер (IIS)», в которой содержится «Диспетчер служб IIS» (Также он доступен через «Пуск» — «Администрирование» — «Диспетчер служб IIS»)
В диспетчере мы видим наш сервер, и вкладку «сайты», по умолчанию содержащую «Default Web Site». Этот сайт состоит из приветственной страницы IIS. Мы можем просмотреть ее открыв Internet Explorer и в строке адрес введя http://localhost
Можно сразу удалить эту страницу, кликнув в «Диспетчере служб IIS» по ней правой кнопкой и выбрав «Удалить» .
На этом подготовка операционной системы закончена. Далее надо установить PHP и MySQL.
3. Установка PHP
Нам необходимо реализовать поддержку языка PHP. Для этого нужно установить и запустить соответствующую службу. Скачиваем с http://windows.php.net/download/установщик php-сервера. На момент написания статьи актуальной была версия 5.3.6. После скачивания устанавливаем PHP-сервер, следуя инструкциям инсталлятора не меняя настроек и выбрав режим «IISFastCGI» . Более подробно об установки PHP можно прочитать в статье «Установка и настройка компоненты PHP для веб-сервера IIS».
Теперь нужен плагин PHP Manager for IIS для управления PHP из из диспетчера IIS. Скачиваем его здесь: http://phpmanager.codeplex.com/releases/view/69115. После загрузки также устанавливаем его следуя инструкциям инсталятора. Если все сделано правильно в Диспетчере служб IIS должна появиться оснастка «Администратор PHP»
Запускаем ее, и нажимаем на «Зарегистрировать новую версию PHP», указываем путь к исполняемому файлу php и нажимаем «ОК»
Все, на этом регистрация PHP завершена.
4. Установка MySQL
Для хранения базы данных будем использовать бесплатный MySQL. Скачиваем установщик на официальной странице http://www.mysql.com/downloads/installer/. Последняя версия на момент написания статьи 5.5.13. После загрузки запускаем установку, соглашаемся с лицензионным соглашением, выбираем режим «Typical» и нажимаем «Install». После завершения установки, оставляем галочку «Launch the MySQL Instance Configuration Wizard» и нажимаем «Finish».
Запустится вышеназванный мастер. Нажимаем «Next» и выбираем режим «Standart Configuration».
Нажимаем «Next», ничего не меняя еще раз «Next» и вводим пароль на учетную запись «root». Советую сразу записать пароль на листок. Как говорится, тупой карандаш лучше острой памяти. А лучше всего использовать специальные менеджеры паролей. Еще раз жмем «Next» и «Execute». Если все прошло хорошо, то мы должны увидеть следующее:
Жмем «Finish». Установка завершена.
Для управления MySQL я использую простую бесплатную утилиту HeidiSQL, которую можно скачать с http://www.heidisql.com/download.php. На момент написания статьи последней была версия 6.0. Установив программу, следуя инструкциям инсталлятора и запустив ее, мы увидим окно «Session manager», где нужно добавить подключение к нашему MySQL серверу.
Нажимаем «New» и оставляем все поля нетронутыми, введя лишь тот самый пароль, который мы записали на предыдущем шаге.
Жмем «Open» и соглашаемся с сохранением настроек. Теперь нам надо создать новую базу, для нашего сайта. Для этого в окне слева с наименованием баз кликаем правой кнопкой, выбираем «Create new Database».
Заполняем параметры следующим образом:
- Name: Любое имя нашей базы (может совпадать с именем домена)
- Character set: utf8
- Collation: utf8_unicode_ci
и жмем «ОК», после чего наша база должна появиться в списке:
После чего настройка MySQL тоже закончена. Более подробно про установку и настройку MySQL можно прочитать в статье «Установка и настройка MySQL + HeidiSQL».
5. Установка WordPress
Ну вот, можно приступать и к самому сайту. Мой сайт сделан на движке WordPress. На дату статьи последней бала версия 3.1.3. Создадим на диске С папку WEB. С официального сайта http://ru.wordpress.org/ скачиваем архив, который нужно извлечь с созданную папку. В папке WEB появится каталог wordpress, который переименуем в соответствии с нашем доменным именем.
Теперь в корне этого каталога найдем файл «wp-config-sample.php» и откроем его любым текстовым редактором, например блокнотом. Найдем и изменим в нем только следующие параметры:
В строке
- define(‘DB_NAME’, ‘database_name_here’); — вместо database_name_here пишем имя созданной нами базы данных. (В моем случае должно получиться define(‘DB_NAME’, ‘tavalik);
- define(‘DB_USER’, ‘username_here’); — вместо username_here пишем имя пользователя root.
- define(‘DB_PASSWORD’, ‘password_here’); — вместо password_here пишем сохраненный нами пароль.
и сохраняем под именем wp-config.php.
Теперь опять заходим в «Диспетчер служб IIS», находим вкладку «Сайты», кликаем по ней правой кнопкой и выбираем «Добавить веб-сайт»
Вводим имя нашего сайта, указываем физический путь к сайту (в моем примере это C:\WEB\tavalik) и нажимаем «ОК».
После этого открываем Internet Explorer, в строке адреса вводим http://localhost и попадаем на страницу установки WordPress. Вводим заголовок сайта, имя пользователя и пароль для входа на сайт, адрес электронной почты и нажимаем «Установить WordPress».
После сообщения об успешной установке нажимаем на «Войти», вводим только что придуманные логин и пароль и попадаем на консоль управления сайтом. Находим в нижнем левом углу «Параметры» .
Вводим краткое описание сайта, и в поля «Адрес WordPress (URL) »и «Адрес сайта ( URL) » вводим имя нашего домена. Нажимаем «Сохранить изменения» и….
Все, наш сайт готов. Можно пользоваться. Для проверки вводим в строке браузера имя сайта и, если все сделано правильно, попадаем на начальную страничку.
Смотрите также:
Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…
Ниже будет рассказано о том, как добавить новое правило в Брандмауэр Windows Server 2008 R2. А конкретнее, будем добавлять разрешающее правило для порта 1433, который использует Microsoft SQL Server 2008 R2 или, как…
Иногда, при установке или запуске некоторых (часто устаревших) программ в Windows Server 2008 (справедливо и для Windows 7), можно наткнуться на ошибку вида: «Версия этого файла несовместима с используемой версией…