Situatie: CentOs 6.5, Apache 2, Varnish 4, directadmin, meerdere domeinen die vanuit één vps worden geserveerd, dus gebruik van vhosts.
Ik heb al enkele malen getracht varnish in combinatie met apache te laten werken maar ik denk dat directadmin me in de weg zit. Varnish op zich start zonder fouten. Maar als ik de domeinen benader krijg ik niet de homepage maar de default pagina van Apache "Apache is function normally". Als ik naar de http header (van die apache is function normally pagina) kijk zie ik dat hij keurig via Varnish is geleverd.
Ik moet ergens over heen kijken maar weet niet wat.
Mijn doel: om de verschillende domeinen via varnish te serveren, maar in eerst instantie het varnish gedeelte zo simpel mogelijk te houden. Varnish wil ik laten luisteren op port 80, de backend (httpd) op 8080.
Wat ik heb aangepast/ingesteld:
/etc/sysconfig/varnish
Daar staat op dit moment alleen: DAEMON_OPTS="-a :80 -T localhost:6082 -f /etc/varnish/default.vcl -u varnish -s malloc,256M"
/etc/varnish/default.vcl
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Apache laten luisteren op port 8080
/etc/httpd/conf/httpd.conf
Listen 8080
/etc/httpd/conf/extra/httpd-vhosts.conf
Is op dit moment niet zo relevant, is alleen maar voor requests waarvan de hostnaam niet wordt herkend. Heb ik (nu even) niet aangepast moet later ook port 8080 in komen te staan.
/etc/httpd.conf/ips.conf
NameVirtualHost portnummer achter ip-adres aanpassen naar 8080
/etc/httpd/conf/extra/direct-admin-vhosts.conf wijst naar:
/usr/local/directadmin/data/users/admin/httpd.conf
Daarin het portnummer :80 wijzigen naar :8080 zoals bijvoorbeeld onderstaand:
<VirtualHost 1.2.3.4:8080 [ip-v6 adres]:8080 >
Servername www.eerstedomein.nl
...
...
</VirtualHost>
(1.2.3.4 moet natuurlijk het ipadres zijn van de vps)
En bovenstaande herhalen voor alle domeinnamen (maar heb ik mijn test even alleen voor één domein aangepast).
Daarna service httpd restart en service varnish start
Voor het aangepaste domein krijg ik de bekende "apache is function normally" pagina te zien.