# Apache i VHosty. Zły DocRoot?

## Syster

Witajcie!

Postanowiłem sobie zakupić domenkę dla własnego prywatnego serwera  :Smile: 

Postawiłem więc BINDa, ustawiłem aby moja domena była przekierowywana na mojego DNSa, i wszystko jako tako chodzi:)

Problem jednak się pojawił przy vhostach apacza - Apacz ustawia sobie chyba zły docroot:

```
vhosts.conf

NameVirtualHost 82.160.238.119

<VirtualHost mojIP>

ServerName www.domena.com

DocumentRoot "/var/www"

ServerAdmin systerneox@wp.pl

</VirtualHost>

<VirtualHost mojIP>

ServerName adm.domena.com

DocumentRoot "/var/www/adm"

</VirtualHost>

```

I teraz adm.byku.com.pl wskazuje na mój adres IP, ten sam co dla www.domena.com. Problem tylko w tym że po wejściu na adm.byku.com.pl w logach widzę że apacz szuka nie tam gdzie trzeba ;/ nie w /var/www/adm tylko w /var/www.

Myślałem że to może wina DocumentRoot w httpd.conf, ale gdy go skasuję to apacz szuka sobie w swoim lokalnym htdocs, i też jest źle.

Pytanie czy trzeba coś więcej namieszać w httpd.conf oprócz include'a vhosts.conf?

----------

## scyld

Uruchom sobie:

```
apache2 -t -D DUMP_VHOSTS <parametry startowe> -d /usr/lib/apache2 -f /etc/apache2/httpd.conf
```

Gdzie <parametry startowe> to wartość zmiennej APACHE2_OPTS z pliku /etc/conf.d/apache2.

Uzyskasz pełną listę vhostów wraz z podaniem gdzie zostały zdefiniowane oraz pod jakim IP:PORT są dostępne.

Podejrzewam, że wszystko łapiesz na _default_ serwer, bo do niczego innego apache nie jest w stanie się dopasować.

Ogólnie to zgadzać się musi adres IP z DNS'a z tym co podałeś w NameVirtualHost oraz z tym co masz w <VirtualHost mojIP>.

----------

## Syster

 *Quote:*   

> Podejrzewam, że wszystko łapiesz na _default_ serwer, bo do niczego innego apache nie jest w stanie się dopasować

 

Bo to prawda. Pytanie tylko jak on ma to sobie dopasować?

Jeżeli sprawdza to za pomocą revDNS to jest problem - nie mogę go ustawić.

Jak mu wymuszę ServerName to to i tak nic nie daje, bo ciągle mam default server.

----------

## scyld

 *Syster wrote:*   

> Bo to prawda. Pytanie tylko jak on ma to sobie dopasować?
> 
> Jeżeli sprawdza to za pomocą revDNS to jest problem - nie mogę go ustawić.
> 
> Jak mu wymuszę ServerName to to i tak nic nie daje, bo ciągle mam default server.

 

Widzę, że się nie do końca rozumiemy. Przeczytaj podstawową dokumentację: http://httpd.apache.org/docs/2.2/vhosts/

Jak nadal nie będziesz mógł sobie poradzić - wystaw nam swoje httpd.conf i vhost.conf.

----------

## Syster

 *scyld wrote:*   

>  *Syster wrote:*   Bo to prawda. Pytanie tylko jak on ma to sobie dopasować?
> 
> Jeżeli sprawdza to za pomocą revDNS to jest problem - nie mogę go ustawić.
> 
> Jak mu wymuszę ServerName to to i tak nic nie daje, bo ciągle mam default server. 
> ...

 

Ok już sobie poradziłem  :Smile: 

Tylko teraz mam inny błąd   :Confused: 

Przy próbie wejścia przez SSL przez przeglądarkę dostaję komunikat:

```
XXX wysłał nieprawidłowy komunikat. Kod błędu -12263
```

yyy co to?

Wcześniej ssl działał ok, co najlepsze na google nie mogę znaleść żadnych informacji o tym błędzie:|

Ktoś miał z czymś takim styczność?

----------

## Syster

 *Syster wrote:*   

