Apache Virutal Host проблем

Vasil Milev

New Member
Здравейте използвам webmin и centos 6.3
Default Server-а ми е настроен към главния домейн да кажем mydomain.com, но когато създам нов virtual host със
Код:
 Virtual Server 	Handles all requests to the address subdomain.mydomain.com on port 80.
Address subdomain.mydomain.com
Port 80 	Server Name subdomain.mydomain.com
Document Root /var/www/subdomain
Самият поддомейн си работи, но като се пробвам да отворя главния домейн пак ми отваря съдържанието на поддомейна :(
 
От: Apache Virutal Host проблем

За да поправиш това, просто трябва да добавиш главния си домейн като отделен виртуален хост, вместо да използваш default хоста. Добавянето се извършва от Webmin -> Servers -> Apache Webserver -> Create VirtualHost, като оставиш опцията "Add Name Virtual Server address" включена. Това автоматично ще добави директивата NameVirtualHost в конфигурацията на Apache и ще ти позволи да използваш повече от един виртуални хоста :)
 
От: Apache Virutal Host проблем

като за начало трябва да имаш тези два реда за главният ти домейн :
Listen 80
ServerRoot /usr/local/apache2 - тука където ти е папката
DocumentRoot /var/www/
после допълнителен субдомейн може да добавиш така :
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example.com

# Other directives here

</VirtualHost>
пп : да и както колегата по рано каза , може да добавиш главният ти домейн и той като един виртуал хост.
 
От: От: Apache Virutal Host проблем

като за начало трябва да имаш тези два реда за главният ти домейн :
Listen 80
ServerRoot /usr/local/apache2 - тука където ти е папката
DocumentRoot /var/www/
после допълнителен субдомейн може да добавиш така :
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example.com

# Other directives here

</VirtualHost>
пп : да и както колегата по рано каза , може да добавиш главният ти домейн и той като един виртуал хост.
С това serveroot ми дава че няма такава директория :(
Като добавя и отделен виртулен хост за главния пък ми дава файловете на главния на всеки домейн :(
 
От: Apache Virutal Host проблем

Значи си на прав път :) Щом ти показва файловете на всеки отделен домейн, значи си задал правилно виртуалните хостове, но не си задал какъв да е индекса на самите хостове. За да поправиш това отиди на Apache webserver -> Existing Virtual Hosts. Когато влезнеш да поправяш опциите на всеки виртуален хост ще намериш опция "Directory Indexing" и срещу нея поле, в което трябва да въведеш имената на файлове (подредени според приоритет), които ще бъдат считани от уеб сървъра за индекси. Например, подходящи настройки за това е следното:

Код:
index.html
index.htm
index.php
index.php4
index.php5

Тези опции ги добави във всеки виртуален хост, който си добавил и задължително рестартирай Apache след това.
 
От: Apache Virutal Host проблем

Пак същото файловете на главния домейн си работят, но поддомейна пак си отваря главния...
 
От: Apache Virutal Host проблем

Не съм сигурен точно какви настройки имаш зададени в Apache, може би те объркват цялата конфигурация. Пробвай да добавиш виртуалните хостове на ръка, това би спестило време за дебъгване. За целта премахни вече добавения поддомейн от Webmin и отиди на Apache webserver -> Global configuration -> Edit config files -> Избери "/etc/httpd/conf/httpd.conf" и добави следната конфигурация накрая на файла:

Код:
NameVirtualHost *:80
<VirtualHost *:80>
        ServerName domain.com
        DocumentRoot /var/www/domain
<Directory /var/www/domain>
        DirectoryIndex index.php, index.html
        Order Allow,Deny
        Allow from all
        AllowOverride all
</Directory>
</VirtualHost>

<VirtualHost *:80>
        ServerName subdomain.domain.com
        DocumentRoot /var/www/subdomain
<Directory /var/www/subdomain>
        DirectoryIndex index.php, index.html
        Order Allow,Deny
        Allow from all
        AllowOverride all
</Directory>
</VirtualHost>

Директивата ServerName, служи за описване на имената на домейните. В първия <VirtualHost> блок съм дал пример за домейна ти, а във втория за поддомейна, трябва просто да поправиш "domain.com" и "subdomain.domain.com" с твоите домейни. Аналогично DocumentRoot и Directory оказват от коя директория се отварят, те също трябва да бъдат поправени според това от коя директория да вземат съдържание. След тези промени задължително отново рестартирай Apache.
 
От: Apache Virutal Host проблем

Добре слагма го и го настройвам според домейните
Код:
NameVirtualHost *:80
<VirtualHost *:*>
ServerName rg-minecraft.com
DocumentRoot /var/www/minecraft
<Directory /var/www/minecraft>
        DirectoryIndex index.php
        Order Allow,Deny
        Allow from all
        AllowOverride all
</Directory>
</VirtualHost>

<VirtualHost *:80>
        ServerName r3nt3r.rg-minecraft.com
        DocumentRoot /var/www/r3nt3r
<Directory /var/www/r3nt3r>
        DirectoryIndex index.php
        Order Allow,Deny
        Allow from all
        AllowOverride all
</Directory>
</VirtualHost>
Но пак не ми показва конкретните файлове за поддомейна ако искаш пробвай да отвориш двата домейна за да видиш ;)
 
От: Apache Virutal Host проблем

До колкото виждам, първия VirtualHost блок е объркан <VirtualHost *:*> - сложил си *:*, вместо *:80 . Също така сигурен ли си, че рестартира Apache след това? Това е важно, за да може да приеме новите си настройки. Може да се рестартира от Webmin -> Apache webserver и горе в десния ъгъл има бутон "Apply changes".
 
От: Apache Virutal Host проблем

Проблем ли е ако е *:* така? Идеята ми е да ползвам самия домейн и за ип на minecraft сървър. Иначе да рестартирах го. :)
 

Горе