Автор Тема: Виртуални хостове в apache22  (Прочетена 3471 пъти)

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
Виртуални хостове в apache22
« -: May 28, 2012, 15:05 »
Здравейте, обръщам се към вас с молба по един банален въпрос на които немога да открия решение няколко дни. Става дума за apache 2.2.21 и freeBSD 9.0 Release, опитвам се да добавя виртуални хостове, описвам ги в /usr/local/etc/apache22/extra/httpd-vhosts.conf


<VirtualHost web.tvardica.info>
  ServerName 92.247.219.105
  ServerAlias web.tvardica.info         
  DocumentRoot /usr/local/www/apache22/data/analytics/
  ErrorLog  /usr/local/www/apache22/data/analytics/error_web.log
  CustomLog /usr/local/www/apache22/data/analytics/access_web.log combined
  <Directory "/usr/local/www/apache22/data/analytics/">
    AllowOverride All
    Options FollowSymLinks
  </Directory>
</VirtualHost>
-------------

mail# /usr/local/etc/rc.d/apache22 restart
Performing sanity check on apache22 configuration:
Syntax OK
Stopping apache22.
Waiting for PIDS: 16828.
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.
mail#
-----------


До тук добре, но когато се опитам да отворя http://web.tvardica.info ме отвежда в root директорията на apache сървъра.
Виртуализация съм правил многократно при apache и nginx под Debian и Ubuntu, характерното е че има момент на a2ensite, тоест разрешаване на virtualhost-а. Да не би във freeBSD да има подобно нещо ?

Благодарен ще съм ако някой ме насочи към читаво и работещо how to, или информация по моя случай.

P.S в httpd.conf съм разрешил :

# Virtual hosts
Include etc/apache22/extra/httpd-vhosts.conf
« Последна редакция: May 28, 2012, 15:25 от vox »
Активен

No Windows, no Gates only apache inside

konzo

  • Новаци
  • *
  • Публикации: 1
    • Профил
Re: Виртуални хостове в apache22
« Отговор #1 -: May 28, 2012, 16:04 »
Провери дали document root не е сетнат преди виртуалния хост.
Активен

morbid_viper

  • Напреднали
  • *****
  • Публикации: 266
  • Distribution: (Open)SUSE since v5.3 (1999)
  • Window Manager: KDE ориентиран
    • Профил
Re: Виртуални хостове в apache22
« Отговор #2 -: May 28, 2012, 17:15 »
Знам, че е банално, но провери все пак дали имаш нещо като
NameVirtualHost *:80

освен това ми се струва добра идея да дадеш абсолютен, а не относителен път тук:
Include etc/apache22/extra/httpd-vhosts.conf
(с други думи да добавиш наклонена черта преди etc)
Активен

-------------------------------------------------
Blessed are we to taste this life of sin!
-------------------------------------------------
Registered Linux user #251276

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
Re: Виртуални хостове в apache22
« Отговор #3 -: May 28, 2012, 18:40 »
NameVirtualHost *:80, нямам такова нещо в конфигурацията.
Пълния път описах /usr/local/etc/apache22/extra/httpd-vhosts.conf
Без промяна, насочва ме към DocumentRoot посочен в httpd.conf.
Активен

No Windows, no Gates only apache inside

XsPiDeR

  • Напреднали
  • *****
  • Публикации: 42
  • Distribution: CentOS 6
  • Window Manager: GNOME
    • Профил
    • WWW
Re: Виртуални хостове в apache22
« Отговор #4 -: May 28, 2012, 19:03 »
<VirtualHost *:80>
  ServerName web.tvardica.info
         
  DocumentRoot /usr/local/www/apache22/data/analytics/
  ErrorLog  /usr/local/www/apache22/data/analytics/error_web.log
  CustomLog /usr/local/www/apache22/data/analytics/access_web.log combined
  <Directory "/usr/local/www/apache22/data/analytics/">
    AllowOverride All
    Options FollowSymLinks
  </Directory>
</VirtualHost>

И би трябвало да сработи :)
a и NameVirtualHost *:80 също трябва да го имаш
« Последна редакция: May 28, 2012, 19:05 от XsPiDeR »
Активен

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
Re: Виртуални хостове в apache22
« Отговор #5 -: May 28, 2012, 19:54 »
Невероятно но факт - работи. Значи обобщение. Необходимо е :

1. В httpd.conf да има ред с NameVirtualHost *:80
2. В httpd-vhosts.conf следната конфигурация

<VirtualHost *:80>
  ServerName web.tvardica.info         
  DocumentRoot /usr/local/www/apache22/data/analytics/
  ErrorLog  /usr/local/www/apache22/data/analytics/error_web.log
  CustomLog /usr/local/www/apache22/data/analytics/access_web.log combined
  <Directory "/usr/local/www/apache22/data/analytics/">
    AllowOverride All
    Options FollowSymLinks
  </Directory>
