Добро пожаловать!
Здесь вы можете найти ответ на интересующий вас вопрос в отрасли сайтостроения, познакомится ближе с web технологиями и web стандартами.

Статьи

Установка PHP и MySQL на IIS

Всё больше и больше появляется в Интернете сайтов написанных на РНР, что не может не радовать. Как-то исторически сложилось, что если идёт речь о РНР, то веб-сервер Apache. Но это совсем не обязательно. По просьбе моего друга, поделюсь ЛИЧНЫМ опытом настройки веб-сервера (IIS), от фирмы Майкрософт (Microsoft), для полноценной работы с РНР.

На сегодняшний день, существует 2 самых популярных версии IIS, версия 5 и 6. На системах Windows 2000/XP, используется версия IIS5, на Windows 2003 — IIS6. В принципе настройки почти одинаковые, за исключением некоторых вещей.

Положа руку на сердце, в Интернете существует немало материалов, где описывают настройки РНР на серверах Windows 2003, не так как на Windows 2000/XP, но из моего опыта, я бы советовал использовать вариант Windows 2000/XP.

Начну по порядку, с самого начала.

IIS входит в стандартную установку Windows 2000/2003/XP, причём на Windows 2003 он устанавливается по умолчанию. Чтобы установить IIS на Windows 2000/XP, необходимо из Control Panel запустить Add or Remove Programs и перейти в Add or Remove Windows Components и пометить Internet Information Services (IIS).

Ну и, конечно же, не забыть нажать на кнопочку Next. Установщик может попросить у вас "сказать" ему, где находятся файлы установки системы, надеюсь, с этим у вас не будет проблем.

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

Если не хотите себе забивать голову лишними вопросами, то при установки MySQL, можете выбрать режим Complete, я лично всегда выбираю Custom.

На последнем этапе установки, пометьте Configure the MySQl Server nowи нажмите Finish.

В процессе конфигурации MySQL, вы увидите следующее окно:

Вполне достаточно выбрать Standard Configuration. В следуещем окне, я бы посоветовал Вам пометить Include Bin Directory in Windows PATH.

Мы подошли к очень важному этапу настройки. Нам необходимо дать пароль (и не забыть его) для ROOT, самого главного пользователя в MySQL. Если вы внимательно смотрите на экран, то вы наверняка заметили Enable root access from remote machines. Пометив эту опцию, вы сможете подключатся к MySQL, для администрирования, не только локально, но и с удаленной машины. Единственное, не забывайте, что это повышает риск взлома.

Если весь процесс настройки прошёл удачно, то вы должны увидеть следующее окно:

Вот мы установили и настроили MySQL. Для дальнейшей работы с MySQL, я бы посоветовал воспользоваться программой SQLyog или Navicat, это сбережёт ваши нервы.

Теперь можно приступить к установки РНР. Для этого, идем на официальный сайт http://www.php.net. Скачать нужную нам версию, можно тут: http://www.php.net/downloads.php

Так как ещё не все РНР скрипты оптимизированы под РНР 5, я бы советовал поставит версию РНР 4.4.0. На сайте РНР, вы имеете возможность скачать два файла: PHP 4.4.0 zip package и PHP 4.4.0 installer. Скачайте оба. Как вы уже догадались, PHP 4.4.0 installer позволит вам установить РНР на сервер почти без всяких проблем. Есть одно маленькое НО: PHP 4.4.0 installer не содержит все модули. Поэтому, ...

Запускаем PHP 4.4.0 installer.

Достаточно выбрать стандартный способ установки. После нескольких нажатий на Next, вы дойдёте до следующего окна:

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

Если вы ставите РНР на Windows 2000/XP, то сделайте настройку как у меня на картинке, если же у вас Windows 2003, то следует отметить Microsoft IIS 6 or higher. Далее нажимаем на Next для завершения установки. Следующим моим шагом, при установке РНР, является дополнение всех модулей, которых нахватает в PHP 4.4.0 installer. Для этого, я распаковываю PHP 4.4.0 zip package и содержимое архива, переписываю в C:/PHP (там где установлен РНР).

