Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Apache конфигурирование

#1 denis0n

denis0n
  • Пользователь
  • 18 сообщений
  • Репутация: 0
0

Отправлено 21 Январь 2009 - 23:59

Добрый вечер. Хочу поставить дома сервер АПАЧ, исключительно ради тренировки, ну и в целом понять, как это все работает. Вопрос к ZiTosS. Прошел по ссылке которую Вы подсказали ( сайт с русскоязычным руководством по установке АПАЧ ), скачал, установил, работает. Когда дело дошло до конфигурирования файлов, хоть там и очень подробное руководство, голова пошла кругом. С файлом httpd.conf совладал (я так думаю), а вот с файлом httpd-vhosts.conf проблема. В виртуальных хостах на основе имени необходимо указывать ІР адрес своего компьютера или указанный в инструкции? Далее. Если я собираюсь тестировать 1 сайт, что целесообразнее выбрать: основанные на ІР адресе или на имени. Заранее спасибо. Надеюсь я правильно выбрал тему.

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 22 Январь 2009 - 01:20

Прошу создавать собственные новые темы, а не подымать архив старых тем.

Разберёмся с директивами виртуального хоста на примере
<VirtualHost *:*>
  DocumentRoot "K:/home/test1.ru/subdomain"  
  ServerName "subdomain.test1.ru"
  ServerAlias "subdomain.test1.ru" "www.subdomain.test1.ru" 
  ScriptAlias /cgi/ "/home/test1.ru/cgi/"
  ScriptAlias /cgi-bin/ "/home/test1.ru/cgi-bin/"
  ErrorLog "/home/test1.ru/error.log"
</VirtualHost>
DocumentRoot - Полный путь начиная от диска, до папки хранения данных
ServerName - Имя сервера по которому идёт обращение, т.е. написав http://subdomain.test1.ru/ мы попадём в корень папки subdomain по пути DocumentRoot
ServerAlias - альтернативное обращение к серверу
ScriptAlias /cgi/ - путь для содержания cgi
ScriptAlias /cgi-bin/ - путь для содержания cgi-bin
ErrorLog - файл хранения логов ошибок сервера и путь до него

---------------------------------------------------------------------------

Первое наставление, ваш IP адрес сервера обычно 127.0.0.1, а порт по стандарту 80

Добрый вечер. Хочу поставить дома сервер АПАЧ, исключительно ради тренировки, ну и в целом понять, как это все работает.

Тренировка и опыт это хорошо, правильно делаешь, без виртуального-сервера ни стать веб-программистом или просто любителем.

Когда дело дошло до конфигурирования файлов, хоть там и очень подробное руководство, голова пошла кругом.

Я вас понимаю, но ведь в httpd.conf примерно однотипные подстройки и с комментариями.

В виртуальных хостах на основе имени необходимо указывать ІР адрес своего компьютера или указанный в инструкции? Далее. Если я собираюсь тестировать 1 сайт, что целесообразнее выбрать: основанные на ІР адресе или на имени. Заранее спасибо. Надеюсь я правильно выбрал тему.

По этому вопросу обращусь к комментариям denwer'a и Apache.

# Если вы хотите по умолчанию запускать Apache на порту, отличном от 80,
# измените номер порта в следующей далее директиве.

Listen 127.0.0.1:80
NameVirtualHost *:*
Вторая строка с NameVirtualHost

# Директива NameVirtualHost
# Указываешь, на каком адресе принимать запросы к виртуальным хостам
# обозначенным ниже. Указывать можно IP адрес конкретно (например 172.16.0.1)
# или поставить символ "*", который означает, что будут приниматься запросы
# со всех адресов данного хоста.

Далее идут виртуальные хосты <VirtualHost [IP]:[Port]></VirtualHost>

# Контейнер конфигурации витруального хоста <VirtualHost>
# Все параметры конфигурации этого виртуального сервера
# должны быть прописаны до тэга закрытия контейнера виртуального
# хоста </VirtualHost>

От меня: Если прописываете в тег [IP] = * и [Port] = *. То данный виртуальный хост будет прослушывать (принимать обращения) все IP и с любого Порта
  • 0

#3 denis0n

denis0n
    Topic Starter
  • Пользователь
  • 18 сообщений
  • Репутация: 0

Отправлено 23 Январь 2009 - 12:07

Здравствуйте. Новую тему не создавал, так как не хотел однотипными темами засорять форум, ведь уже были несколько открытых на тему "Сервер". В принципе дело не в этом. Заранее извинюсь, так как вопросов, я думаю, будет еще много с моей стороны. Нет знакомых которые в этом разбираются.
Помогите найти где я ошибся. Отредактировал файл httpd-vhosts.conf, создал в папке
C:\Program Files\Apache Software Foundation\Apache2.2\bin файл httpd-S.cmd для проверки правильности написания файла httpd-vhosts.conf . В результате получается
C:\Program Files\Apache Software Foundation\Apache2.2\bin"C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe"-s""C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe"-s" не является внутренней или внешней командой, используемой программой или пакетным файлом.
C:\Program Files\Apache Software Foundation\Apache2.2\bin\pause
Для продолжения нажмите любую клавишу

