Партнерки вебмастерам

Баннер

Кто онлайн

Сейчас 83 гостей онлайн

Статистика

Архив содержит 29 файлов в 11 категориях. На данный момент файлы скачаны 102262 раз.
Маленькое исследование большой тройки: IIS+PHP&MySQL PDF Печать E-mail

Современный Интернет - это динамический контент ярких и познавательных сайтов, который органично смешивается с сервисами, предоставляемыми такими веб-платформами, как Facebook, Google, Microsoft и подобными. Большую роль в развитии современных веб-ресурсов сыграл язык PHP. На этом языке создано и разрабатывается огромное число веб-приложений. Очень многие из разработок на PHP являются свободными проектами. Например, на сайте http://php.opensourcecms.com/ можно посмотреть примеры работы различных систем управления содержимым сайта (CMS – Content Management System). Конечно, хочется протестировать работу таких систем и на своем компьютере. Хотя PHP – это прерогатива Linux. Не секрет, что большинство современных компьютеров работают под управлением операционных систем Windows. На платформе Microsoft для тестирования работы PHP-приложений и развертывания веб-сайтов традиционно превалировало решение WAMP. Это аббревиатура, которая означает - операционная система Windows, веб-сервер Apache, база данных MySQL и интерпретатор языка PHP под управлением указанного веб-сервера. Для установки набора таких компонентов можно воспользоваться последовательной установкой отдельных программ или для целей тестирования использовать одно из решений: ХAMPPDenwer или WampServer.

Microsoft не была бы тем, чем является, если бы не представила свою платформу для запуска PHP-приложений. Нет, конечно, веб-сервер на базе IIS (Internet Information Services) давно поддерживает запуск сценариев, разработанных на языке PHP. Начиная с 7-й версии, IIS стал еще более удобным, защищенным, надежным, а за счет своей модульной архитектуры – и  более быстрым и гибким решением. За счет модуля FastCGI, который оптимизирует процессы вызовов интерпретатора PHP, стало более привлекательным использование веб-сервера от Microsoft. Следует заметить, что IIS уже давно входит в поставку почти всех операционных систем Windows. В серверных операционных системах ограничений на функционал веб-сервисов нет, а в клиентских версиях, например, Windows 7 Профессиональная (на базе этой системы пойдет дальнейшее повествование) есть ограничение на 10 одновременных подключений и т.п. Про это не следует забывать, но для целей ознакомления с CMS эти ограничения несущественны.

Отлично, выберем вариант IIS+PHP&MySQL для запуска популярной системы ведения блога – WordPress. Традиционный процесс установки серверных компонентов должен был быть  следующим: установка IIS – для этого требуется лишь войти в «Панель управления» раздел «Установка программ» и «Добавить компонент Windows» – Сервисы IIS, при этом не забыть подключить возможность запуска сценариев CGI. Затем, скачав с сайта разработчиков, установить интерпретатор PHP, базу данных и перейти к установке понравившейся CMS.

 

Этот вариант является прекрасным решением для развертывания веб-сервера, когда администратор полностью представляет, какие компоненты ему нужны, и хочет полностью руководить процессом установки. Но есть более гибкое и элегантное решение – это Microsoft Web Platform Installer (Web PI).

Использование Веб-платформы Microsoft значительным образом реорганизует процесс восприятия и развертывания веб-сервера. Теперь нужно лишь зайти на сайт http://www.microsoft.com/web/ и скачать небольшую программу – Web Platform Installer, которая фактически является мастером развертывания веб-служб. В настоящее время поддерживаются следующие операционные системы: Windows 7, Windows Vista,Windows Vista SP1, Windows XP SP2+, Windows Server 2003 SP1+, Windows Server 2008, Windows Server 2008R2. Для дальнейшей работы потребуются права администратора операционной системы.

Web PI

 

Идея Web Platform Installer достаточно проста, но очень эффективна – если вы знаете, что вам нужно, то выбираете нужные компоненты для своего узла. Если вам нужен только WordPress – за вас выбор платформы выполнит мастер. Поскольку мастер установки работает не только с продуктами Microsoft, а фактически с PHP,MySQL, WordPress и т.п., то эти компоненты будут загружены с сайтов разработчиков. Поэтому не следует забывать о соответствующих лицензиях на программные компоненты. Таким образом, выбрав для установки в категории «Веб-платформа» только систему WordPress, мы получаем профессионально сконфигурированный и настроенный ресурс.

 

