Специально для КУМА! :)
как это делал я....
Получение нужных дистрибутивов
Apache 1.3 - http://apache.org/
php 4 - http://www.php.net/
MySql 4  - http://mysql.directnet.ru/
Zend Optimizer  - http://www.zend.com/ Тута надо зарегится (бесплатно).

Дерево каталогов
При выборе диска на котором будет хранится все это добро лучше всего использовать специально отведенный для этого диск, я при разбивке дисков всегда создаю диск X [SERVER] для этих целей. Чтобы избежать любых хлопот в дальнейшем при переносе файлов с локального тестового сервера на сервер в интернет, нам нужно создать похожею схему. Cтруктура каталогов в моем случае будет следующей:
/usr - каталог для хранения приложений
/home - хранение виртуальных хостов
/logs - журнальные файлы Apache

Установка Mysql
Запустим Setut.exe. При инсталляции не меняйте Destination Folder, оставьте как есть C:/mysql, потом нужно будет переместить всё в x:/usr/mysql. Чтобы зарегистрировать мускуль как службу Windows нужно выполнить следующие действия:
Открыть command.com (пуск-выполнить...-cmd)
cd x:/usr/mysql/bin
mysqld - install

должно появится:
Service successfully installed.
Теперь сервер установлен как служба, запустите его через Панель Управления -> Администрирование -> Службы -> mysql -> Запустить

Зашита новой инсталляции
По умолчанию к серверу могут подключится все локальные анонимные пользователи которые будут иметь доступ к базе test и другим базам начинающиеся с test_. Для удаления этих привилегий выполните команды:
mysql -u root
mysql> DELETE FROM user WHERE Host='localhost' AND User='';
mysql> QUIT

MySql при установке создает пользователя root без пароля, сервер никак не защищен, чтобы установить пароль нужно выполнить команду:
mysqladmin -u root password здесь_новый_пароль
mysqladmin -u root reload
А в принципе всё это можно будет сделать в дальнешем с помощью phpmyadmin.

Установка Apache
Итак открываем установочный файл apache_1.3.xx-win32-x86-no_src.exe, соглашаемся с лицензионным соглашением, далее нам предложат внести информацию для главного сервера, указываем (не принципиально):
Network Domain - localhost
Server Name - localhost
Administrator's Email Adress - admin@localhost
Жмем Next>, Next>.
Destination Folder - жмем Change… , прописываем x:/usr, далее Next> и Install. Apache будет установлен в x:/usr/Apache. В Windows XP Apache будет установлен как сервис и сразу же запустится. В браузере при обращении к http://localhost/ мы должны будем увидеть страницу сообщающею о том что Apache был успешно установлен.

Базовая конфигурация Apache
Откройте файл x:/usr/Apache/conf/httpd.conf.
DocumentRoot "x:/home/localhost/www" #в моем случае
Заменим блок
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

на
<Directory />
Options Indexes Includes
AllowOverride All
</Directory>

В данном случае можно будет менять установки при помощи .htaccess, и каталоги будут индексироватся - будет наследоваться для всех виртуальных хостов.
Далее идут директивы для главного хоста, там есть много комментариев, замените все что находится между <Directory "x:/usr/Apache/htdocs"> и </Directory> на
<Directory "x:/home/localhost/www">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
в блоке <IfModule mod_userdir.c> пропишим локальный каталог пользователей, в нашем случае это:
UserDir "www"
В директиве DirectoryIndex нужно указать файлы которые будут выдаваться по умолчанию:
DirectoryIndex index.html index.htm index.shtml index.shtm index.php
Поддержка SSI:
Ищем строку:
#AddHandler server-parsed .shtml
заменяем на:
AddHandler server-parsed .shtml .shtm .sht

Для настройки других директив смотрите документацию по Apache.
Чтобы новые параметры вступили в силу нужно перезапустить Apache. Для этого идем в Панель Управления -> Администрирование -> Службы -> Apache -> Перезапустить. Если Apache не запускается то откройте command.com
cd x:/usr/Apache
apache.exe

будет выдана ошибка почему не запускается, исправьте и попробуйте снова. Когда Apache будет запущен остановите его нажав CTRL+C и запустите через службы.

Создание виртуальных хостов
Рассмотрим пример создание виртуального хоста tv-gluck.com. Для начала пропишем его в файле hosts который находится в C:/WINDOWS/system32/drivers/etc:
127.0.0.2 tv-gluck.com
Я не прописываю виртуальные хосты напрямую в файле httpd.conf а вместо этого использую файл virtual_hosts.conf который помещен в x:/usr/Apache/conf/. В таком случае в самом конце httpd.conf нужно прописать Include conf/ virtual_hosts.conf. Создадим нужные каталоги:
/home/tv-gluck.com/www
/logs/tv-gluck.com

