Объясню, почему мне не навятся "денверы". Всё просто - я нелюблю когда что-то работает непонятно как , и неизвестно почему именно так настроено.
Мне ненравится "суррогаты" , предпочитаю пользоватся исходными продуктами (конечно, до компилирования всего своими руками доходить небудем, это уже перебор
)На самом деле, полноценная настройка рабочего места занимает не более 15-20 минут, и при этом Вы точно знаете что, и где находится.
Итак начнём с Апача
1) Забираем дистрибутив с сайта http://httpd.apache.org/
(на момент написания данной статьи - последней была версия apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msi )
обращаю Ваше внимание на слово openssl, именно такая версия Вам нужна , если будет желание поработать с протоколом HTTPS (более подробно - в соседней теме)
На сайте апача есть ещё много всего интересного, но пока-что нам хватит.
Установка дистрибутива
Устанавливаем Апача как сервис, чтобы он работал на страндартном порту (80й порт)
При установке одновременно Apache и Skype бывают проблемы.
Всё дело в том, что Скайп по неведомой причине также претендует на 80й порт. Проблема решается очень просто - корректируются настройки Скайпа
Необходимо зайти в "Инструменты=>Настройки" Skype. Там “Дополнительно”=>”Соединение” и убрать галочку “Ипользовать порты 80 и 443…”
Параметры Апача
server name и domain name если они заполнены - можно не менять.
Если они пустые , то заполните их
server name= 127.0.0.1
domain name=mydomain <- здесь могло біть любое название
Апач установлен!
Настройка Апача для работі с сайтами (Виртуальными Хостами)
1) Открыть файл настройки
C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
В этом файле, те строки, перед которыми стоит знак "#" - это комментарии, они не обрабатываются
Найти ,
- Код: Выделить всё
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
</Directory>
добавить после Deny from all строку Allow from all
поменять AllowOverride None на AllowOverride All
Только что Вы разрешили (Allow from All) доступ к Вашим сайтам , а также (AllowOverride All) позволили использовать служебный файл .htaccess
Найти
- Код: Выделить всё
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
И добавить туда через пробел index.htm index.php
Только что Вы перечислили, главные файлы сайтов.
Именно с указанных файлов и начинается просмотр любого каталога вашего сайта.
Найти
- Код: Выделить всё
#Include conf/extra/httpd-vhosts.conf
и раскомментировать эту строку (удалить знак "#" )
Сейчас вы подключили дополнительный файл с настройками, где и будут описанны наши сайты.
Настройка виртуальных хостов
Открываем
C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd-vhosts.conf
Перед нами два блока
<VirtualHost *:80>
...........
</VirtualHost>
Таких блоков может быть неограниченное количество, и каждый отвечает за свой сайт
Превратите первый виртуальный хост (второй можно убрать, он нам ненужен) в
- Код: Выделить всё
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.voliacable.com
DocumentRoot "c:/www/myadmin"
ServerName myadmin
ServerAlias www.myadmin
ErrorLog c:/www/logs/myadmin-error_log
CustomLog c:/www/logs/myadmin-access_log common
</VirtualHost>
Что получилось
DocumentRoot - каталог , гдк находятся файты настраиваемого сайта
ServerName - основное имя, по которому Вы будет заходить на данный сайт
ServerAlias - дополнительное имя (данная строка может отсутствовать)
ErrorLog - путь к системному файлу - журналу ошибок сайта.
CustomLog - путь к системному файлу . Обратите внимание, чтобы в конце строки через пробел стояло слово " common"
Каталоги, которые необходимо создать ( исходя из указанных настроек)
c:/www/ - здесь я обычно помещаю свои сайты
c:/www/logs - здесь находятся лог-файлы от всех сайтов
c:/www/mysite - один из каталогов (сайтов)
После любых настроек сервер Apache необходимо перезапустить
Пуск-> Программы -> Apache HTTP Server -> Control -> Restart
Или Пуск -> «Панель управления»-> Администрирование -> Сервисы -> Apache Щелкнуть правой кнопкой «Перезагрузить».
Виртуальные хосты настроены!
Установка PHP
PHP - очень мощный инструмент программирования. На нём можно решать задачи, который существенно выходят за рамки "показать страничку"
Данный продукт является бесплатным, и скачать дистрибутив можно с официального сайта http://www.php.net/downloads.php
Нам нужна версия Windows Binaries (zip package)
Распаковываем архив с дистрибутивом в папку c:\php
Копируем c:\php в windows\system (для Windows 9x/Me), winnt\system32 (для Windows NT/2000) или windows\system32 (для Windows XP) файл php5ts.dll
Далее необходимо :
Добавить в C:\Program Files\Apache Software Foundation\Apache2.2\conf строки
- Код: Выделить всё
LoadModule php5_module c:/php/php5apache2_2.dll
!!!! необходимо размещать в соответствующем разделе LoadModule
Найти раздел AddType, добавить
- Код: Выделить всё
AddType application/x-httpd-php .php
Настройка PHP
Настройка производится с помощью файла php.ini. Его необходимо создать из файла php.ini-dist (он находится в каталоге c:\php ) и перенести в папку c:\windows
Редактируем файл настроек, который перенесли в c:\windows
1. Можно изменить register_globals = On , однако в версии 6 планируется иключение данного параметра
2. В разделе
; Dynamic Extensions ;
Раскомментировать (убрать “;”) в строках модулей которые будут нужны для работы.
Например
extension=php_gd2.dll - для работы с изображениями
extension=php_mysql.dll - для работы MySQL <= не трогать до установки MySQL
Обязательно !!! изменить
extension_dir = "c:/php/ext/"
3. Указать настройки для работы с почтой
SMTP = pc1 – указать smtp сервер Вашего провайдера
sendmail_from = me@example.com – указать почтовый ящик куда будут приходит не доставленные сообщения
4. Для нормальной работы с сессиями раскомментировать
session.save_path = c:/tmp/ - указать путь где будут храниться временные файлы сессий
Каталог c:/tmp/ нужно создать
РНР установлен и настроен!
Установка MySQL
MySQL - один из наиболее популярных серверов БД, и фактически является стандартом для веб-серверов.
Распространяется данный продукт по 2м лицензиям
1) GPL (т.е. БЕСПЛАТНО!
)2) Коммерческая лицензия
Отличие только в одном - для коммерческого варианта предусмотрена служба поддержки.
Функционально оба варианта идентичны
Дистрибутив можно забрать с официального сайта http://dev.mysql.com/downloads/mysql/5.0.html#win32
После скачивания , запустите установку сервера
Параметры установки:
- Полная установка
- При конфигурировании указываем :
Developer Machine
Multifunctional Database - Позволяет нам пользоватся механизмами как MyISAM так InnoDB
Если Вы планируете работать с транзакциями.
Non-transactional Only - Позволяет нам пользоватся механизмами только MyISAM
Данный вариант более предпочтителен.
!!! Обязательно меняем DefaultCharacterSet на cp1251
Настройки безопасности не меняем (снять галочку «изменить») -пользователь root без пароля)
- Для работы РНР с сервером БД, необходимо скопировать файл libmysql.dll из каталога BIN (<путь установки>/mysql/bin)
(обычно это C:\Program Files\MySQL\MySQL Server 5.0\bin)
в каталог Windows/System32
И, если мы этого ещё не сделали раньше - раскоментировать модуль extension= php_mysql.dll в Windows/php.ini
Сохраняем все отредактированные файлы, и закрываем их (чтобы точно знать, что все изменения записанны).
И теперь наступает "момент истины" - перезапускаем Апач

Если что-то было сделанно неправильно, то апач не захочет стартовать.
Найти и исправить ошибку Вам поможет специальный пункт меню :
Пуск->Программы-> Apache HTTP Server -> Configure Apache Server -> Test Configuration
После запуска данной программы, на экране будет окно, в котором указанно, на какой строчке, и в каком файле произошла ошибка.
Хотя, если по пунктам Вы прошли внимательно, то данной утилитой Вам пользоватся не придётся

Готово!
Чтож, подведём итог :
Установлен комплекс Apache+MySQL+PHP.
Вы знаете месторасположение ВСЕХ своих файлов, и ВСЕ параметры , которые были использованны при настройке!
Успехов! Будут вопросы - добро пожаловать в обсуждение
