Для початку давайте трохи поговоримо про архітектуру IIS 7.0. Даний Web-сервер повністю побудований на модульній основі, тобто на відміну від IIS 6.0 який просто встановлювався як роль сервера і все. В IIS 7 більш гнучко можна налаштувати свій веб сервер, шляхом установки тільки необхідний модулів, які вам потрібні. Це величезний плюс так як:
- непотрібні модулі відключені, тим самим збільшується продуктивність;
- також чим менше модулів задіяно, тим вища безпека Web сервера, іншими словами так званих "дірок" стає менше.
Існує кілька варіантів установки даної ролі в Windows:
- Через графічний інтерфейс (ми будемо використовувати);
- Через командний рядок (на мій погляд, не зручно, тому що доводиться повністю вручну писати всі необхідні модулі, які вам потрібні, причому їх назви чутливі до регістру);
- Також через командний рядок, але вже з використанням XML файлу (зручно, якщо вам необхідно підняти багато web серверів, ви просто один раз помарудитеся з xml файлом, а потім просто будите запускати одну команду в командному рядку і все).
Ну, тепер давайте перейдемо безпосередньо до самої установки цього сервера.
Натискаємо Пуск> Адміністрування-> Диспетчер сервера-> переходимо на пункт ролі і тиснемо "додати ролі"
Потім натискаємо "далі" а на наступному кроці виберіть Веб-сервер (IIS).
Для управління web сервером використовується графічний інтерфейс, але відразу можу сказати, що управляти можна також і безпосередньо редагувати xml файли. Всі настройки web сервера IIS7 зберігаються у вигляді xml файлів. Налаштування відразу для всього сервера IIS (відразу для всіх сайтів) зберігаються в файлі applicationHost.config який розташовується за наступним шляхом:
Але для конфігурації окремого сайту можна використовувати файл web.config він створиться автоматично при зміна будь-якої настройки стосовно до одного сайту. Мені така схема нагадала конфігурація web сервера Apache, де для конфігурації окремо взятого сайту можна використовувати файл .htaccess.
Перейдемо безпосередньо в нашу графічну панель управління web сервером IIS 7, для цього відкрийте Пуск> Адміністрування-> Диспетчер служб IIS. І у вас відкриється, ось тая панель:
Де зліва буде дерево ваших сайтів (у нас поки тільки сайт за замовчуванням) і додатків, по центру угруповання все налаштувань, а справа властивості тієї чи іншої настройки.
Перейдемо до установки PHP, взагалі проблем виникнути не повинно, тільки на одному вікні виберіть обов'язково наступний пункт: IIS Fast CGI
Після цього давайте створимо новий сайт (в IIS це буде вузол) клацнемо правою кнопкою по пункту "вузли" і натиснемо "додати веб-вузол". Заповнюємо як на картинці, локальну директорію для нового сайту я створив в папці C: \ inetpub \ my але ви можете створити її хоч на іншому диску.
І якщо у вас буде не один сайт, то у вас виникне необхідність відокремлювати їх один від одного. Існує кілька способів, перший наприклад, посадити їх на різні порти, але в деяких випадках це не зручно. У сайту за замовчуванням він 80, а у нового сайту 8080, але якщо у вас буде багато сайтів і ви хочете щоб вони працювали на одному порту, скажімо 80 то вам необхідно заповнювати поле "ім'я вузла" іншими словами це домен сайту, але після того як ви вказали тут, наприклад як я mysite. Вам необхідно зробити соответствующею запис на DNS сервері або, якщо у вас мало комп'ютерів і просто немає DNS сервера або ви просто розробник то пропишіть це відповідність в файлі hosts (наприклад, 10.10.10.2 mysite)
Тепер створіть в папці нового сайту (C: \ inetpub \ my) файл наприклад, index.php c таким вмісті
За допомогою цієї простої функції на мові php можна дізнатися настройки самого php встановленого на цьому сервері, якщо ви побачите сторінку з зазначенням версії php, яка вказана трохи нижче, то у вас все працює.
Як ви помітили ніяких спеціальних дій на сервері IIS 7 для прив'язки php ми не робили (за винятком, що ми при установці додали компонент CGI), за нас це зробив сам дистрибутив php і сервер iis.
Тепер розглянемо пару налаштувань сервера IIS 7 наприклад ми хочемо щоб у нас на одному сайті за замовчуванням відкривався документ mydoc.php для цього перейдіть на потрібний сайт і відкрийте настройки "Документ за замовчуванням" і додайте потрібний вам документ, причому можете задати кілька документів задавши їм необхідний пріоритет.
Ще хочу звернути вашу увагу на те, що якщо ви де-небудь прочитали або вам хтось підказав якусь настройку на сервері IIS, а ви її не можете знайти в панелі, то скоріше за все у вас не встановлений необхідний для цього модуль, так як настройки з'являються у відповідність до встановлених модулями.
Наприклад, ви хочете налаштувати на вашому сайті Basic аутентифікацію, але в даний момент ви не можете знайти цю настройку на сервері, для цього вам необхідно до встановити потрібний компонент. Відкриваємо диспетчер сервера ролі-> веб-сервер (IIS) -> додати служби ролей і вибираємо "Звичайна перевірка справжності" або по англ. Basic authentication
Відкриваємо заново "Диспетчер служб IIS" і ми помічаємо, що в пункті "Вказівки щодо справжності у нас з'явився ще один пункт" Звичайна перевірка справжності ". Для того щоб її включити вам необхідно відключити" анонімна перевірка справжності "і відповідно включити" Звичайна перевірка справжності " . Не забудьте створити користувачів в даному випадку "локальних користувачів" Диспетчер сервера-> конфігурація-> локальні користувачі клацаємо правою кнопкою миші "створити користувача" я створив користувача test. Тепер при зверненні на наш сайт буде співаючи ляться форма для аутентифікації
Вводите свого користувача і якщо ви все зробили правильно, то ви знову потрапите на свій сайт!
Тепер поговоримо про найулюбленішою зв'язці це PHP + MySql. Для того щоб додати підтримку MySql досить просто встановити цю СУБД (детальна установка розглядається в статті - Установка сервера MySql і Засоби його управління і адміністрування) і все! Можете створювати сайти в зв'язці IIS 7 + PHP + MySql.