В файле virtual_hosts.conf вписываем:
<VirtualHost 127.0.0.2>
ServerName tv-gluck.com
ServerAdmin admin@tv-gluck.com
DocumentRoot "/home/tv-gluck.com/www"
<Directory "/home/tv-gluck.com/www">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog "/logs/tv-gluck.com/error.log"
CustomLog "/logs/tv-gluck.com/custom.log" common
</VirtualHost>
Перезапустим Apache, наберем в браузере demo.com и должны получить страницу где говорится что у нас нет прав для просмотра этой директории.

Установка PHP
Скопируем дистрибутив PHP в x:/usr/php. Создадим директорию x:/usr/php/sessions - для хранения сессий. Скопируем php4ts.dll в C:/windows/system32. Скопируем php.ini-recommended в C:/windows и переименуем его в php.ini.

Базовое конфигурирование PHP
Открываем C:/windows/php.ini и меняем следующие параметры:
    output_buffering = OFF
    error_reporting = E_ALL & ~E_NOTICE
- можете оставить E_ALL но в таком случае половина скриптов на подобе нюка не будут запускаться.
    display_errors = On - это для того чтобы ошибки были видны в браузере а не сохранялись в файле как стоит по умолчанию.
    display_startup_errors = On
    log_errors = Off
    register_globals = On
- если вы его выключите опять же могут быть проблемы с работой скрипта.
    include_path =
    extension_dir = x:/usr/php/extensions
Включите нужные модули в блоке Windows Extensions, для этого просто раскомментируйте (уберите точку с запятой спереди) . Убедитесь что модуль с таким именем существует в каталоге extension_dir.
    session.save_path = x:/usr/php/sessions
Для правильной работы php этого достаточно, если вас интересуют другие параметры php то смотрите соответствующею документацию. Для работы php нам нужно будет сконфигурировать Apache, для этого в httpd.conf где-то перед ### Section 3: Virtual Hosts добавим:
    ScriptAlias "/php/" "x:/usr/php/"
    Action application/x-httpd-php "/php/php.exe"
LoadModule php4_module x:/usr/php/sapi/php4apache.dll

В conf/myme.types добавим:
    application/x-httpd-php phtml php3 php

Установка Zend Optimizer
Заумного тут ничего нет. Открываем полученный файл ZendOptimizer-2.x.x-Windows-i386.exe и следуем инструкциям. На вопрос о том чтобы укзать сервер для определения версии php, можно выбрать Apache а можно Let me select my PHP Version и далее указать PHP 4.3.x. Потом спросят подтверждения о местонахождении php.ini, а далее сам процесс установки. Появится предупреждение что оригинальный php.ini будет сохранен под именем php.ini.bak, соглашайтесь, другого выбора нет.

На этом этап установки всего добра завершен. Перейдем к тестированию.

Тестируем php и Mysql
В директории /home/tv-gluck.com/www/ создадим файл test.php следующего содержания:
PHP:

<?php
$conect = mysql_connect('localhost','root','');
mysql_select_db('mysql', $conect);
$data = mysql_query('SELECT * FROM user',$conect);
$data = mysql_fetch_array($data);
echo "<pre>";
print_r ($data);
?>


Вызываем http://tv-gluck.com/test.php
Должен быть напечатан массив таблицы привилегий. Если что-то не работает ищите ошибку и исправляйте, пробуйте снова.

Установка Mail сервера
Зачем может потребоваться почтовый сервер? Да для разных нужд, например для тестирования веб мэйл интерфейсов (hivemail ).
В сети есть огромное множество почтовых серверов, я остановил свой выбор на CommuniGate Pro. В нем есть все что нужно (imap, pop3, smtp, webmail…), также он работает в бесконечном триальном режиме, просто добавляет строчку, заявляя о себе, в каждое отправленное сообщение, для локального тестирования это не мешает. Итак качаем отсюда. Распаковываем и выполняем Installer.exe, в качестве путей можем указать x:/usr/mail и x:/usr/mail/CommuniGatePro Files предварительно создав директорию mail. В конце установки вам предложат запустить службу, жмем 'Yes'.

Настройка
Для начала откроем x:/usr/mail/CommuniGatePro Files/Accounts/postmaster.macnt и узнаем какой нам назначили пароль, это будет четырехзначный номер. Далее в браузере вызываем http://localhost:8010./ Выбираем Domains, вводим имя пользователя postmaster и пароль. Напротив кнопки "Create Domain" вписываем demo.com и жмем кнопку. Жмем на только что созданный домен и создаем нужных нам пользователей. Настроек там куча, если что не понятно смотрите документацию. Для доступа к веб интерфейсу используйте адрес http://localhost:8100/ и https://localhost:9100/ - если вы конечно не меняли порты.

Вот и всё КУМ. Ничего тута сложного нету. :)

Хостинг от uCoz