Теперь из Administrative Toolsзапускаем Internet Information Services. Если всё установлено без проблем, то вы увидите что-то похожее на следующую картинку:

Примечание:

Если на компьютере, на котором вы делаете всё, что я вам тут рассказываю, запущен Skype, то IIS не запустится. В настройках Skype, надо отменить использование 80 порта. Просто настройте как на картинке:

Теперь необходимо убедится, что РНР установился на веб-серевер корректно. Для этого заходим в настройки Default Web Site и переходим в Home Directory.

Нажимаем на Configuration и получаем следующее окно:

Убедитесь, что присутствует строка:

.php  C:PHPphp.exe

Если по какой-то причине, этой строки нет, то нажимаем на Add и в открывшемся окне делаем настройки как на картинке:

Теперь переходим на закладку Documents.

Если вы видите такую же картинку, как у меня, то ни один РНР сайт у вас не откроется. Исправляется это очень просто. Нажимаем на Add и вписываем туда имя файла, который должен запустится первым, при входе на ваш сайт.

Не забудьте поднять index.php на первую позицию.

Это конечно не критично, но если у вас в директории, где находится index.php, также есть и файл index.htm, то он запустится первым. Поэтому, я всегда ставлю index.php на первую позицию.

На Windows 2003, пресс настройки РНР немного отличается. Вам необходимо зайти в Web Server Extentions.

Теперь в правом окне, нажимаем на Add a new Web service extension...

В новом окне, делаем настройки как на картинке:

Также, на моём Windows 2003, установлены ещё несколько Web Server Extentions.

Примечание:

На картинке выше, все пути указывают на то, что РНР установлен на диск D:. Не забудьте на своём сервере указать правильный путь.

Чтобы все сайты, которые бегут на Windows 2003, умели понимать РНР (кстати, тоже самое можно сделать и на Windows 2000/XP), заходим в настройки Web Sites

Переходим на закладку Home Directory. Дальше вы знаете, я описал, что надо делать несколько параграфов выше.

Почти закончили. Осталось самая малость. Не обязательно, но желательно.

Я на свой сервер также установил Zend Optimizer. Zend Optimizer позволяет запускать кодированные файлы и , что немаловажно, — увеличивает производительность работы с РНР до 40% (40% — это официальные данные и на сколько они точны, я не берусь утверждать, но я реально почувствовал улучшение, после установки Zend Optimizer). Взять Zend Optimizer можно тут: http://www.zend.com/store/products/zend-optimizer.php

При работе с IIS, следует принять некоторые вещи во внимание. На Windows 2000/XP не работает GZIP compression. На сайте http://www.port80software.com/products/ вы найдёте программу, которая поможет решить вам эту проблему (программа платная). На Windows 2003 compression поддерживается. Но есть одно НО. Compression включается или выключается на уровне всего сервера. Вы не можете на одном сайте включить compression, а на другом выключить. Если всё же, вам необходимо управление compression на уровне сайта, то по предыдущему линку, вы найдёте решение и на это неудобство.

IIS не понимает никаких команд Apache. Такие команды как mod_rewrite работать не будут, следовательно, все РНР скрипты, где есть упоминание о mod_rewrite, не работают. На сайте http://www.isapirewrite.com/ вы найдете программу, которая сможет помочь с проблемой mod_rewrite.

Ещё одно неудобство, с которым я столкнулся, это то, что на Windows не работает Sendmail. Это не удивительно, ведь Sendmail это из жизни Linux. Есть конечно всякие эмуляторы Sendmail для Windows, но всё, что я проверял, работали коряво. Я устал возиться с этим и просто использую настройки SMTP.

Ну вот, вроде и всё. Основные вещи рассказал. Смею повторится, это всего лишь МОЙ ЛИЧНЫЙ опыт. Есть и другие способы. По этому принципу, я настроил два Windows 2003 сервера. На каждом сервере сидит свыше 50-ти сайтов и всё работает "на ура".