Web PI

Процесс установки очень прост. Компоненты, доступные в операционной системе, будут установлены и сконфигурированы на совместную работу с PHP и базой данных MySQL, которые, в свою очередь, будут загружены из Интернета вместе с зависимостями. Например, для WordPress WordPress 3.0.3 потребовалось: Средство веб-развертывания 1.1, PHP 5.2.13, Модель процессов WAS, Документ по умолчанию, Просмотр каталога, Ошибки HTTP, Ведение журнала HTTP, Средства ведения журнала, Монитор запросов, Фильтрация запросов, Сжатие статического содержимого, Консоль управления IIS, API конфигурации WAS, CGI, Переопределение URL-адресов 2.0, MySQL Connector/Net 5.2, MySQL Windows Essentials 5.1, Бета версия 2 расширения кэша Windows для PHP 5.2. Общий размер загружаемых файлов составил 76,38 Мбайт.

Web PI

На завершающем этапе установки пользователь должен будет указать пароль пользователя root(суперпользователь, обладающий всеми правами) к базе данных.

Web PI

Затем выполняется непосредственно процесс развертывания веб-приложения. На шаге 1 из 2 необходимо ввести данные о сайте. Можно оставить все параметры без изменения, и тогда наш сайт будет доступен локально по адресу http://localhost/wordpress/ на стандартном 80-м порте службы HTTP. Если у нас есть свой домен или требуется создать новый сайт в дополнение к уже существующему, то в графе веб-сайт следует выбрать: «Новый веб-сайт» и ввести необходимые настройки.

Web PI

На шаге 2 из 2 установки веб-платформы следует ввести данные о приложении, в нашем случае – это WordPress. В этом диалоговом окне следует указать, что мы создаем новую базу данных в MySQL. В поле «администратор базы данных» вводим назначенный ранее пароль пользователя root. Затем указываем, что следует создать новую базу данных, например, с именем wordpress и пользователем этой базы данныхwordpressuser. Параметры Unique Key for Passwords (Ключи безопасности) можно задать случайно сгенерированной фразой или воспользоваться сервисом: the online generator.

Web PI

Дальнейшая работа с WordPress осуществляется стандартно в веб-браузере, где пользователь сначала вводит основные параметры для своего блога, а затем входит в панель администратора и настраивает сайт по своему усмотрению. Установленный сайт будет доступен по адресу: http://localhost/wordpress/ и физически скрипты CMS будут находиться на жестком диске компьютера в каталоге: C:inetpubwwwrootwordpress.

WordPress

Следует еще сказать пару слов о Web Platform Installer. Можно в основном окне программы выбрать режим «Настройки», что даст возможность выбрать дополнительные разделы, например, «Платформа мультимедиа», «Средства для разработчиков» и «Предприятие».

Web PI

Теперь перейдем от самого процесса установки нашей веб-платформы к управлению ее компонентами. Соответственно, веб-сервисы IIS и база данных MySQL запускаются в системе как Сервисы, т.е. они будут доступны и после перезагрузки компьютера. Мы можем зайти в «Панель управления», «Система и безопасность», «Администрирование» и выбрать раздел «Службы».

Windows

В открывшемся разделе Панели управления нас интересуют две позиции: MySQL и Служба веб-публикаций. Здесь мы можем останавливать и запускать соответствующие службы, но главное – можно два раза кликнуть по названию службы и отредактировать тип ее запуска. Если сменить Автоматический запуск службы на ручной, то такая служба не запустится при старте системы и будет ждать, пока пользователь ее не запустит.

Windows