>  *scyld wrote:*    *Syster wrote:*   Bo to prawda. Pytanie tylko jak on ma to sobie dopasować?
> 
> Jeżeli sprawdza to za pomocą revDNS to jest problem - nie mogę go ustawić.
> 
> Jak mu wymuszę ServerName to to i tak nic nie daje, bo ciągle mam default server. 
> ...

 

Ok już sobie poradziłem  :Smile: 

Tylko teraz mam inny błąd   :Confused: 

Przy próbie wejścia przez SSL przez przeglądarkę dostaję komunikat:

```
XXX wysłał nieprawidłowy komunikat. Kod błędu -12263
```

yyy co to?

W logu apacza nic się nie pojawia...

Wcześniej ssl działał ok, co najlepsze na google nie mogę znaleść żadnych informacji o tym błędzie:|

Ktoś miał z czymś takim styczność?[/quote]

----------

## scyld

 *Syster wrote:*   

> Przy próbie wejścia przez SSL przez przeglądarkę dostaję komunikat:
> 
> ```
> XXX wysłał nieprawidłowy komunikat. Kod błędu -12263
> ```
> ...

 

Błąd oznacza, że na pocie SSL apache odpowiada otwartym tekstem... bo nie masz zdefiniowanych vhostów jako stojących na odpowiednich portach (80 dla otwartego tekstu, 443 dla szyfrowanego).

Powinno to wyglądać w przybliżeniu tak:

```
NameVirtualHost *:80

NameVirtualHost *:443
```

W definicji vhostów też musisz podawać port, czyli na przykład:

```
<VirtualHost ipek:80>

ServerName domena.tld

</VirtualHost>

<VirtualHost _default_:443>

SSLEngine on

</VirtualHost>
```

 *Syster wrote:*   

> Wcześniej ssl działał ok, co najlepsze na google nie mogę znaleść żadnych informacji o tym błędzie:|

 

Źle szukasz bo to na maksa typowy problem - tylko trzeba pamiętać że w google znak minus na początku słowa/frazy oznacza wykluczenie z szukania :>

Pozdro

----------

## Syster

Hmm, to mam jeszcze pytanie:

Mój vhosts.conf wygląda teraz tak:

```
NameVirtualHost *:443

<VirtualHost _default_:443>

SSLEngine on

SSLCertificateFile /usr/local/apache2/conf/ssl/server.crt

SSLCertificateKeyFile /usr/local/apache2/conf/ssl/server.key

</VirtualHost>

<VirtualHost *:443>

ServerName www.byku.com.pl

DocumentRoot "/var/www"

ServerAdmin systerneox@wp.pl

</VirtualHost>

<VirtualHost *:443>

ServerName lstat.byku.com.pl

DocumentRoot "/var/www/lstat"

</VirtualHost>

<VirtualHost *:443>

ServerName adm.byku.com.pl

DocumentRoot "/var/www/adm"

#SSLEngine On

#SSLCertificateFile /usr/local/apache2/conf/ssl/server.csr

#SSLCertificateKeyFile /usr/local/apache2/conf/ssl/server.key

</VirtualHost>

```

Jeżeli tak zostawię, to apacz startuje, ale nic więcej. SSL nie działa.

Jeżeli odkomentuje w adm.byku.com.pl linijki z SSL, to mi wywala błąd:

```
[Sat Jan 19 20:34:05 2008] [error] Init: Unable to read server certificate from file /usr/local/apache2/conf/ssl/server.csr (ten plik oczywiście tam jest)

[Sat Jan 19 20:34:05 2008] [error] SSL Library Error: 218529960 error:0D0680A8:lib(13):func(104):reason(168)

[Sat Jan 19 20:34:05 2008] [error] SSL Library Error: 218595386 error:0D07803A:lib(13):func(120):reason(58)

```

Natomiast moje pytanie odnosi się do tego, czy nie mogę ustawić globalnego (tego samego dla każdego z vhostów) certyfikatu?

Ech, tak jak myślałem.

Zrobiłem błąd wręcz idiotyczny. Zapomniałem dodać nasłuchiwania na 443  :Wink: 

----------

