Linux за българи: Форуми

BSD секция => Настройки на софтуер => Темата е започната от: vox в May 28, 2012, 15:05



Титла: Виртуални хостове в apache22
Публикувано от: vox в 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


Титла: Re: Виртуални хостове в apache22
Публикувано от: konzo в May 28, 2012, 16:04
Провери дали document root не е сетнат преди виртуалния хост.


Титла: Re: Виртуални хостове в apache22
Публикувано от: morbid_viper в May 28, 2012, 17:15
Знам, че е банално, но провери все пак дали имаш нещо като
NameVirtualHost *:80

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


Титла: Re: Виртуални хостове в apache22
Публикувано от: vox в May 28, 2012, 18:40
NameVirtualHost *:80, нямам такова нещо в конфигурацията.
Пълния път описах /usr/local/etc/apache22/extra/httpd-vhosts.conf
Без промяна, насочва ме към DocumentRoot посочен в httpd.conf.


Титла: Re: Виртуални хостове в apache22
Публикувано от: XsPiDeR в 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 също трябва да го имаш


Титла: Re: Виртуални хостове в apache22
Публикувано от: vox в 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>

#----

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


Титла: Re: Виртуални хостове в apache22
Публикувано от: XsPiDeR в May 28, 2012, 20:53
Няма какво да се луташ : )
В документацията на Apache е описано и е дадено пример - http://httpd.apache.org/docs/2.0/vhosts/name-based.html


Титла: Re: Виртуални хостове в apache22
Публикувано от: backinblack в 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 съм и карам с настройки по подразбиране на апача.


Титла: Re: Виртуални хостове в apache22
Публикувано от: morbid_viper в May 29, 2012, 11:04
Замени
<VirtualHost 192.168.1.105>
с
<VirtualHost *:80>

и провери все пак дали имаш NameVirtualHost *:80. Този „магически“ ред всъщност указва на апача да се обръщаш към виртуалните по име, а не по IP адрес. Така както си го направил е удобно, ако имаш няколко IP адреса вързани към машината ти - това просто е обратната схема.


Титла: Re: Виртуални хостове в apache22
Публикувано от: backinblack в 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.