Еще один интересный момент – если нам хочется открыть доступ к веб-сайту, например, из локальной сети, то можно выполнить следующие нехитрые операции. Сначала нужно узнать IP-адрес своего компьютера; если он не известен пользователю, что для сервера достаточно странно, то можно использовать команду: ipconfig /all операционной системы. После этого можно в окне браузера указать адрес: http://192.168.1.100/wordpress/, где192.168.1.100 – соответствующий IP-адрес машины. С другого компьютера в сети сайт будет не виден до тех пор, пока в параметрах брандмауэра мы не укажем соответствующие разрешения для «Службы Интернета (HTTP)». Чтобы это выполнить, требуется зайти в «Панель управления», «Система и безопасность», в раздел «Разрешение запуска программы через брандмауэр Windows».

Windows

Если на этом этапе пользователь на другом компьютере в сети откроет наш блог, то он очень удивится отсутствию разметки и рисунков. Это следствие того, что в наших настройках WordPress указан адрес сайта http:// localhost. Для решения этой задачки можно в настройках блога указать IP-адрес компьютера в строке путей или просто в файле настроек WordPress – это  wp-config.php до строки: «/* That's allstop editingHappyblogging. */» вставить:

define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/wordpress');
define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/wordpress');

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

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

IIS

Теперь немного отвлечемся от графического интерфейса управления IIS и рассмотрим интересную возможность, которую очень часто используют при развертывании современных сайтов на базе CMS. Это формирование удобных ссылок на публикуемые материалы. В меню конфигурирования WordPress есть соответствующий раздел – Permalink Settings (Постоянные ссылки).

WordPress

Может показаться, что все должно сразу заработать, поскольку у нас установлен компонент для IIS – Переопределение URL-адресов. Компонент-то есть, но нет конфигурации для конкретного сайта. Дело в том, что для разных CMS требуется разные настройки этого модуля. Для WordPress сделаем следующее – создадимтекстовый файл Web.config, который будет содержать xml-строки конфигурации:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Этот файл следует поместить в каталог на жестком диске, где находится скрипт нашего сайта: C:inetpubwwwrootwordpress. Кстати, теперь во вкладке Диспетчер служб IIS – Редактор конфигурации – Поиск конфигурации мы можем увидеть содержимое нашего Web.config. Соответственно, «красивые» пути в WordPress уже работают. Однако, если в пути к содержимому раздела будут русские буквы, мы получим ошибку. Для решения этой задачи проще задавать пути на латинице или использовать соответствующий плагин WordPress, например: Cyr-To-Lat.

Диспетчер служб IIS позволяет управлять модулями самого IIS и сайтами пользователя. Можно устанавливать различные параметры работы сайта, останавливать и запускать его, а также осуществлять перенос сайта на другой ресурс. В общем, можно сказать, что Диспетчер служб IIS – отличный графический инструмент для управления соответствующими сервисами веб-сервера. Но что можно сказать о PHP и MySQL? Здесь все по старинке – правим текстовые *.ini файлы конфигурации. Но мы ведь ищем более удобное решение, соответственно, воспользуемся модульной структурой IIS и загрузим дополнительные модули. Запустим сноваWeb Platform Installer и в разделе Веб-платформа, Платформы и среды выполнения выберем – PHP Manager forIIS.

Web PI

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

Следующий очень удобный компонент для администрирования сайта – это Диспетчер баз данных 1.0, который можно установить из раздела Веб-платформа, Платформы и среды выполнения Web Platform Installer.

Web PI

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

IIS

Такие действия могут потребоваться, например, в случае, если забыт пароль администратора к WordPress. Также можно выполнить произвольный SQL-запрос, например: «CREATE DATABASE my_db;». В результате этого мы получим новую базу данных с именем «my_db», c которой можно использовать другую CMS. Для подключения к базе данных требуется в разделе нашего веб-сайта Диспетчера служб IIS выбрать DatabaseManager и в открывшемся окне выбрать «Add connection» и указать параметры подключения к базе данных MySQL.

IIS

Поскольку мы создали новую базу данных, можно установить еще одну CMS. Пусть это снова будет WordPress, но устанавливать эту систему будем уже не при помощи Web Platform Installer, а самостоятельно. Для этого потребуется скачать движок с сайта http://wordpress.org/, распаковать, полученный архив и скопировать в папку, например, с именем blog, в каталог: C:inetpubwwwroot. После этого, если мы хотим, чтобы наш движок сайта мог самостоятельно обновляться, или, например, можно было из панели администрирования WordPress устанавливать плагины и т.п., требуется указать соответствующие права на запись в каталог blog пользователюIUSR.

