Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
BF extended 2022
Avatar
Ladislav Tlapák:25.10.2020 21:47

Ahoj všichni,
Potřebuji poradit s virtualhost.
Mám server 192.168.0.114 na který mám přes router směřovaný port 80
a ve virtual host se snažím o to aby domena 1 byla na 114, což mi funguje a doména 2 se přesměrovala na 192.168.0.105, kde běží.
Ale hlásí chybu 500 neví někdo kde bude zakopaný pes?

Odpovědět
25.10.2020 21:47
Technika je pouze pro pomoc, nikoliv pro myšlení místo lidí
Avatar
Jan Kerhart
Člen
Avatar
Jan Kerhart:25.10.2020 22:30

Ahoj,
vlož sem prosím svoji konfiguraci, z takovéhoto obecného popisu nic nepoznáme.

 
Nahoru Odpovědět
25.10.2020 22:30
Avatar
Odpovídá na Jan Kerhart
Ladislav Tlapák:25.10.2020 23:49

soubor domena2.cz.conf
<VirtualHost :>
ProxyPreserveHost On
ProxyPass "/" "http://192.168­.0.105/"
ProxyPassReverse "/" "http://192.168­.0.105/"
ServerName domena2.cz
</VirtualHost>
soubor 000-default.conf

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName www.domena1.cz

ServerAdmin [email protected]
DocumentRoot /var/www/html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/­error.log
CustomLog ${APACHE_LOG_DIR}/­access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
<VirtualHost :>
ProxyPreserveHost On
ProxyPass "/" "http://192.168­.0.105/"
ProxyPassReverse "/" "http://192.168­.0.105/"
ServerName domena2.cz
</VirtualHost>

Nahoru Odpovědět
25.10.2020 23:49
Technika je pouze pro pomoc, nikoliv pro myšlení místo lidí
Avatar
Jan Kerhart
Člen
Avatar
Odpovídá na Ladislav Tlapák
Jan Kerhart:26.10.2020 0:49

Ahoj,
tipnul bych, že nemáš načtený mod_proxy_http:

sudo a2enmod proxy_http

nebo

<VirtualHost *:80>
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyPreserveHost On
ProxyPass "/" "http://192.168.0.105/"
ProxyPassReverse "/" "http://192.168.0.105/"
ServerName domena2.cz
</VirtualHost>

Pokud to nepomůže, tak sem vlož ještě výpis z error.log

 
Nahoru Odpovědět
26.10.2020 0:49
Avatar
Odpovídá na Jan Kerhart
Ladislav Tlapák:26.10.2020 4:52

A do kterého souboru ?

Nahoru Odpovědět
26.10.2020 4:52
Technika je pouze pro pomoc, nikoliv pro myšlení místo lidí
Avatar
Jan Kerhart
Člen
Avatar
Odpovídá na Ladislav Tlapák
Jan Kerhart:26.10.2020 13:44

Ty máš tu strukturu souborů takovou zvláštní, a máš tam hlavně ten vhost pro doménu 2 dvakrát. Mám za to, že Apache bere tu konfiguraci, kterou načetl jako první, tj. zde asi tu z 000-default.conf, tu druhou ignoruje. Záleží teoreticky ale asi na tom, v jakém pořadí jsou v souboru sites-enabled symlinky pro ty configy. Dal bych to klidně do obou souborů.
Popř. ideálně to celé upravit do běžné podoby a vytvářit pro každý virtualhost vlastní config a ten default vypnout, tj.
měl bych soubor domena1.cz.conf, kde by bylo vše ohledně vhost pro doménu 1, domena2.cz.conf pro doménu 2 a výchozí config bych vypl:

sudo a2dissite 000-default.conf
sudo a2ensite domena1.cz.conf
sudo a2ensite domena2.cz.conf
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
26.10.2020 13:44
Avatar
Odpovídá na Jan Kerhart
Ladislav Tlapák:26.10.2020 16:22

Píšeš sites-enable a ja tom mám v sites-avaiable je to správně ?

Nahoru Odpovědět
26.10.2020 16:22
Technika je pouze pro pomoc, nikoliv pro myšlení místo lidí
Avatar
Jan Kerhart
Člen
Avatar
Odpovídá na Ladislav Tlapák
Jan Kerhart:26.10.2020 16:49

Ano, ve složce sites-available by jsi měl mít configy pro jednotlivé vhosty. Do složky site-enabled nikdy ručně nezasahuj – v ní se nachází symlinky na configy (ze složky sites-available), které jsou aktivní. Pro aktivaci se používá příkaz

sudo a2ensite name.conf

a pro deaktivaci

sudo a2dissite name.conf
 
Nahoru Odpovědět
26.10.2020 16:49
Avatar
Jan Kerhart
Člen
Avatar
Odpovídá na Jan Kerhart
Jan Kerhart:26.10.2020 16:59

Úplně stejně to funguje i s conf-available/enabled a mods-available/enabled. Tj. pokud ti chybí moduly mod_proxy a mod_proxy_http, tak stačí použít

sudo a2enmod proxy_http

což vytvoří potřebné symlinky (proxy je dependency pro proxy_http, takže se automaticky také vytvoří) a mělo by to problém vyřešit.

 
Nahoru Odpovědět
26.10.2020 16:59
Avatar
Odpovídá na Jan Kerhart
Ladislav Tlapák:26.10.2020 17:31

Děkuji moc za tvé cenné rady funguje to :)

Nahoru Odpovědět
26.10.2020 17:31
Technika je pouze pro pomoc, nikoliv pro myšlení místo lidí
Avatar
Odpovídá na Jan Kerhart
Ladislav Tlapák:27.10.2020 7:52

Tak chyba včera to šlapalo nádherné a dneska vše zase smeřováno na 1 doménu

Nahoru Odpovědět
27.10.2020 7:52
Technika je pouze pro pomoc, nikoliv pro myšlení místo lidí
Avatar
Odpovídá na Jan Kerhart
Ladislav Tlapák:27.10.2020 8:02

Oprava http://domena2.CZ funguje ale www.doména2.CZ směřuje na 1 doménu

Nahoru Odpovědět
27.10.2020 8:02
Technika je pouze pro pomoc, nikoliv pro myšlení místo lidí
Avatar
Jan Kerhart
Člen
Avatar
Odpovídá na Ladislav Tlapák
Jan Kerhart:27.10.2020 14:30

Tady jde o to, že www.domena2.cz a domena2.cz je jiný host a ty máš definovaný jen domena2.cz – pokud Apache nenajde odpovídající vhost, tak použije první definovaný, tj. zde domena1.cz. Řešení je jednoduché, přidej ke konfiguraci domény 2 (a pro korektnost i domény 1, ačkoliv tam to teoreticky nutné není) alias pro www.domena2.cz

ServerAlias www.domena2.cz

Jinak potom by bylo vhodné si vybrat a používat pouze buď variantu s www nebo bez a tu druhou na tu preferovanou přesměrovat redirectem 301. Ale to udělej klidně až na cílovém serveru – osobně to řeším většinou pomocí .htaccess konfigurace.

 
Nahoru Odpovědět
27.10.2020 14:30
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.