Скрыть рекламный блок

Категории

Вход

Кто сейчас на сайте

Добро пожаловать на сайт.
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
(Настройка Apache)
dvd2444Дата: Вторник, 13.03.2012, 22:03 | Сообщение # 1
Сержант
Группа: Заблокированные
Сообщений: 31
Репутация: 0
Статус: Offline
настройка apache
файл "httpd.conf"

основной файл конфигурации этого сервера - "httpd.conf". лежит он в каталоге "conf" в root-директории apache. вот над ним вам и придеться издеваться. скажу сразу, если вы не понимаете английского, удалите из этого файла все комментарии и пояснения, оставьте только сами директивы (и закоментированные тоже); таким образом вы сможете быстрее***одить нужную директиву, не роясь среди множества непонятных вам пояснений. синтаксис файла очень простой: "директива значение", все строки не соответствующие этому виду можно удалить,а если вы вообще в этом нифика не понимаете то лучше закрыть браузер и пойти спать.

внимане! некоторые директивы могут выглядеть так:

code
#директива значение
<блок директив />
директива значение

<блок директив />
# комментарий
директива значение
# комментарий

и т. п. эти строки удалять не нужно!
символ комментария в "http.conf" - "#" (решетка). т. е. все символы, идущие в строке после "#" не воспринимаются сервером. так вы можете добавлять собственные комментарии. убирая этот символ перед закомментированными строками вы делаете их доступными для чтения сервером.

общие настройки

вам нужно будет сделать правку файла "httpd.conf". у некоторых директив изменить значение, другие раскомментировать, третьи добавить. далее я приведу список директив и их значений, которые должны присутствовать в файле конфигурации apache.

каталог с файлами сервера (не путать с "documentroot"):

code
serverroot "c:/server/apache/apache2"

привязывает apache к конкретному порту:
code
listen 80

имя сервера (на работу это не влияет):
code
servername localhost:80

администратор сервера. содержит ваш адрес электронной почты, который будет отображаться при некоторых ошибках сервера:
code
serveradmin your@email.name

вам необходимо создать папки, где будут храниться ваши сайты. по умолчанию apache устанавливает "documentroot" - "%serverroot%/htdocs" (т. е. если вы установили apache в папку "c:\server\apache", то "documentroot" будет выглядеть так: "c:/server/apache/apache2/htdocs"). вы должны изменить значение "documentroot" на "c:/sites/home/localhost/www".
code
documentroot "c:/sites/home/localhost/www"

строго следуйте моим инструкциям, чтобы быть уверенными, что все это у вас потом заработает. создайте на диске "c:" папку "sites". в ней создайте каталог "home", уже в нем - "localhost", "neebet", "mysite". в каждую из этих папок ("localhost", "neebet", "mysite") положите каталоги "www" (для хранения html документов), "cgi" (для хранения cgi-скриптов), пустые файлы access.log (журнал доступа к серверу) и error.log (журнал ошибок сервера).
далее замените блок "" на следующее:

code

options indexes includes
allowoverride all
order allow,deny
allow from all

этими директивами вы разрешите просмотр содержимого каталога в браузере при отсутствии индексных файлов, включите поддержку ssi, разрешите использовать файлы .htaccess для настройки каталогов и разрешите доступ для всех к сайту.
задание индексного файла для директории (этот файл сервер будет отображать при обращении к каталогу без указания имени файла):

code
directoryindex index.php index.html index.html.var

настройки cgi
задание псевдонима для каталога с cgi-скриптами "c:\sites\home\localhost\cgi". при указании пути вида http://localhost/cgi/ или http://localhost/cgi-bin/, apache будет обращаться к каталогу "c:\sites\home\localhost\cgi":

code
scriptalias /cgi/ "c:/sites/home/localhost/cgi/"
scriptalias /cgi-bin/ "c:/sites/home/localhost/cgi/"

каталог "c:\sites\home\localhost\cgi" также будет доступен вашим виртуальным хостам при обращении вида "http://имя_виртуального_хоста/cgi-bin/cgi-скрипт.bat". напрмер, если вы введете в браузере http://neebet/cgi-bin/cgitest.bat, то будет выполнен код,***одящийся в файле "c:\sites\home\localhost\cgi\cgitest.bat", который также доступен по адресу http://localhost/cgi/cgitest.bat. у виртуальных хостов есть свой каталог для cgi-скриптов, доступный по адресу "http://имя_виртуального_хоста/cgi/cgi-скрипт.bat". каталоги "cgi" не доступны для просмотра в браузере, и при прямом обращении к ним вы получите сообщение об ошибке "403".
указывает apache, что файлы с расширением "cgi", "bat", "exe" нужно воспринимать как cgi-скрипты:

code
addhandler cgi-script .cgi .bat .exe

блок "" замените на:
code

allowoverride none
options none
order allow,deny
allow from all

языковые настройки
остальные строки вида "addlanguage lang .lang" можете закомментировать (если конечно вам не нужна поддержка этих языков):

code
addlanguage en .en
addlanguage ru .ru

устанавливает языковой приоритет:
code
languagepriority en ru

настройка кодировок:
code
adddefaultcharset windows-1251
addcharset windows-1251 .cp-1251 .win-1251

настройки php
подключение php:

code
addtype application/x-httpd-php php phtml
scriptalias /_php_/ "c:/server/php/"
action application/x-httpd-php "/_php_/php.exe"

настройки ssi
включение ssi:

code
addtype text/html .shtml
addhandler server-parsed .shtml .html .htm

теперь основные дерективы заданы. для вступления изменений в силу - перезапустите apache.
виртуальные хосты

итак, вы создали каталог "localhost" для хранения и тестирования документов вашего сайта. но если у вас не один сайт? можно конечно создать каталоги для других сайтов внутри "localhost" и обращаться к ним "http://localhost/site", но это не совсем удобно. тем более, что apache дает возможность решить эту проблему с помощью виртуальных хостов. есть два вида виртуальных хостов: отдельные для каждого ip адреса и использующие один ip (name-based хосты). я объясню как настроить последние.

вы уже создали ранее папки "neebet" и "mysite" в директории "home". это и есть корни ваших виртуальных хостов. в них должны быть папки "www" и "cgi", файлы access.log и error.log. т. е. все так же как и с каталогом "localhost". все ваши виртуальные хосты будут использовать ip "127.0.0.1".

добавьте в файл "httpd.conf" следующее:

code
namevirtualhost 127.0.0.1
#localhost

serveradmin me@localhost
servername localhost
documentroot "c:/sites/home/localhost/www"
scriptalias /cgi/ "c:/sites/home/localhost/cgi/"
errorlog c:/sites/home/localhost/error.log
customlog c:/sites/home/localhost/access.log common

#neebet

serveradmin me@neebet
servername neebet
documentroot "c:/sites/home/neebet/www"
scriptalias /cgi/ "c:/sites/home/neebet/cgi/"
errorlog c:/sites/home/neebet/error.log
customlog c:/sites/home/neebet/access.log common

#mysite

serveradmin me@mysite
servername mysite
documentroot "c:/sites/home/mysite/www"
scriptalias /cgi/ "c:/sites/home/mysite/cgi/"
errorlog c:/sites/home/mysite/error.log
customlog c:/sites/home/mysite/access.log common

можно добавить в блоки "" и другие параметры, однако лучше управлять виртуальными хостами с помощью .htaccess. также стоит отметить, что все параметры, не указанные в блоках "" или в .htaccess, наследуются от главного хоста (т. е. от "localhost").
т. о. вы настроили apache для работы с виртуальными хостами. имена, естесственно, можно изменить, но при этом будте внимательны с путями!

теперь определимся с тем, как windows узнает о существовании виртуальных хостов? для этого придется отредактировать файл "hosts" (не путать с файлом "hosts.sam"), хранящийся в папке "%windows%\system32\drivers\etc". выглядит он примерно так:

code
# © корпорация майкрософт (microsoft corp.), 1993-1999
#
# это образец файла hosts, используемый microsoft tcp/ip для windows.
#
# этот файл содержит сопоставления ip-адресов именам узлов.
# каждый элемент должен располагаться в отдельной строке. ip-адрес должен
# находиться в первом столбце, за ним должно следовать соответствующее имя.
# ip-адрес и имя узла должны разделяться хотя бы одним пробелом.
#
# кроме того, в некоторых строках могут быть вставлены комментарии
# (такие, как эта строка), они должны следовать за именем узла и отделяться
# от него символом '#'.
#
# например:
#
# 102.54.94.97 rhino.acme.com # исходный сервер
# 38.25.63.10 x.acme.com # узел клиента x
127.0.0.1 localhost

в него нужно будет дописать две строки:
127.0.0.1 neebet
127.0.0.1 mysite
 
  • Страница 1 из 1
  • 1
Поиск:
Автор: ultima
Designed by Evil Raven
Сделать бесплатный сайт с uCoz © 2009.