</VirtualHost>

#----

Благодаря ти много, спести ми дни лутане в откриване на точното решение!
Активен

No Windows, no Gates only apache inside

XsPiDeR

  • Напреднали
  • *****
  • Публикации: 42
  • Distribution: CentOS 6
  • Window Manager: GNOME
    • Профил
    • WWW
Re: Виртуални хостове в apache22
« Отговор #6 -: May 28, 2012, 20:53 »
Няма какво да се луташ : )
В документацията на Apache е описано и е дадено пример - http://httpd.apache.org/docs/2.0/vhosts/name-based.html
Активен

backinblack

  • Напреднали
  • *****
  • Публикации: 3201
    • Профил
Re: Виртуални хостове в apache22
« Отговор #7 -: May 29, 2012, 00:23 »
Ако може да ползвам темата на колегата, че и аз от 1 седмица се боря със същия проблем и все удрям на камък, пък не знам и англичански, но стигам до извода, че нещо в настройките на апача не ми е по реда си!

Та, имам 2 домейна kronos-eood.com и kronos-eood.eu които са пренасочени към моя компютър който всъщност е виртуалка зад рутер.
От рутера съм пренасочил порт 80 към вътрешно ип 192.168.1.105. В папката /var/www съм създал подпапки kronos и site2. В папката kronos съм исипал един wordpres и в отделна папка shop един tomatocart, а папката site2 e празна, само съм преместил в нея index файла от папката www.
С Уебмин на първия виртуален хост, който си идва с инсталацията съм редактирал роот директорията да е /var/etc/www/kronos и си се стартира уордпреса, а след него като напиша shop ми стартира и домата.
Сега се опитвам да отделя домата на поддомейн shop.kronos-eood.com, а на другия домейн друг уеб сървър на който роот директорията да е site2 и създавам два нови хоста с роот директории  /var/www/kronos/shop и  /var/www/site2 . Създават се нови конфигурационни файлове в /etc/apache2/sites-available и /etc/apache2/sites-enabled с имена kronos-eood.eu.conf и shop.kronos-eood.com.conf с настройки,  а на първия настройките са в 000-default. Гледам уж всичко си имат:
Цитат
<VirtualHost 192.168.1.105>
DocumentRoot "/var/www/kronos/shop"
ServerName shop.kronos-eood.com
<Directory "/var/www/kronos/shop">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
Но, което и от трите домейн имена да напиша, всички водят до първия дефолтен виртуал хост!
Пробвах да добавя в директивите  NameVirtualHost и резултат никакъв!
От скоро си блъскам главата с тези виртуални хостове, навсякъде пише, че било лесно, пък мен ме изтормози много!
Вече се каня да пробвам с една виртуалка с Уиндоус и хамп, че има повече уроци из нета, та белкем го стопля как става!

С Убунту 10.04 съм и карам с настройки по подразбиране на апача.
Активен

morbid_viper

  • Напреднали
  • *****
  • Публикации: 266
  • Distribution: (Open)SUSE since v5.3 (1999)
  • Window Manager: KDE ориентиран
    • Профил
Re: Виртуални хостове в apache22
« Отговор #8 -: May 29, 2012, 11:04 »
Замени
<VirtualHost 192.168.1.105>
с
<VirtualHost *:80>

и провери все пак дали имаш NameVirtualHost *:80. Този „магически“ ред всъщност указва на апача да се обръщаш към виртуалните по име, а не по IP адрес. Така както си го направил е удобно, ако имаш няколко IP адреса вързани към машината ти - това просто е обратната схема.
« Последна редакция: May 29, 2012, 11:07 от morbid_viper »
Активен

-------------------------------------------------
Blessed are we to taste this life of sin!
-------------------------------------------------
Registered Linux user #251276

backinblack

  • Напреднали
  • *****
  • Публикации: 3201
    • Профил
Re: Виртуални хостове в apache22
« Отговор #9 -: May 29, 2012, 13:22 »
Eeeee Колега! Знаех си, че нещо дребно пропускам, но чак пък толкоз да било!!!
Много благодарско [_]3 !

Направих ги и трите виртуални хоста по този начин и сега на kronos-eood.com който е дефолтния виртуален сървър отваря директорията www/kronos и зарежда уордпрес, shop.kronos-eood.com началната страница на www/kronos/shop на домата и kronos-eood.eu отваря its work на www/site2, но на shop.kronos-eood.com дето е домата зарежда само индекс страницата, а също и индекс страницата на admin за входа в администраторския панел и от там нататъче дава
Цитат
Not Found
The requested URL /shop/index.php was not found on this server.
Активен