WIMP – Windows, IIS, MySQL, PHP. Установка PHP-приложения ISS/Windows 2008 Server::Журнал СА 3.2009
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

 Читать далее...

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

 Читать далее...

Книжная полка  

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

 Читать далее...

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

 Читать далее...

Книжная полка  

Секрет успешных людей

Книги издательства «БХВ» по ИТ рассчитаны на разные категории читателей: от новичков

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 11274
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 9530
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 9578
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5986
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6695
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 3988
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2907
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3715
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3719
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6209
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3064
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3363
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7180
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10558
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12274
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13908
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9039
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7000
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5310
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4543
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3350
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

Друзья сайта  

 WIMP – Windows, IIS, MySQL, PHP. Установка PHP-приложения ISS/Windows 2008 Server

Архив номеров / 2009 / Выпуск №3 (76) / WIMP – Windows, IIS, MySQL, PHP. Установка PHP-приложения ISS/Windows 2008 Server

Рубрика: Администрирование /  Продукты и решения

Кирилл Сухов

WIMP – Windows, IIS, MySQL, PHP
Установка PHP-приложения ISS/Windows 2008 Server

PHP всегда работал на Windows.

Проблема в том, что никогда достаточно продуктивно.

 

Энди Гатманс (Andi Gutmans),

сооснователь и технический директор компании Zend

Появившийся в седьмой версии Internet Information Services модуль FastCGI позволяет эффективно использовать все возможности препроцессора PHP на платформе Microsoft Windows. Сегодня мы попробуем установить необходимые компоненты и развернуть PHP-приложение на базе ISS 7/Windows 2008 Server.

Несмотря на то что язык программирования PHP пришёл из мира UNIX/Linux, на платформе Microsoft Windows он утвердился почти со дня своего появления. Сначала такое сочетание использовалось исключительно как площадка для разработки, затем стало активно использоваться для внутрикорпоративных интранет-сайтов. Возможность установки препроцессора PHP на Internet Information Server/Services была уже начиная с третьей версии последнего, и она не осталась невостребованной.

Но полноценный интернет-сайт на связке ISS/PHP был скорее экзотикой. Причина проста – PHP на IIS устанавливался в качестве ISAPI-модуля или простого бинарного cgi-обработчика. Первый вариант урезал некоторые возможности интерпретатора, а второй существенно снижал производительность.

С выходом ISS 7 положение может радикально измениться. Новый модуль – FastCGI вполне способен довести производительность до приемлемого «промышленного» уровня. Это касается, разумеется, не только PHP, FastCGI позволяет работать с любым интерпретатором, как то Perl, Python, Ruby. Но именно разработчики ядра PHP из компании Zend Technologies Ltd тесно сотрудничали с программистами Microsoft в процессе создания последними нового модуля. Была даже выпущена специальная сборка PHP, но об этом чуть позже.

Сейчас мы попытаемся установить препроцессор PHP на Internet Information Services, работающий на платформе Windows 2008.

Установка модуля FastCGI

Прежде всего запустим IIS и убедимся, что он работает. Для этого раскрываем «Start -> Administrator Tools -> Server Manager». Раскроется окно консоли MMS Server Manager. В левой его части раскроем ветку (обвязку) Roles и выберем там Web Server(IIS) (см. рис. 1).

Рисунок 1. Консоль Server Manager. ISS найден и работает

Рисунок 1. Консоль Server Manager. ISS найден и работает

Если там его нет, значит, IIS не добавлен в роли вашего сервера и следует воспользоваться командой Add Roles.

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

Работоспособность IIS можно проверить, раскрыв браузер и набрав адрес http://localhost. Если всё в порядке, мы увидим стартовую страничку ISS .

На той же панели смотрим раздел Role Services и ищем сервис CGI (который подразумевает возможность использования как CGI, так и FastCGI-модулей).

Если таковой не установлен, воспользуемся командой Add Role Services и выберем CGI («Web Server -> Application Development -> CGI») из предложенного списка ролей .

Установка PHP