Windows

Теперь осталось лишь в Диспетчере служб IIS для нового сайта выполнить действие «Преобразовать в приложение». Это легко сделать, нажав правой кнопкой мыши на имя сайта – «blog» и выбрав соответствующий пункт меню. Далее следует традиционная последовательность установки WordPress, но уже по адресу: http://localhost/blog/.

Вот уже и подошел момент, когда можно подвести черту и сказать, что базовые действия по развертыванию веб-приложения на платформе Microsoft Windows мы выполнили. Однако хочется сказать немного о средствах для работы с базами данных. Если Database Manager предоставляет базовый функционал для работы с Microsoft SQL Server и MySQL корпорации Oracle, то, например, такое веб-приложение, как phpMyAdmin, предоставляет функционал для работы с MySQL в веб-браузере. Однако есть еще очень интересное графическое приложение от Oracle – это MySQL Workbench, бесплатную версию которого можно загрузить по адресу: http://wb.mysql.com/.

MySQL

MySQL Workbench, как следует из названия продукта, поддерживает только MySQL и позволяет создавать и редактировать базы данных, работать на уровне графической модели базы данных и, конечно, администрировать сервер баз данных. Например, в режиме Server Administration можно остановить или запустить соответствующий сервер, наблюдать графики использования ресурсов и работать с пользователями баз данных, добавлять их и определять права на доступ.

MySQL

Таким образом, мы рассмотрели базовые возможности совместной работы IIS с поддержкой интерпретатора PHP и базы данных MySQL на примере развертывания веб-сайта под управлением WordPress. Можно только восторгаться надежностью, защищенностью и производительностью такого решения. Веб-сервер под управлением Internet Information Services дает беспрецедентную возможность работы традиционных PHP-решений на масштабируемой платформе от Microsoft, которая рождена для высоких нагрузок. Нами рассмотрены замечательные графические средства администрирования такой платформы, которые гармонично дополняют традиционные средства редактирования текстовых конфигурационных файлов. Так же не следует забывать про PowerShell – средство Microsoft для конфигурирования сервисов из интерфейса командной строки.

Но не все так просто в «Датском королевстве». Если говорить о простом ознакомлении с современной CMS, то мой выбор все-таки падает на решение на базе Apache, например, ХAMPP. Дело в том, что такое решение не привязывается к конкретному компьютеру, его можно установить в считанные минуты. Для ХAMPP защищенность не основная задача – это тестовая платформа, соответственно, в нем действует принцип – максимум возможностей разрешены, пусть даже в ущерб безопасности. Но в тестовой системе хочется быстро посмотреть на работу скрипта, а не гадать, в чем проблема, например, надо ли установить определенные права на папку и т.п. Тем более, что такое портативное решение можно установить на флешку и оперативно показать свой сайт на другом компьютере.

Решение Microsoft – это стационарный продукт, который превращает компьютер в полноценный веб-сервер. Конечно, эксперименты с IIS+PHP&MySQL дали почву для раздумий о выборе платформы для развертывания веб-сервера на базе Microsoft Windows Server 2008. В этом направлении позиции IIS стали очень значительны, и в совокупности с простыми средствами администрирования можно говорить об очень привлекательной платформе. Конечно, поддержка технологии ASP.NET приводит к тому, что в некоторых случаях выбор именно решения на базе IIS остается без альтернативы при развертывании веб-узла. Но следует особенно отметить Web Platform Installer, который делает «процесс вхождения» в создание веб-ресурса быстрым, удобным и интуитивно понятным.

В заключение следовало бы вспомнить про разработчиков веб-приложений. Однако это уже отдельная тема для повествования, особенно в свете близкого появления такого продукта, как WebMatrix. Что же, он тоже устанавливается из Web PI. Интересно, а как считает читатель – насколько востребовано решение IIS+PHP&MySQL? Насколько интересна аренда хостинга на базе IIS? Ведь с точки зрения ценовых решений такой хостинг почти сравнялся с предложениями на базе Linux.