Сервер на дому..

DELETED
11/15/2005, 4:43:35 AM
Вообщем хочу у себя внутри сети сделать HTTP сервер... На своём компе...
Сеть 100 mbps, пользователей будет где-то 1500-2000 человек... Вообщем хочу следующие фишки:
• Форум. IPB (MySQL)
• Фотоархив (типа foto.mail.ru)
• Download

Ну и чтобы всё это считалось... Так же не плохо было бы сделать Counter Strike сервер...

100 mbps можно увеличить в 1 gbps.

Помогите плизз, как всё устроить это можно? bye1.gif
Santechnic
11/15/2005, 11:35:34 AM
Попрубуй Денвер поставить (Джентельменский набор)
Там как раз APACHE+PHP+MYSQL просто ставишь и забываешь ...
IPB там идет проверенно. Если надо могу дать. А так кажись их сайт www.denwer.ru

(Для тестов кажись самое то)

(Он ставиться на локальную машину протестишь - потом настройки апаче поменяшь чтоб вся локалка видела, правда у тебя локалка довольно большая может и что нибудь по серьезнее поставить всмысле отдельно каждый компонент APACHE+PHP+MYSQL правда мароки будет больше)

Форум IBP 2.1 тоже есть с русской админкой, если надо тоже могу выслать...
DELETED
11/15/2005, 12:18:34 PM
Буду очень благодарен!!! IPB у меня есть... 2.1 кажись... wink.gif А вот сервера этого нету... :( На сайте чё-то Download не нашёл... :(

А отдельные компоненты ставил сегодня... 4 часа промучился... Apache работает идеально, а вот компоненты нет... :( Инструкцию даже нашёл... wink.gif Но чё-т всё равно не встало... :( Так что буду благодарен тебе за помощь... wink.gif
Santechnic
11/15/2005, 1:21:21 PM
Вот есть такая сборка Base_2005-01-26_a1.3.31_p4.3.10_m4.1.8_pma2.6.1
Весит 3,118 Mb тебе как скинуть мона ? Мож мыло примет ?
Щас залью ссылочку дам лучше :)
Santechnic
11/15/2005, 1:33:01 PM
Ну все забирай по ентой ссылке https://oit.bashauto.ru/base_2005-01-26.exe
Будут вопросы по ней пиши в ICQ. Я ентот набор у себя в локалке использую...
Hedgehog333
11/15/2005, 2:53:20 PM
(Davidoff @ 15.11.2005 - время: 01:43) пользователей будет где-то 1500-2000 человек...
Слухай, извини, вопрос нескромный. А откуда ты стока пользителей в локалке насобираешь? У нас локалка соединяет 2 немаааленьких дома. Пользователей около 100 человек. Щас цепляем еще один дом, итого 130-150 человек. Где ты стока насобирал юзверей у себя в локалке???
MegaX
11/15/2005, 6:02:25 PM
"Apache + Perl + PHP4 + MySQL для Windows: руководство по установке"
RTFM поустановке набора
https://doc.woweb.ru/index.htm/id/1028968133
от себя добавлю что MySQL 5.x у меня не получилось прикрутить к движку e107 и phpBB, а вот 4x - наура. Дерзай!
DELETED
11/15/2005, 7:23:01 PM
Слухай, извини, вопрос нескромный. А откуда ты стока пользителей в локалке насобираешь? У нас локалка соединяет 2 немаааленьких дома. Пользователей около 100 человек. Щас цепляем еще один дом, итого 130-150 человек. Где ты стока насобирал юзверей у себя в локалке???
У нас большая сеть, обьединяет 4 Московских района. Пользователей вообще где-то 10-15 тысяч, но я пропинговал только 6 подзон... По Net View показало 1224 IP адреса доступно. А ещё подключится туча... wink.gif

Вот есть такая сборка Base_2005-01-26_a1.3.31_p4.3.10_m4.1.8_pma2.6.1
Весит 3,118 Mb тебе как скинуть мона ? Мож мыло примет ?
Щас залью ссылочку дам лучше :)
Спасибо большое, я через IE смог найти "качалку"... Опера почему-то плавающее окно не отобразила... :(

"Apache + Perl + PHP4 + MySQL для Windows: руководство по установке"
RTFM поустановке набора
https://doc.woweb.ru/index.htm/id/1028968133
от себя добавлю что MySQL 5.x у меня не получилось прикрутить к движку e107 и phpBB, а вот 4x - наура. Дерзай!
Я сегодня пол ночи совокуплялся с этой связкой... Perl, PHP, MySQL вообще не встало... Apache идеально работал... Чё-то я в конфиге сервера накрутил наверное не то... :(
А руководств я дофига нашёл, детям ещё останется, всё по одному типу написано, всё делал с точностью до каждого символа, ставил 3 раза, нефига не заработало... Причём когда ставишь Perl, то Apache почему-то умирает... :(

Вообщем вопрос ещё открыт...

Кстати, Denver чё-то не определяется как сервер... https://10.10.3.116/ не открывает... :( Ни у кого... Даже у меня... (Localhost)... :(
ssq996
11/15/2005, 8:28:03 PM
было дело, тож ковырял этот джентлементский набор.. чавчем не понравилось. потом таки поставил на работе.. а дома он у меня так и не встал красиво.. хз почему.. теперь вот рабочий сайт и пишу потихоньку на работе :)
единственное что помню.. когда начинал пхп ковырять скачивал себе что-то наподобие big_apache вроде как то так назывался.. он вставал сразу и никаких траблов не вызывал..
DELETED
11/15/2005, 9:39:33 PM
(ssq996 @ 15.11.2005 - время: 17:28) было дело, тож ковырял этот джентлементский набор.. чавчем не понравилось. потом таки поставил на работе.. а дома он у меня так и не встал красиво.. хз почему.. теперь вот рабочий сайт и пишу потихоньку на работе :)
единственное что помню.. когда начинал пхп ковырять скачивал себе что-то наподобие big_apache вроде как то так назывался.. он вставал сразу и никаких траблов не вызывал..
Блин, опиши пожалуйста подробный процесс установки... У меня нехрена не встал... :( Прокопался пол ночи... :(
А Big Apache - это Apache от 2-й версии... Т.е. 2.xx и т.д.... У него странная связка с PHP идёт... :( Вообщем не особо он желает с РНР работать... :(
GENAZVALLI
11/16/2005, 2:18:48 AM
Ребят ну ктож web-сервер на винде собирает,надо ставить дистриб или FreeBSD или Gentoo.Там уже идет встроенные Апач и Мускул и все что нужно для создания web-сервера.
Игровой сервер тоже можно поставить на Gentoo,только вот машинка для него нужна отдельно или очень мощная...
Сеть на гиг однозначно...
Купите книжечку и вперед там ничего сложного:)
DELETED
11/16/2005, 2:27:21 AM
(GENAZVALLI @ 15.11.2005 - время: 23:18) Ребят ну ктож web-сервер на винде собирает,надо ставить дистриб или FreeBSD или Gentoo.Там уже идет встроенные Апач и Мускул и все что нужно для создания web-сервера.
Игровой сервер тоже можно поставить на Gentoo,только вот машинка для него нужна отдельно или очень мощная...
Сеть на гиг однозначно...
Купите книжечку и вперед там ничего сложного:)
*nix`овые истемы исключены однозначно!
GENAZVALLI
11/16/2005, 2:31:27 AM
*nix`овые истемы исключены однозначно!
Странно почему??Вообще-то они и предназначены ,как серверные...
1 Скорость работы,в них необязательно включать графу(теже Иксы),можно все настраивать в консоли ,что не сделаешь в винде,а это дает быстродействие...
2 Безопасность,его практически невозможно сломать приграмотной настройке...
3 Он не требует лицензии,софт и все остальное бесплатно...
4 Если ты собрался делать файловый архив,то винда при 40 сесиях просто загнется,а unixam пофиг wink.gif .
DELETED
11/16/2005, 2:38:13 AM
Мне просто:
1. В падлу сносить Винду.
2. Игр там нету нормальных.
3. Просто привык к Винде... wink.gif

Могу поставить Windows 2003 Server...
GENAZVALLI
11/16/2005, 2:50:25 AM
Мне просто:
1. В падлу сносить Винду.
2. Игр там нету нормальных.
3. Просто привык к Винде...

Могу поставить Windows 2003 Server...

1 Винду сносить необязательно,просто выделить место на диске под Unix c другой файловой системой и настроить загрузчик или Lilo или Grub при загрузке можно выбрать ,что из двух систем грузить..Если ты дествительно хочешь сделать хороший сервер то тебе просто необходимо изучить ,что и как настраивается,а потом уже сделать сервак..

2 Насколько я понял ты хочешь поднять сервак контры,так вот сервак для КС под Unix есть ,у нас геймсервер базируется тоже на Unix ,кстати даже Квейк 4 и GTA SanAnders есть под Unix wink.gif .

3 В том и проблема что привык поковырявшись пару,тройку дней в линухе к нему привыкнешь по себе знаю wink.gif .

Windows 2003 Server ничем практически не отличается от ХР кроме встроеных серверных функций ,которые никому не нужны,ведь в качестве веб-сервера всеравно равных Апачу нету ,а среди баз данных MySQL.

Кстати я так понял ты хошь на своей домашней тачке это все сделать,дык блин тыж на ней ниче делать тогда не сможешь:) .А выключать по пять раз на дню сервисы смысл сервака??Тебе нужна отдельная машина..в любом случае..
DELETED
11/16/2005, 3:59:33 AM
1. Ну я всё равно буду проводить 99% времени в Винде... А Линукс будет грузится одновременно с Виндой? Типо две ОСьки запущено на одном компе... ))
2. Да про CS я знаю... На United Admins есть дистрибутивы для кучи ОС... Дело в том, что я сам-то играю... Причём далеко не в GTA:SA или Q4, а во всякие квесты, адвенчуры, РТС, РПГ... А их большинства под *nix нету... :(
3. Ну это я примерно знаю...

Угу, на домашней... Только домашняя включена 24 часа в сутки... Рекорд 9 дней без перезагрузки... wink.gif А почему запускать? Разве одного раза не достаточно?
GENAZVALLI
11/16/2005, 4:34:30 AM
1 Можно две оси сразу запускать ,но тормоза будут жуть,пока нет настолько мощных машин чтоб тянули две оси причем одна из них под сервак

Дык как ты работать на домашней тачке собрался с файловым архивом с веб-серверов и еще серваком для контры blink.gif
DELETED
11/16/2005, 5:11:37 AM
Сервер для контры сегодня отпал... Будет у нас с понедельника... А форума пока нет... :( Да и файловый архив этот не нужен... Сеть у всех исправно работает... Качай-не хочу... Вообщем мне бы только форум бы поставить... Как???
DELETED
11/16/2005, 11:56:42 AM
Получение нужных дистрибутивов
Сохраняем все в одну папку, например в /dist.
Apache 1.3.27 - https://apache.org/dist/httpd/binaries/win3...-x86-no_src.exe
Я использую версию 1.3.х Apache так как не вижу смысла использовать вторую версию, если вы другого мнения то можете ставить 2-ую версию. Настройки там немного отличается и я никогда не прикручивал mod_ssl к второму Apache так что вам придется разбираться самим.
mod_ssl - https://hunter.campbus.com/Apache_1.3.27-Mo....9.7b-Win32.zip
openssl - https://hunter.campbus.com/Openssl-0.9.7b-Win32.zip
php 4.3.2 - https://www.php.net/distributions/php-4.3.2-Win32.zip
Perl - в даном случае чтобы долго не парится мы установим ActivePerl 5.6.1 build 635 от ActiveState https://downloads.activestate.com/ActivePer...MSWin32-x86.msi . Вы можете взять и более новую версию, но она больше по размеру, решать вам.
Нужные модули:
DBI - https://ppm.activestate.com/PPMPackages/zip...ly/DBI-1.37.zip
Другие модули можно скачать на https://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/
MySql 4.0.13 - https://mysql.directnet.ru/Downloads/MySQL-...-4.0.13-win.zip
Zend Optimizer - https://www.zend.com/store/getfreefile.php?pid=13&zbid=550
Скорее всего у вас потребуют регистрации.
Извлекаем все архивы, каждый в свою директорию.


Дерево каталогов
При выборе диска на котором будет хранится все это добро лучше всего использовать специально отведенный для этого диск, я при разбивке дисков всегда создаю диск Z для этих целей, можно создать и виртуальный диск, можно также хранить на любом другом диске (не рекомендую использовать диск C который иногда требуется форматировать), тут выбор за вами. Чтобы избежать любых хлопот в дальнейшем при переносе файлов с локального тестового сервера на сервер в интернет, нам нужно создать похожею схему. Cтруктура каталогов в моем случае будет следующей:
/usr - каталог для хранения приложений
/home - хранение виртуальных хостов
/home/<domain_name>/public_html - корневая директория сервера
/home/<domain_name>/public_html/cgi-bin - cgi скрипты
/logs - журнальные файлы Apache


Установка Mysql
Выполним setup.exe из директории /dist/mysql-4.0.13-win. При инсталляции не меняйте Destination Folder, оставьте как есть C:/mysql, потом можно будет переместить все например в x:/usr/mysql. Можно выбрать тип установки Сustom и не устанавливать примеры и документацию, это все есть в удобной форме на mysql.com. Чтобы зарегистрировать мускуль как службу Windows нужно выполнить следующие действия:
Открыть command.com
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


Установка Perl
Запустим /dist/ActivePerl-5.6.1.635-MSWin32-x86.msi. Процесс установки прост, скажу лишь что в качестве каталога установки укажем x:/usr.

Установка DBI
cd x:/dist/DBI-1.37
ppm install DBI.ppd


Установка Apache
Итак открываем скаченный файл apache_1.3.27-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 будет установлен как сервис и сразу же запустится. В браузере при обращении к https://localhost/ мы должны будем увидеть страницу сообщающею о том что Apache был успешно установлен.

Базовая конфигурация Apache
Откройте файл x:/usr/Apache/conf/httpd.conf.
Раскомментируйте нужные вам модули. Я например использую модули mod_status.so, mod_info.so, mod_rewrite.so. Добавьте нужные модули, они указаны ниже, директивы AddModule mod_name.c.
DocumentRoot "z:/home/localhost/public_html" #в моем случае

Заменим блок

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

на

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

В данном случае можно будет менять установки при помощи .htaccess, и каталоги будут индексироватся - будет наследоваться для всех виртуальных хостов.
Далее идут директивы для главного хоста, там есть много комментариев, замените все что находится между

<Directory "x:/usr/Apache/htdocs"> и </Directory>

на

<Directory "x:/home/localhost/public_html">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>

в блоке <IfModule mod_userdir.c> пропишим локальный каталог пользователей, в нашем случае это:
UserDir "public_html"

В директиве DirectoryIndex нужно указать файлы которые будут выдаваться по умолчанию:

DirectoryIndex index.html index.htm index.shtml index.shtm index.php

Место выполнения cgi скриптов:

ScriptAlias /cgi-bin/ "x:/home/localhost/public_html/cgi-bin/"
<Directory " x:/home/localhost/public_html/cgi-bin">
AllowOverride All
Options ExecCGI
</Directory>

Указываем расширения для cgi скриптов:
Ищем строку:
#AddHandler cgi-script .cgi
заменяем на:

AddHandler cgi-script .cgi .pl

Поддержка 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 и запустите через службы.

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

code:
--------------------------------------------------------------------------------
# Виртуальный хост demo.com
# IP адрес 127.0.0.2
<VirtualHost 127.0.0.2>
# Имя сервера, должно быть прописанно в файле hosts
ServerName demo.com
# email по умолчанию для этого хоста
ServerAdmin [email protected]
# DocumentRoot указывает на созданную выше папку
# т.е. корневая директория хоста

DocumentRoot "/home/demo.com/public_html"
# параметры для корневой директории
# тут мы запрещяем индексирование каталогов не содержащие индексного файла
# разрешаем переопределение директив при помощи .htaccess
# даем всем доступ
# более подробно читайте в документации
<Directory "/home/demo.com/public_html ">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# директория для выполнения cgi скриптов
ScriptAlias /cgi-bin/ "/home/demo.com/public_html/cgi-bin "
# файлы для ведения журнальных файлов и файлов ошибок
ErrorLog "/logs/demo.com/error.log"
CustomLog "/logs/demo.com/custom.log" common
</VirtualHost>
--------------------------------------------------------------------------------

Перезапустим Apache, наберем в браузере demo.com и должны получить страницу где говорится что у нас нет прав для просмотра этой директории.

dragly добавил 10-02-2004 в 21:53:50:
Установка PHP
Скопируем дистрибутив PHP из /dist/php-4.3.2-Win32 в 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


Установка mod_ssl и Openssl
Выполняйте этот шаг если вы знаете что это такое и будете его использовать.

mod_ssl
Остановим Apache (Панель Управления -> Администрирование -> Службы -> Apache -> Остановка). Из директории /dist/Apache_1.3.27-Mod_SSL_2.8.14-Openssl_0.9.7b-Win32 скопируем файлы Apache.exe и файлы с расширением *.dll в директорию куда установлен Apache, реально мы заменим существующие файлы. Также нам нужно поместить файл mod_ssl.so из /dist/Apache_1.3.27-Mod_SSL_2.8.14-Openssl_0.9.7b-Win32/modules/ в x:/usr/apache/modules/. В httpd.conf после #LoadModule unique_id_module modules/mod_unique_id.so добавим:

LoadModule ssl_module modules/mod_ssl.so

После AddModule mod_setenvif.c добавим:

AddModule mod_ssl.c

Ниже добавим:

### SSL config
SSLMutex sem
SSLRandomSeed startup builtin
SSLSessionCache none

SSLLog logs/SSL.log
SSLLogLevel info
После
Port 80
Добавим:
Listen 80
Listen 443

Openssl
Openssl нужен для генерирования сертификатов. Разархивируйте Openssl-0.9.7b-Win32.zip в x:/openssl, можно в любую другую директорию, но работать с ним предстоит через командную строку и поэтому выбран такой короткий путь. Скопируйте файлы ssleay32.dll и libeay32.dll в x:/windows/system32. Для работы openssl.exe вам нужен конфигурационный файл openssl.cnf, скачайте его отсюда, отредактируйте и сохраните как openssl.cnf в директорию куда поместили openssl.
Теперь нам нужно создать сертификаты, в качестве примера будем использовать домен demo.com о котором говорилось выше. Откроем command.com и выполним следующие комманды:
cd x:/openssl
openssl req -config openssl.cnf -new -out demo.com.csr
При помощи этой команды утилита openssl создаст и подпишит сертификационный запрос. В последствии будет заданно масса вопросов, самое главное указать правильное доменное имя (Common Name) в нашем случае это demo.com.

openssl rsa -in privkey.pem -out demo.com.key
эта команда удалит passphrase из частного ключа и таким образом будет доступен только apache.

Теперь можно подписать сертификат, создав временный сертификат для личного ключа
openssl x509 -in demo.com.csr -out demo.com.cert -req -signkey demo.com.key -days 365
Сертификат будет действителен один год о чем говорит 365.
Этот материал основан на руководстве установке SSL под Windows - The Apache + SSL on Win32 HOWTO.

Настройка виртуального хоста demo.com для работы через безопасное соеденение
Скопируем полученные файлы demo.com.cert и demo.com.key в x:/usr/apache/conf/ssl/. Виртуальный хост который будет работать через безопасное соединение не имеет ничего общего с обычным хостом demo.com поэтому директивы не наследуются друг от друга, нам нужно прописывать все директивы заного:


code:
--------------------------------------------------------------------------------
# Виртуальный хост demo.com:443 - безопасное соединение (https)
# IP адрес 127.0.0.2:443
<VirtualHost 127.0.0.2:443>
# Включаем поддержку SSL
SSLEngine On
SSLCertificateFile conf/ssl/demo.com.cert
SSLCertificateKeyFile conf/ssl/demo.com.key
# Имя сервера, должно быть прописанно в файле hosts
ServerName demo.com
# email по умолчанию для этого хоста
ServerAdmin [email protected]
# DocumentRoot указывает на созданную выше папку
# т.е. корневая директория хоста

DocumentRoot "/home/demo.com/public_html"
# параметры для корневой директории
# тут мы запрещяем индексирование каталогов не содержащие индексного файла
# разрешаем переопределение директив при помощи .htaccess
# даем всем доступ
# более подробно читайте в документации
<Directory "/home/demo.com/public_html ">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# директория для выполнения cgi скриптов
ScriptAlias /cgi-bin/ "/home/demo.com/public_html/cgi-bin "
# файлы для ведения журнальных файлов и файлов ошибок
ErrorLog "/logs/demo.com/error.log"
CustomLog "/logs/demo.com/custom.log" common
</VirtualHost>
--------------------------------------------------------------------------------

В таком случае к виртуальному хосту можно будет обращаться как по безопасному так и по обычному соединению. Для запрещения обычных соединений в определенные каталоги, в главном хосте demo.com нужно прописать:
# пример для директории /order/
<Location /order/>
SSLRequireSSL
</Location>
Более подробную информацию о директивах mod_ssl смотрите на
https://www.modssl.org/docs/2.8/ssl_reference.html.
Запустите Apache, вы должны наблюдать описание: Apache/1.3.27 (Win32) PHP/4.3.2 mod_ssl/2.8.14 OpenSSL/0.9.7b что говорит о том что Apache установлен и запущен с поддержкой php и mod_ssl.

Установка Zend Optimizer
Заумного тут ничего нет. Открываем полученный файл /dist/ZendOptimizer-2.1.0a-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/demo.com/public_html/ создадим файл 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);
?>
--------------------------------------------------------------------------------

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

Тестируем Perl

В директории /home/demo.com/public_html/cgi-bin создадим файл test.cgi следующего содержания:

code:
--------------------------------------------------------------------------------
#!/usr/bin/perl

print "Content-type: text/html

";
print "Hello world";
--------------------------------------------------------------------------------

Вызываем https://demo.com/cgi-bin/test.cgi
Должно быть напечатано Hello world.

Для проверки ssl наберите https://demo.com/test.php, браузер должен начать ругаться что мол сертификат не подписан доверенным лицом, жмите да и наслаждайтесь. Если не работает смотрите журнальные файлы ssl (logs/SSL.log) и исправляйте ошибки.

dragly добавил 10-02-2004 в 21:54:05:
Установка 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 и узнаем какой нам назначили пароль, это будет четырехзначный номер. Далее в браузере вызываем https://localhost:8010./ Выбираем Domains, вводим имя пользователя postmaster и пароль. Напротив кнопки "Create Domain" вписываем demo.com и жмем кнопку. Жмем на только что созданный домен и создаем нужных нам пользователей. Настроек там куча, если что не понятно смотрите документацию. Для доступа к веб интерфейсу используйте адрес https://localhost:8100/ и https://localhost:9100/ - если вы конечно не меняли порты.

DELETED
11/16/2005, 11:58:57 AM
Вебсервер в домашних условиях
Иванов Дмитрий
Хостинг провайдер RunWeb.Ru.
Содержание:
Введение
Пара слов о работе вебсервера
Установка вебсервера Apache и языка PHP
Настройка виртуального хоста
Файл настроек .htaccess
Частые вопросы по установке
Введение
Данная статья написана мной по мотивам частых вопросов службе поддержки хостинг-провайдера RunWeb.Ru (к которой я имею непосредственное отношение) по тестированию скриптов и настроек Apache на домашнем компьютере. Первоначально этот материал публиковался на сервере RunWeb.Ru и в рассылке "PHP для начинающих". Постепенно он расширялся по мере поступления вопросов от наших пользователей. Когда же набралось достаточно информации, я собрал ее в отдельную статью и решил, что она может быть полезна не только нашим пользователям хостинга, но и остальным жителям сети.

Поводом для статьи послужило желание создать единое руководство для пользователей, которое помогло бы им тестировать скрипты в домашних условиях, а также использовать возможности настроек Apache для дальнейшего использования на нашем сервере.

Пара слов о работе вебсервера
Установив вебсервер, как описано в этой статье, Вы получаете полноценный работающий сервер с полным набором возможностей. Что же это такое, почему теперь можно обращаться к адресу "127.0.0.1" и даже не подключаться к Интернету? Я уверен, новички зададутся и этими вопросами и многими другими. Здесь я хочу немножко объяснить принцип работы вебсерверов и более подробно рассказать о структуре сайтов в сети.

Вы наверняка знаете, что когда Вы набираете адрес в строке броузера, то Вы работаете по протоколу http (hypertext transfer protocol - протокол передачи гипертекста). Это понятно хотя бы по строке адреса - она имеет вид вроде https://www.адрес.ru.

Что же такое протокол? Это набор команд, с помощью которых общаются Ваш компьютер (конкретно Ваш броузер) и вебсервер, к которому Вы обратились. Для создания сайтов очень важно понимать этот момент.

А что представляет собой вебсервер? В первую очередь это компьютер, на котором установлено программное обеспечение, дающее возможность передавать информацию Вам при запросе ее Вашим броузером. Это программное обеспечение и есть устанавливаемый нами Apache, который просто умеет работать по протоколу http. Когда Вы запускаете Apache, в Вашей системе появляется кто-то, кому есть что ответить броузеру при запросе им конкретного адреса. То есть получается, что Вы имеете сервер, на котором храниться сайт (или сайты) и ПО, которое умеет эти сайты передавать броузеру. Вот и общаются они между собой на языке (протоколе) http - броузер и Apache. Броузер запрашивает у Apache файлы, а Apache их ему отдает.

Теперь о том, каким образом выглядят сайты на нашем сервере. Все сайты хранятся в упорядоченном виде, каждый в отдельном каталоге. Сайт, который открывается по адресу "https://127.0.0.1" имеет в качестве корневого каталога "F:\project". Каталог может называться как угодно и является корневым каталогом для этого сайта. Имена каталогов и их соответствие http-адресам записываются в файле конфигурации Apache - "httpd.conf", который мы ниже будем настраивать. Чтобы это понять, представьте, что можно создать каталог "F:\site" и записать в файле "httpd.conf" что это самый настоящий сайт и он должен открываться по адресу "https://127.0.0.2". И это будет работать. (Как это сделать мы изучим позже).

Обычно в корневом каталоге сайта есть еще несколько каталогов - для хранения html файлов (это наш каталог www), для хранения файлов статистики обращений к сайту (это каталог logs) и другие, пока нами по небольшой надобности неиспользуемые (например папка cgi-bin для хранения программ, написанных на языке PERL). Так вот, папка которая умеет хранить html-странички, т.е. наша папка www может также содержать и php-программы. То есть все, что положить в эту папку и будет видно по адресу "https://127.0.0.1". Это значит, что если вы создадите файл "F:\project\www\page.html", то вы его увидите по адресу "https://127.0.0.1/page.html". Создав каталог "F:\project\www\katalog", вы сможете посмотреть на него по адресу "https://127.0.0.1/katalog/".

Кроме того, каждый каталог на сервере может иметь т.н. "индексный файл". Это файл, который открывается по умолчанию при вызове каталога, т.е. без явного указания имени файла. В нашем случае это index.html, который находиться в корневом каталоге сервера. Набирая "https://127.0.0.1" мы видим именно этот файл. Соответственно, можем также увидеть его, набрав "https://127.0.0.1/index.html".

Установка вебсервера Apache и языка PHP
Для того, чтобы установить вебсервер на свой компьютер, Вам понадобиться некоторое программное обеспечение. Все ПО, которое мы будем использовать, совершенно бесплатно от рождения и доступно в сети для свободного скачивания. Это, согласитесь, хорошо, особенно, если учесть что бесплатных программ (тем более такого серьезного уровня) для Windows бывает очень немного. Также примечательно, что Вам не придется скачивать пиратские программы и копаться в сети в поиске крэков/серийных номеров и т.п.


Вебсервер Apache
Apache - это программа, которая исполняет функции http-сервера. Именно с ее помощью и будет функционировать вебсервер. Эта программа исполняет все необходимые функции, под ее руководством работает большинство ресурсов сети. Наш не исключение, в силу гибкости и универсальности Apache мы будем использовать именно этот сервер. В дальнейшем Вы увидите, насколько просто использовать эту программу в домашних условиях и насколько широкие возможности она предоставляет. Перед тем, как начать установку сервера, Вам необходимо сразу загрузить Apache. В качестве версии Apache я предлагаю использовать 1.3.12, которая имеет полный набор функции и одновременно не осложнена ненужными на данном этапе усовершенствованиями. К тому же она примерно на 2 Мб меньше, чем более новые версии. Загрузить ее можно прямо с нашего сервера RunWeb.Ru:

Загрузить Apache: https://RunWeb.Ru/download/apache_1_3_12_win32.exe (3.1 МБ)


Язык программирования PHP
Именно эта программа даст Вам возможность использовать PHP-скрипты на сайтах, созданных в рамках сервера Apache. В качестве версии я советую PHP 4.3.4, как наиболее перспективную и стабильную версию. Кроме того, эта версия содержит богатые возможности по сравнению с предыдущими. Загрузить ее также с сервера хостинг-провайдера RunWeb.Ru:

Загрузить PHP4: https://RunWeb.Ru/download/php-4.3.4-Win32.zip (6,0 МБ)

Как видите, обе программы достаточно большие. Однако ничего с этим не поделаешь, тем более, что загрузив их один раз Вы сохраните их надолго и сможете пользоваться ими в дальнейшем. Итак, если все загружено, можно переходить к установке.

Для работы сервера и всех наших дальнейших проектов целесообразно выделить отдельный диск на Вашем компьютере. Конечно, Вам не придется покупать новый винчестер, нам вполне хватит возможностей виртуального диска. Что такое виртуальный диск? Это имитация жесткого диска в системе. Если Вы знакомы с возможностями MS-DOS, то уже поняли, что я имею в виду. Виртуальный диск имеет свое, отдельное имя в системе (например, диск F:) и в качестве своего корневого каталога использует обычный каталог на основном диске. Создается виртуальный диск следующей командой MS-DOS:

subst F: C:\server

Где F: - это имя виртуального диска, а C:\server - это папка на основном диске, которая и будет корневым каталогом нового диска F. Теперь давайте создадим новый диск. Для этого выполните следующие действия (только для Windows 95-98. Как это делается в других версиях смотрите ниже):

Создайте на диске C: папку "server". Откройте в Windows меню "выполнить", которое находиться кнопке "Пуск" и наберите строчку "subst F: C:\server". При этом должно открыться окно с корневым каталогом Вашего нового диска. Обратите внимание, что как здесь, так и дальше я буду использовать именно диск F: в качестве сервера и папку C:\server в качестве корневого каталога этого диска. Я настоятельно советую Вам использовать именно эти параметры, чтобы в дальнейшем при установке не было путаницы. В следующих примерах я буду исходить из того, что у вас все настроено именно так.

Обратите внимание, что виртуальный диск пропадает после перезагрузки и команду subst нужно выполнить заново. Для того, чтобы не вызывать эту команду каждый раз, нужно записать ее в файл autoexec.bat, который находиться в корневом каталоге системного диска. В этом файле содержится список всех программ, которые необходимо выполнить при загрузке системы. Итак, откройте этот файл в "Блокноте" и запишите в самый конец такую строку:

subst F: C:\server

Однако на некоторых операционных системах это может не пойти (например, Windows ME, XP...). Это связано с принадлежностью файла autoexec.bat системе MS-DOS, а в поздних версиях Windows ее попросту нет. В этом случае сделайте следующее. Создайте файл "subst.bat" и запишите в него всего одну, все ту же строку "subst F: C:\server". Теперь поместите этот файл в корневом каталоге и добавьте его ярлык в автозагрузку. Такой подход приведет к исполнению командного файла subst.bat при каждом запуске Windows. Но здесь появится и неприятный момент. При запуске файла должно открываться окно эмуляции MS-DOS, в котором будет выполняться файл. Не очень удобно закрывать это окошко при каждом запуске системы. Так что может быть лучше отдельно при необходимости запускать файл subst.bat.

Все готово? Тогда давайте продолжим установку. Первое, что нам необходимо сделать - это установить вебсервер Apache. Программа, которую Вы загрузили, является установщиком и сама копирует все необходимые файлы. Однако дальше не все так гладко и не достаточно будет просто завершить все шаги установки. Чтобы установить сервер именно так, как нам требуется, давайте действовать следующим образом.


Установка Apache
Запускаем файл установки Apache. После запуска установщика нажимаем кнопку "NEXT" и "YES", пока не дойдет очередь до указания пути установки. По умолчанию записан путь "C:\Program Files\Apache Group\Apache". Это нас абсолютно не устраивает - нужно установить Apache на свежевыделенный диск F. Для этого нажимаем "Browse" и указываем путь "f:\usr\apache" (если такого каталога нет, система спросит нужно ли его создать, на что отвечайте утвердительно). Почему именно "F:\usr\apache"? Дело в том, что каталог "usr" на сервере является служебным, лежащим отдельно от каталогов, где размещаются файлы сайтов и прочие элементы сервера. Каталог "usr" на сервере - это вроде каталога "Windows\System" в Windows. Далее вы еще столкнетесь с этим каталогом при администрировании вашего сервера. Нажимаем "NEXT", выбираем "Typical" - обычная установка. Ждем еще пару раз "NEXT" и сервер наконец устанавливается на наш компьютер, выполняя копирование файлов. Все! Вы только что установили на свой компьютер персональный вебсервер, на котором можете создавать неограниченное количество сайтов с неограниченными возможностями.

Однако с созданием сайтов мы пока подождем. Перед этим нужно еще установить PHP и много чего настроить в параметрах Вашего сервера. Это несложно - мы не будем сегодня углубляться в серьезные настройки Apache (это, кстати, тема для целой книги!), выполним лишь действия, необходимые и достаточные нам для полноценный работы домашнего сервера.


Установка PHP
Продолжим. Теперь нам нужно установить PHP. Вы имеете файл, загруженный с сервера RunWeb.Ru. Это уже не установщик - это обычный ZIP-архив. Создайте в том же каталоге "F:\usr\" папку "php" и разархивируйте его в получившийся каталог "F:\usr\php".

Теперь посмотрите содержимое каталога "F:\usr\php". Вы видите файл php.exe и наряду с ним папки ddl, extensions, java, Mibs и т.п.? Да? Отлично! Поздравляю, PHP готов исполнять Ваши команды. Осталось только познакомить Apache с PHP - они, кстати, образуют отлично работающую пару.


Настройка сервера Apache и PHP
С установкой программ покончено. Теперь перейдем к их настройке. В первую очередь Вам нужно найти файл "php.ini-dist" в каталоге "F:\usr\php" и скопировать его в папку C:\Windows, причем переименовать его на новом месте в файл "php.ini". В итоге у Вас должен получиться файл "C:\Windows\php.ini". Оставим его как есть, ничего в нем не изменяя и перейдем к настройке Apache. Здесь все немного сложнее.

Открываем файл "F:\usr\apache\conf\httpd.conf" в каком-нибудь текстовом редакторе, например "Блокноте". Это очень важный файл, который содержит все настройки Вашего сервера. В нем необходимо задать несколько параметров. Начнем.

1. Найдите в файле httpd.conf строчку "#ServerName new.host.name". Измените ее на строчку "Servername localhost". Обратите внимание, что знак "#" в начале строки убирается.

2. Далее найдите строчку "DocumentRoot "f:/usr/apache/htdocs" и измените ее на "DocumentRoot "f:/project/www". Обратите внимание на _отсутствие_ слеша в конце.

3. Теперь найдите строчку "<Directory "f:/usr/apache/htdocs">" и измените ее на "<Directory "f:/project/www">. Слеш опять отсутствует.

4. Также найдите и измените строку "ErrorLog logs/error.log" на строку "ErrorLog F:/project/logs/error.log" и строку "CustomLog logs/access.log common" на "CustomLog F:/project/logs/access.log common".

5. Теперь перейдите в самый конец файла httpd.conf и впишите в него такие строчки:

ScriptAlias /php/ "f:/usr/php/" AddType application/x-httpd-php .php .phtml .php4 Action application/x-httpd-php "/php/php.exe"

Эти строчки добавляют в настройки Apache возможность выполнения файлов с расширением .php, .phtml или .php4 как программ, написанных на PHP (PHP скриптов).

6. Ну а теперь создайте каталог "F:\project", и в нем два каталога "www" и "logs". В итоге Вы должны получить такое дерево каталогов:

F:\project
F:\project\www
F:\project\logs


Все! Поздравляю, Вы установили и настроили полноценный http-сервер с поддержкой PHP. Теперь дело за малым - научиться включать и выключать сервер, а также немножко его протестировать. Этим мы и займемся далее.


Работа с сервером Apache
При инсталляции сервера программа установки создала в Главном меню (Кнопка "Пуск", далее "Программы") папку "Apache Web Server". В этой папке находиться несколько ярлыков. Нам потребуются следующие из них:

Start Apache - для запуска сервера
Stop Apache - для остановки сервера

При желании Вы можете скопировать их на Рабочий стол, чтобы иметь возможность быстро запускать и выключать сервер.

Двигаемся далее и подходим к самому главному моменту - запуску сервера. Если Вы произвели все указанные действия, то этот этап Вы точно преодолеете без проблем. Но перед запуском я хотел бы предложить Вам сделать еще кое-что, чтобы наверняка протестировать работу вашего сервера.

Итак, создайте в папке "F:\project\www\" файл с именем "index.html" следующего содержания:


<html>
<head><title>Главная страница сервера</title></head>
<body bgcolor=#ffffff>
Поздравляю Вас, сервер работает!<br>
Протестируйте PHP: <a href="test.php">test.php</a>
</body>
</html>

Создайте там же файл с именем "test.php" такого содержания:

<?
phpinfo();
?>

Вот и все, наконец-то можно запускать сервер. Торжественно запускаем ярлык Start Apache. При этом открывается черное окошко вроде окна MS-DOS с единственной надписью "Apache/1.3.12 (Win32) running...". Это означает, что сервер успешно запущен и на данный момент работает. Окошко закрывать не нужно, оно является рабочей средой Apache и закрывается с помощью ярлыка "Stop Apache", который и выключает сервер.
Итак, сервер запущен. Что дальше? Открывайте ваш броузер и набирайте в нем адрес "https://127.0.0.1". Помните, подключаться к Интернету в этот момент не нужно! Вы должны увидеть уже набранное приветствие, т.е. код файла "index.html". Перейдите по ссылке, ведущей к файлу "test.php". Что вы видите? Броузер должен вывести довольно большой файл с кучей различных обозначений и гордым заголовком "PHP Version 4.3.4" вместе в логотипом PHP. Это - результат работы нашего маленького скрипта "test.php", а точнее функции phpinfo(), которую мы в нем написали. Эта функция выводит все параметры PHP, установленного в системе.

Если Вам все это показалось сложным и непонятным, не пугайтесь. Дальше будет намного проще, просто в первый раз нужно было все установить и настроить, чтобы работало. Сейчас Вы имеете тот необходимый минимум, которого вполне достаточно, чтобы успешно начать работать с сервером.

Отдельно хочу обратиться к продвинутым пользователям, которые, я уверен, читают (или будут читать) мою статью. В первую очередь - если Вы не удовлетворены количеством информации (и объяснений к ней) по поводу настройки Apache и различных директив PHP - не стоит меня сильно в этом обвинять. Моей целью в этой статье было предоставить новичкам стартовую площадку для их обучения и первого проекта. В будущем я постараюсь продолжить эту тему.

Пример: настройка виртуального хоста
В данный момент на созданном сервере есть всего один хост, с уже известным Вам адресом https://127.0.0.1. Однако если у Вас есть несколько сайтов, то не всегда удобно использовать для их отладки один хост. Для подобных целей подойдет возможность Apache использовать несколько виртуальных хостов.

........

Итак, приступим к созданию виртуального хоста. Как Вы уже знаете, все настройки Apache производятся в файле httpd.conf, который расположен по адресу F:\usr\apache\conf\httpd.conf. В этом файле есть специальный раздел, который обозначен ### Section 3: Virtual Hosts. Он расположен в самом конце файла и отвечает за виртуальные хосты. Далее процесс создания хоста по шагам:

1. Выключите Apache.

2. В самом конце файла httpd.conf допишите такие строчки:


NameVirtualHost 127.0.0.2
<VirtualHost 127.0.0.2>
ServerAdmin admin@site2
ServerName 127.0.0.2
DocumentRoot "/site2/htdocs/"
ScriptAlias /cgi-bin/ "/site2/cgi-bin/"
ErrorLog /site2/error.log
CustomLog /site2/access.log common
</VirtualHost>

В данной директиве мы описываем новый хост. Строка VirtualHost 127.0.0.2 обозначает адрес нового хоста. ServerAdmin admin@site2 указывает Email администратора, который будет выводиться при ошибках и служебных сообщениях сервера. ServerName 127.0.0.2 обозначает имя хоста, по которому мы будем к нему обращаться из броузера. DocumentRoot "/site2/htdocs/" указывает директорию, где находятся html и php файлы виртуального сервера. ScriptAlias /cgi-bin/ "/site2/cgi-bin/" указывает каталог, в котором расположены cgi-скрипты (программы на perl, c++ и т.д.). ErrorLog и CustomLog указывают расположение лог-файлов сервера. ErrorLog - это журнал ошибок, CustomLog - журнал доступа. В эти файлы будут записываться все ошибки (например, когда запрошенный файл не существует) и все запросы к серверу.

3. Теперь создайте описанные директории F:\site2\htdocs и F:\site2\cgi-bin. Файлы error.log и access.log можно не создавать, они будут сформированы автоматически при запуске Apache. Директория F:\site2 является корневой директорией виртуального сервера. Обратите внимание, что если Вы не создадите или ошибетесь в именах директорий, то Apache откажется запускаться.

4. Теперь можете запускать Apache. Не забудьте перед этим сохранить изменения в файле httpd.conf.

Вот и все, новый хост создан. Можете разместить в него файлы и просматривать их через броузер по адресу https://127.0.0.2.

Файл настроек .htaccess
Файл .htaccess - это служебный файл вебсервера, с помощью которого можно производить определенные настройки своего сайта. Например, с помощью этого файла можно настроить свои страницы ошибок или обработку SSI-директив.

Файл .htaccess может быть размещен в любом каталоге сервера. Кроме того, он действует на все внутренние каталоги, размещенные в текущей директории. То есть, если у Вас есть каталог "www" и в нем два каталога "1" и "2", то размещая файл .htaccess в "www", Вы одновременно распространяете его действие на каталоги "1" и "2".

Обратите внимание, что имя этого файла начинается с точки. Файлы, имена которых начинаются с точки, в системе Unix являются скрытыми. Это означает, что если Вы загрузите этот файл на сервер провайдера, то Вы не будете видеть его в Вашем FTP-клиенте. Это, кстати, частый вопрос, с которым мы сталкиваемся в службе поддержки RunWeb.Ru. А что делать, если Вы хотите изменить этот файл? Самый простой вариант - изменить его на домашнем компьютере и заново загрузить на сервер по FTP. Ваш клиент не должен спросить перезаписывать ли его, так как он не видит .htaccess в списке файлов. Это нормально, можете быть уверены, файл перепишется.

В качестве примера использования .htaccess давайте рассмотрим установку своих страниц ошибок. Что такое "свои страницы ошибок"? Допустим, у сервера запрашивается документ, которого не существует. В этом случае возникает ошибка номер 404, "Файл не найден". Apache при этом отправляет броузеру свою служебную страницу этой ошибки (404 Not Found). То же самое и с ошибкой номер 500 "Внутренняя ошибка сервера". Она возникает при возникновении ошибки на сервере, например, при исполнении CGI-скрипта. Итак, как установить свои страницы ошибок?

Для этого создайте пустой файл .htaccess в корневом каталоге виртуального хоста (например, F:\server) и запишите в него следующие строки:

ErrorDocument 404 https://127.0.0.1/err404.html
ErrorDocument 500 https://127.0.0.1/err500.html

Они назначают каждой ошибке свою страницу, которая будет открываться при возникновении данной ситуации. Естественно, Вам нужно будет создать файлы err404.html и err500.html на сервере. Называться они могут как угодно, не обязательно как в этом примере.

Существует также много других возможностей настроек файла .htaccess. Несколько очень полезных возможностей (таких как установка индексного файла, паролирование директорий, настройки SSI и другие) описано на нашем сервере RunWeb.Ru в разделе Частые вопросы по настройкам сервера. Список часто пополняется, поэтому рекомендую Вам ознакомиться с описанными в нем возможностями.

Частые вопросы по установке
1. Отсутствуют ярлыки запуска и/или выключения сервера.

Странно, конечно, но и такое, оказывается бывает. В этом случае нужно создать ярлыки для запуска и остановки сервера вручную. Они должны иметь вид:

Запуск сервера: F:\usr\apache\Apache.exe Остановка сервера: F:\usr\apache\Apache.exe -k shutdown

2. Отсутствует файл F:\usr\apache\conf\httpd.conf

Это случается и имеет отношение, равно как и предыдущий пункт, к различным дистрибутивам Apache. (по этому советую загружать дистрибутив, приведенный здесь!). Итак, файл "httpd.conf" отсутсвует, но есть файл "httpd.conf.default". В этом случае нужно скопировать файл "httpd.conf.default" в "httpd.conf" (именно создать копию этого файла с другим именем, а не переименовывать сам файл. "httpd.conf.default" всегда желательно иметь, так как он является дистрибутивом установок Apache и с его помощью Вы всегда можете вернуться к первоначальным настройкам). Ну а дальше производить все настройки в получившемся файле.

3. Не работает PHP (в броузер выводиться код) или не работает Apache (окошко сразу закрывается).

Проверьте правильность установки и настройки сервера (см. выше). Все пути, настройки, тексты скриптов обязательно должны совпадать с примерами - буква в букву. Иначе проблемы скорее всего будут. Например, Вы поставили слеш в настройках в другую сторону (вместо "/" написали "\" или наоборот) или в тексте скрипта вместо "<?" написали "< ?" (с пробелом) и т.п. Такие ошибки мне вычислять, к сожалению, очень сложно... мне как минимум нужно сесть за Ваш компьютер :)

4. Окно MS-DOS при запуске Apache открывается и сразу же гаснет. Не успеваю даже прочитать, что там написано.

Это означает, что Apache неправильно установлен или настроен. Не стоит сразу же повторять установку (запускать setup) - файлы сервера скопированы верно, ведь ярлык открывает файл Apache.exe. В этом случае обычно неверны настройки сервера. Проверьте файл "httpd.conf" в каталоге "F:\usr\apache\conf\". Особенно внимательно посмотрите на пути (F:\project и т.п.). Не забывайте про слеши! Они должны быть именно такие (в ту сторону), как приведены в примере (см. архив). И, очень важно: там, где их нет (например, в конце путей) не нужно их ставить! В завершение проверьте, что на сервере верна структура каталогов.

Автор: Иванов Дмитрий.
Хостинг провайдер RunWeb.Ru.

Разрешено любое использование при указании авторства.