Überschriften für eher technische Blogeinträge zu finden ist gar nicht so einfach. In diesem Blogeintrag soll es nochmal um das Discourse Forum gehen, dessen Installation ich hier neulich als Docker Container vorgestellt habe. Ich habe ein paar positive Rückmeldungen erhalten und eine wichtige Frage beantworten, die immer wieder auftauchte:
Wie installiere ich das Discourse Forum als Docker Container neben einem bereits auf Port 80 laufenden Apache Webserver in einer Subdomain, also so etwas wie http://forum.serverblogger.ch?
Ja, und nun machen Sie mal eine Überschrift daraus 🙂
Aber zurück zur Frage. Die einfachste Variante ist das Discourse Forum auf einem anderen Port laufen zu lassen, beispielsweise 85, und dann das Proxy Modul des Apache Webservers innerhalb eines Virtual Hosts zu nutzen um die Anfragen von Port 80 (Apache) nach Port 85 (Discourse) weiterzuleiten.
Konfiguration Discourse Forum
Wenn Sie Ihr Discourse Forum so wie in „Discourse – das bessere Forum“ beschrieben installieren, läuft es auf Port 80. Um es auf Port 85 laufen zu lassen, müssen Sie in der Datei containers/app.yml die entsprechende Zeile ändern.
cd /var/discourse sudo nano containers/app.yml ## which TCP/IP ports should this container expose? expose: - "85:80" # fwd host port 85 to container port 80 (http)
Danach müssen Sie die das Paket neu aufbauen
sudo ./launcher rebuild app
Der Container wird automatisch gestartet. Danach können Sie den Discourse Container mit diesen Befehlen stoppen und starten:
sudo ./launcher stop app sudo ./launcher start app
Das Forum läuft jetzt auf Port 85
Konfiguration Apache Webserver
Auf Apache Seite muss der Traffic nun von Port 80 auf Port 85 weitergeleitet werden.
Legen Sie einen virtuellen Host für die Domain forum.serverblogger.ch an
sudo nano /etc/apache2/sites-available/forum.serverblogger.ch.conf
Falls Sie das das Apache Proxy Modul noch nicht aktiviert haben, so wird es jetzt Zeit:
sudo a2enmod proxy_http sudo a2enmod proxy
Starten Sie danach den Apache2 Server neu
sudo service apache2 restart
Leiten Sie die Anfragen mit den folgenden Befehlen weiter
<VirtualHost forum.serverblogger.ch:80> ProxyPreserveHost On ProxyRequests Off ServerName forum.serverblogger.ch ProxyPass / http://46.232.178.78:85/ ProxyPassReverse / http://46.232.178.78:85/ </VirtualHost>
Aktivieren Sie die die vhost Konfiguration und starten Sie den Apache neu
sudo a2ensite forum.serverblogger.ch.conf sudo service apache2 reload
Wenn Sie nun das Discourse Forum unter der neuen URL http://forum.serverblogger.ch aufrufen, ist das Ziel erreicht.
tl;dr: Docker Container verstehen sich auch mit einem bereits konventionell installierten Apache Webserver sehr gut
Schreibe einen Kommentar