Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: подобие денвера
 
 автор: sl1p   (18.05.2010 в 17:36)   письмо автору
 
 

Привык к своему, более простому, серверу(EasyPHP)..
Ставил когдато денвер после моего "любимого" удаленного сервера, они все равно както не сдружились в следствии чего не запускался ни тот ни тот сервер.. (я в этом чайник:)

Но хотелось бы сделать такую штуку как в денвере для нескольких проэктов..
по типу
http://localhost/
http://my_work/
т.е. вызов разных папок в зависимости от адреса

и т.д.

подскажите как настроить обычный сервер и что вообще нужно для этого?

  Ответить  
 
 автор: aleks-nl5   (18.05.2010 в 17:46)   письмо автору
 
   для: sl1p   (18.05.2010 в 17:36)
 

если я правильно Вас понял, то Вам стоит обратить внимание на поддержку виртуальных хостов http://httpd.apache.org/docs/2.2/vhosts/

Пример можно посмотреть тут http://www.codenet.ru/webmast/apache/Apache-WindowsNT/apache_config.php
Виртуальные хосты

Итак, вы создали каталог "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" следующее: 
NameVirtualHost 127.0.0.1
#localhost
<VirtualHost 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
</VirtualHost>
#neebet
<VirtualHost 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
</VirtualHost>
#mysite
<VirtualHost 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
</VirtualHost>

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

Т. о. вы настроили Apache для работы с виртуальными хостами. Имена, естесственно, можно изменить, но при этом будте внимательны с путями! 

Теперь определимся с тем, как Windows узнает о существовании виртуальных хостов? Для этого придется отредактировать файл "hosts" (не путать с файлом "hosts.sam"), хранящийся в папке "%WINDOWS%\System32\drivers\etc". Выглядит он примерно так: 
# (C) Корпорация Майкрософт (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

Теперь, при обращении http://neebet загрузится содержимое "C:\Sites\home\neebet\www". 

Для вступления изменений в силу - перезапустите Apache.

  Ответить  
 
 автор: sl1p   (18.05.2010 в 21:01)   письмо автору
 
   для: aleks-nl5   (18.05.2010 в 17:46)
 

очень благодарен:)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования