Hopelijk is het met deze titel een beetje duidelijk waar het over gaat en zit ik nu op de juiste plek van het forum. Ik zal proberen eerst uit te leggen wat ik op dit moment werkend heb en daarna waar ik naartoe wil (maar wat me nog niet is gelukt).
Werkende situatie
Ik heb thuis een server draaien met daarop Debian geïnstalleerd. Op deze server draait Apache2 en (php)VirtualBox. Op poort 80 kan ik de "Apache2 Debian Default Page" krijgen (waarop is te lezen dat het werkt en dat je het bestand in /var/www/html/index.html moet vervangen om een eigen HTTP-server op te zetten).
Met VirtualBox heb ik een VM draaien die ook op Debian werkt. Op deze VM heb ik Seafile geïnstalleerd (met MySQL) - een cloudopslagdienst die je in eigen beheer kunt gebruiken net als bijvoorbeeld OwnCloud. Seafile heeft een vrij goede handleiding en daarmee ben ik zover gekomen dat ik de webinterface, Seahub, kan bereiken op poort 8000. Ook kan ik door m'n browser met poort 8082 te verbinden zien dat het synchroniseren van bestanden zou moeten werken. So far so good.
Wat ik graag zou willen
In de handleiding van Seafile las ik over het deployen van Seafile met Nginx. Tevens leggen ze op de volgende pagina uit hoe je dat kunt doen met https. Dit heeft, als ik het goed begrijp, enkele voordelen en is te verkiezen boven een systeem dat werkt op enkel MySQL.
Dat heb ik dus geprobeerd en heb de boel ingesteld dat ik met poort 443 of https://ip-adres Seafile/Seahub zou moeten kunnen bereiken. Maar daar gaat het mis; ik kan op die manier niet verbinden. De instellingen die ik heb gebruikt, heb ik bijna rechtstreeks overgenomen uit de handleiding. Ik heb ook gecontroleerd dat ik de juiste bestanden (cacert.pem en privkey.pem) heb om de versleutelde verbinding op te kunnen zetten.
Beetje zijspoor...
Wat mij leuk lijkt om te maken is een simpele thuispagina op de hoofdserver waarop staat dat je bent verbonden met mijn server en een paar links naar de diensten die ik in gebruik heb (te beginnen met Seafile). Die link zou je dan door moeten sturen naar bijvoorbeeld https://ip-adres/seafile, zodat je dat kunt gebruiken.
Nou denk ik dat het struikelblok is dat ik op twee verschillende systemen (met hetzelfde IP-adres) Apache2 en Nginx heb draaien, die waarschijnlijk allebei proberen te luisteren op poort 80 (en 443?). Ik denk dat ik dat op één van de volgende manieren zou moeten kunnen oplossen:
1. zorg dat Nginx naar andere poorten luistert, bijvoorbeeld 8080 en 4433 (in de config-file of met VirtualBox port-forwarding)
2. laat het 'hoofddomein' http://ip-adres/ hosten door Apache2 en zorg dat Nginx in dit geval http(s)://ip-adres/seafile/ verzorgt.
3. (niet zo leuk) laat dat hele nginx-gedoe varen en werk met seafile zonder https/reverse-proxy/dingen die je met een webserver kunt doen
4. Kan ik die VM misschien een ander IP-adres geven? Dat ik thuis bijvoorbeeld niet verbind met 192.168.1.10 (thuisserver), maar met 192.168.1.11 (Seafile VM) om Seafile te gebruiken? En dat ik in m'n router port-forwarding apart instel voor die twee om van buiten te verbinden?
Is er iemand die de situatie begrijpt en me een eindje op weg zou willen/kunnen helpen? En/of uitleggen welke van de door mij genoemde opties te beste is en waarom? Dat zou ik heel fijn vinden.
Werkende situatie
Ik heb thuis een server draaien met daarop Debian geïnstalleerd. Op deze server draait Apache2 en (php)VirtualBox. Op poort 80 kan ik de "Apache2 Debian Default Page" krijgen (waarop is te lezen dat het werkt en dat je het bestand in /var/www/html/index.html moet vervangen om een eigen HTTP-server op te zetten).
Met VirtualBox heb ik een VM draaien die ook op Debian werkt. Op deze VM heb ik Seafile geïnstalleerd (met MySQL) - een cloudopslagdienst die je in eigen beheer kunt gebruiken net als bijvoorbeeld OwnCloud. Seafile heeft een vrij goede handleiding en daarmee ben ik zover gekomen dat ik de webinterface, Seahub, kan bereiken op poort 8000. Ook kan ik door m'n browser met poort 8082 te verbinden zien dat het synchroniseren van bestanden zou moeten werken. So far so good.
Wat ik graag zou willen
In de handleiding van Seafile las ik over het deployen van Seafile met Nginx. Tevens leggen ze op de volgende pagina uit hoe je dat kunt doen met https. Dit heeft, als ik het goed begrijp, enkele voordelen en is te verkiezen boven een systeem dat werkt op enkel MySQL.
Dat heb ik dus geprobeerd en heb de boel ingesteld dat ik met poort 443 of https://ip-adres Seafile/Seahub zou moeten kunnen bereiken. Maar daar gaat het mis; ik kan op die manier niet verbinden. De instellingen die ik heb gebruikt, heb ik bijna rechtstreeks overgenomen uit de handleiding. Ik heb ook gecontroleerd dat ik de juiste bestanden (cacert.pem en privkey.pem) heb om de versleutelde verbinding op te kunnen zetten.
Beetje zijspoor...
Wat mij leuk lijkt om te maken is een simpele thuispagina op de hoofdserver waarop staat dat je bent verbonden met mijn server en een paar links naar de diensten die ik in gebruik heb (te beginnen met Seafile). Die link zou je dan door moeten sturen naar bijvoorbeeld https://ip-adres/seafile, zodat je dat kunt gebruiken.
Nou denk ik dat het struikelblok is dat ik op twee verschillende systemen (met hetzelfde IP-adres) Apache2 en Nginx heb draaien, die waarschijnlijk allebei proberen te luisteren op poort 80 (en 443?). Ik denk dat ik dat op één van de volgende manieren zou moeten kunnen oplossen:
1. zorg dat Nginx naar andere poorten luistert, bijvoorbeeld 8080 en 4433 (in de config-file of met VirtualBox port-forwarding)
2. laat het 'hoofddomein' http://ip-adres/ hosten door Apache2 en zorg dat Nginx in dit geval http(s)://ip-adres/seafile/ verzorgt.
3. (niet zo leuk) laat dat hele nginx-gedoe varen en werk met seafile zonder https/reverse-proxy/dingen die je met een webserver kunt doen
4. Kan ik die VM misschien een ander IP-adres geven? Dat ik thuis bijvoorbeeld niet verbind met 192.168.1.10 (thuisserver), maar met 192.168.1.11 (Seafile VM) om Seafile te gebruiken? En dat ik in m'n router port-forwarding apart instel voor die twee om van buiten te verbinden?
Is er iemand die de situatie begrijpt en me een eindje op weg zou willen/kunnen helpen? En/of uitleggen welke van de door mij genoemde opties te beste is en waarom? Dat zou ik heel fijn vinden.