Вот сам файл httpd-vhosts.conf c предложенным кодом. От меня добавлено только Volshebnaja_kuhnja.ru ;)
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost 127.0.0.8:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost 127.0.0.8:80>
	ServerAdmin webmaster@Volshebnaja_kuhnja.ru
	DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/Volshebnaja_kuhnja.ru"
	ServerName Volshebnaja_kuhnja.ru
	ServerAlias www.Volshebnaja_kuhnja.ru
	ErrorLog "C:/www/docs/Volshebnaja_kuhnja.ru/logs/Volshebnaja_kuhnja.ru-error.log"
   CustomLog "C:/www/docs/Volshebnaja_kuhnja.ru/logs/Volshebnaja_kuhnja.ru-access.log common
	CustomLog "C:/www/docs/Volshebnaja_kuhnja.ru/logs/Volshebnaja_kuhnja.ru-access.log combined
  
  <IfModule alias_module>  
	ScriptAlias/cgi-bin/"c:/www/docs/Volshebnaja_kuhnja.ru/cgi-bin/"
  </IfModule>

  <IfModule mime_module>
	AddOutputFilter INCLUDES .shtml .php
  </IfModule>

  <Directory "c:/www/docs/Volshebnaja_kuhnja.ru/www">
	Options indexes includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
	AllowOverride All
	Order allow,deny
	Allow from all
	AddHandler server-parsed .shtml .shtm .html .htm
  </Directory>

</VirtualHost>

<VirtualHost 127.0.0.8:80>
	ServerAdmin webmaster@dummy-host2.httpserver.ru
	DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.httpserver.ru"
	ServerName www.dummy-host2.httpserver.ru
	ErrorLog "logs/dummy-host2.httpserver.ru-error.log"
	CustomLog "logs/dummy-host2.httpserver.ru-access.log" common
</VirtualHost>
и еще вопросик, при редактировании файла httpd-userdir.conf сказано создать 3 каталога виртуальных хостов
UserDir "www/docs", UserDir "www/htdocs", UserDir "www/public_html", соответствующие изменения внесены.
Правильно ли я поступил, создав на диске "С" папку с названием www, а в ней папки соответсвенно
docs, htdocs, public_html. Спасибо
  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 23 Январь 2009 - 23:57

Для вашего варианта пропишите так:
<VirtualHost 127.0.0.8:80>
  DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/Volshebnaja_kuhnja.ru"  
  ServerName "Volshebnaja_kuhnja.ru"
  ServerAlias "Volshebnaja_kuhnja.ru" "www.Volshebnaja_kuhnja.ru"
  ScriptAlias /cgi/ "C:/Program Files/Apache Software Foundation/Apache2.2/docs/Volshebnaja_kuhnja.ru/cgi/"
  ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/docs/Volshebnaja_kuhnja.ru/cgi-bin/"
  ErrorLog "logs/error.log"
</VirtualHost>

И главное:
1) обычно файл httpd-vhosts.conf сбрасывается, например в Denwer, поэтому хосты свои надо кидать в httpd.conf
2) И все прописываемые директивы зависят от настроек httpd.conf.

У меня одни, у вас другие
Не мучайтесь!
Вам бы вообще советовал для начала Denwer поставить! Очень вам поможет, там и во всех конфигурационных файлах все комментарии на русском.

и еще вопросик, при редактировании файла httpd-userdir.conf сказано создать 3 каталога виртуальных хостов
UserDir "www/docs", UserDir "www/htdocs", UserDir "www/public_html", соответствующие изменения внесены.
Правильно ли я поступил, создав на диске "С" папку с названием www, а в ней папки соответсвенно
docs, htdocs, public_html.

Всё зависит что у вас в httpd.conf прописано.

#
# DocumentRoot: Каталог, в котором будут находиться ваши документы (т.е.
# Web-страницы). По умолчанию, все запросы выбираются из этого каталога;
# для указания же других мест могут использоваться символические ссылки
# (links) и псевдонимы (aliases).
#
DocumentRoot "Z:/home/localhost/www"

Это у меня.

Вот относительно этого пути и создавать папки ;)
  • 0

#5 Arukard1

Arukard1
  • Пользователь
  • 193 сообщений
  • Репутация: 0

Отправлено 31 Январь 2009 - 12:19

ну а ваще можно было выкинуть ссылку на апач.орг просто :)
Там есть полные мануалы, гдето кстате находил генератор httppd.conf ;)
  • 0

#6 Xander

Xander
  • Пользователь
  • 59 сообщений
  • Репутация: 0

Отправлено 16 Февраль 2009 - 05:27

denis0n, здесь рассказывается про установку и конфигурирования «индейца».
  • 0


Оформление форума – IPBSkins.ru