Теперь приступим к установке PHP. Скачиваем последнею версию препроцессора для платформы Windows. В данном случае это PHP 5.2.8, причём желательно выбрать PHP 5.2.8 Non-thread-safe, так как контроль безопасности потоков совершенно не нужен при однопоточном выполнении скриптов CGI-модулем. Эта версия была специально разработана для функционирования под управлением FastCGI IIS, и разработчики компании Zend серьезно поработали над оптимизацией производительности PHP под Windows.

Если вы выбрали installer, то всё, что нужно после скачивания – это запустить инсталлятор, уточнить месторасположение PHP (я выбрал C:\PHP), уточнить сервер (обратите внимание на варианты на рис. 2: выбираем, разумеется, IIS FastCGI) и выбрать список желаемых расширений. После завершения установки проведём небольшую проверку на работоспособность интерпретатора.

Рисунок 2. Выбираем веб-сервер для установки PHP

Рисунок 2. Выбираем веб-сервер для установки PHP

Для этого создадим в папке C:\PHP файл start.php со следующим содержимым:

<?php

echo "test php 5.2";

?>

Затем, открыв консоль, выполним команду:

C:\PHP>php start.php

test php 5.2

Как видите, всё работает.

Теперь выполним некоторые настройки интерпретатора PHP, влияющие на его работу в составе FastCGI-модуля.

Директива cgi.fix_pathinfo обеспечивает поддержку правильных переменных PATH_INFO/PATH_TRANSLATED для CGI. По умолчанию отключена, мы включаем (устанавливаем значение равным 1).

Директива cgi.force_redirect необходима для обеспечения безопасности во время работы PHP в качестве CGI под большинством веб-серверов и по умолчанию включена. В нашем случае её не только можно, но и нужно выключить.

Директива cgi.redirect_status_env – выключаем во избежание путаницы с переменными окружения.

Директива fastcgi.impersonate – поддерживает под ISS возможность имперсонации прав безопасности вызывающего клиента. Включаем.

Остальные директивы, такие как error_reporting, open_base_dir и т. д., устанавливаем как обычно, как это соответствует нашим задачам.

Настройка Internet Information Services

Снова откроем Server Manager и перейдём в Internet Information Services (IIS) Manager («Server Manager -> Roles -> Web Server -> Internet Information Services (IIS) Manager»). Здесь мы выберем сервер, для которого необходимо добавить поддержку PHP (у меня это mysite, при необходимости можно там же создать свой узел).

Далее выбираем пункт Handler Mappings, а там команду Add Module Mapping. Заполняем получившуюся форму следующим образом, как показано на рис. 3. Я думаю, что тут ничего не нуждается в комментариях. После подтверждения формы появится запрос о регистрации нового FastCGI-обработчика, на который следует ответить согласием.

Рисунок 3. Добавляем обработчик сценариев PHP

Рисунок 3. Добавляем обработчик сценариев PHP

Теперь в корне нашего сайта (если мы использовали каталог по умолчанию, то это будет C:\inetpub\wwwroot) создадим файл test.php следующего содержания:

<?php

phpinfo();

?>

Запустим его, набрав в браузере адрес http://localhost/test.php. Если всё было сделано правильно, результат должен быть аналогичным страничке, показанной на рис. 4.

Рисунок 4. PHP работает!

Рисунок 4. PHP работает!

Вот и всё, PHP установлен и можно размещать на IIS необходимые нам веб-приложения. Правда, эти приложения наверняка используют какую-либо СУБД, и весьма вероятно, что это MySQL.

Конечно, в идеале хорошо бы их заставить работать с MSSQL-сервером, но здесь мы сталкиваемся с проблемами, причём стоимость СУБД от Microsoft не является главной из них. Дело в том, что диалект SQL, используемый MySQL, довольно сильно отличается от TSQL, и скрипты, работающие с СУБД, придется существенно модифицировать. Это отдельная большая тема, а пока просто установим на Windows 2008 Server СУБД MySQL.

Установка MySQL

Тут не должно возникнуть трудностей. Качаем дистрибутив MySQL со страницы – http://dev.mysql.com/downloads, и запускаем инсталлятор. После нескольких уточняющих вопросов СУБД будет установлена, и поступит предложение о редактировании начальной конфигурации. Согласимся.

На первом шаге выберем пункт Detailed Configuration, затем последует вопрос о типе сервера, выбираем Server Machine (для разработки, в общем-то, больше подходит вариант Developer Machine с минимальным использованием памяти, но в любом случае эти настройки можно исправить и после установки).

На следующем этапе выберем тип использования СУБД (Multifunctional Database), затем уточняем диск и место для хранения файлов данных таблиц InnoDB (если, конечно, не устраивает размещение по умолчанию, меня – вполне).

Далее задаём примерное число одновременно обслуживаемых соединений и уточняем способы их обработки, потом сетевые опции и порт соединения и, наконец, кодировку по умолчанию (везде, кроме кодировки, оставляем предлагаемые значения, кодировку, если нет других соображений, ставим utf-8).

Следующим этапом уточняем способ запуска MySQL (если нет других весомых соображений, выбираем Install As Windows Service), задаём пароль пользователя root. После этого применяем настройки.

Для проверки раскрываем запущенные службы («Start -> Administrative Tools -> Services») и находим MySQL в списке служб (должна запускаться автоматически).

Теперь займёмся установкой одного из самых популярных PHP-приложений системы управления контентом (CMS – Content Management System) Joomla!. Сначала скачаем последний стабильный релиз системы со страницы загрузки (http://www.joomla.org/download.html). На сегодняшний момент это версия 1.5.9.

В панели IIS Manager командой Add Site (доступной в контекстном меню) создадим новый сайт myjoomla (см. рис. 5), задав его физическое расположение как C:\inetpub\wwwroot\myjoomla, распакуем туда скачанный архив.

Рисунок 5. Добавляем новый сайт

Рисунок 5. Добавляем новый сайт

Теперь в панели IIS Manager раскроем сайт myJoomla, выберем пункт Default Document и добавим в раскрывшийся список index.php.

Теперь в браузере набираем адрес http://localhost/myjoomla/installation/index.php и попадаем в программу-инсталлятор Joomla!. После выбора языка будет произведена детальная проверка системы, результат которой виден на рис. 6. Как мы видим, препятствий к установке CMS нет.

Рисунок 6. Всё в порядке. Можно начинать

Рисунок 6. Всё в порядке. Можно начинать

Далее ознакомимся с лицензионным соглашением (GPL) и установим параметры базы данных. Один нюанс – до этого в MySQL должен быть создан пользователь, от которого joomla будет общаться с БД (в моём случае это Geol), обладающий соответствующими правами. Можно, конечно, поставить параметры пользователя root, но сами понимаете, это не лучшее с точки зрения безопасности решение.

Следующим этапом установки станет конфигурация ftp-акаунта (опускаем), затем будет предложено ввести некоторые параметры будущего сайта. Если вы никогда раньше не имели дела с движком Joomla!, настоятельно рекомендую установить флажок в пункте «Установить демо-данные» и установить их, так будет значительно легче разобраться. Остальные настройки не должны вызвать вопросов.

Теперь всё готово к установке. Нажимаем «Далее» и… Вот тут сервер порадовал меня 500-й ошибкой. Вообще это был единственный сбой и довольно легко устранимый. После несложного расследования было установлено, что файлы и папки дистрибутива joomla записаны у меня на сервере с атрибутом read only. Что делать – надо привыкать к законам Windows. После исправления и повторной процедуры инсталляции всё сработало.

Теперь удаляем или переименовываем папку C:\inetpub\wwwroot\myjoomla\myjoomla\instalation, заходим на только что созданный портал по адресу http://localhost/myjoomla/ и наслаждаемся полученным результатом (см. рис. 7).

Рисунок 7. Наш портал работает!

Рисунок 7. Наш портал работает!

Я не собираюсь тут излагать основы работы с CMS Joomla!, в конце концов, на эту тему написана не одна книга (на всякий случай администрировать портал вы можете, зайдя по адресу http://localhost/myjoomla/administrator/ и постаравшись вспомнить логин и пароль администратора, созданный вами при установке), да и цель этой небольшой статьи была не эта. Мне хотелось показать допустимость и жизнеспособность PHP-решений средней тяжести на платформе Windows 2008 Server/ISS, и, по-моему, это удалось. За кадром осталась работа PHP с MSSQL Server, такой интересный инструмент, как Web Platform Installer, но я надеюсь исправить эту несправедливость в ближайшее время.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru