From 614b5a0de59ffbc06c7f7cbf46fc5ce568a0bb37 Mon Sep 17 00:00:00 2001
From: Sascha Schulz <sschulz@dh-software.de>
Date: Mo, 30 Jun 2025 16:28:09 +0200
Subject: [PATCH] add mongodb installation

---
 index.html |  167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 165 insertions(+), 2 deletions(-)

diff --git a/index.html b/index.html
index 9152e52..7cf03bd 100644
--- a/index.html
+++ b/index.html
@@ -4943,10 +4943,10 @@
 								ProxyRequests Off
 								
 								# ProxyPass [Quelle] [Ziel] (auf Port achten) => Weiterleitung
-								ProxyPass / http://127.0.0.1:9000
+								ProxyPass / http://127.0.0.1:9000/
 								
 								# ProxyPassReverse [Quelle] [Ziel] (auf Port achten) => URL-Rewrite bei Redirects
-								ProxyPassReverse / http://127.0.0.1:9000
+								ProxyPassReverse / http://127.0.0.1:9000/
 							</code>
 						</pre>
 						<p>Apache neu starten, um die Änderungen am vhost zu übernehmen</p>
@@ -4965,6 +4965,169 @@
 						</pre>
 						<p>Anschließend sollte die NodeJS-Anwendung unter der bereits bekannten Domain erreichbar sein.</p>
 					</section>
+					<section>
+						<h3>Wireshark</h3>
+					</section>
+					<section>
+						<p>Aufgabe</p>
+						<p>Installiere Wireshark und starte anschließend einen Paket-Mitschnitt auf dem WLAN-Adapter. Setze den Filter oben auf "<code>ip.dst == 123.123.123.123</code>" (IP eurer virtuellen Maschine eintragen),
+							besuche die in der VM eingerichtete Webseite in einem Browser und beobachte den Datenverkehr in Wireshark</p>
+					</section>
+					<section>
+						<h3>Aktivierung von HTTPS</h3>
+					</section>
+					<section>
+						<p>SSL-Zertifikat erstellen</p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes -out cert.pem -keyout key.pem
+							</code>
+						</pre>
+						<p>Anschließend die Fragen beantworten.</p>
+						<p>Die eigentliche Domain für das Zertifikat ist bei "CN" (Common Name) einzutragen</p>
+					</section>
+					<section>
+						<p>Aktivierung des entsprechenden Apache-Moduls:</p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								sudo a2enmod ssl
+							</code>
+						</pre>
+						<p>Leserechte für den Rest der Welt an den Zertifikatsdateien setzen</p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								chmod +r cert.pem key.pem
+							</code>
+						</pre>
+					</section>
+					<section>
+						<p>Anpassung / Erstellung vhost in <code>sites-available</code></p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								sudo cp example.conf example-ssl.conf
+							</code>
+						</pre>
+						<p>Den vhost für HTTP / Port 80 so konfigurieren, dass dieser nach HTTPS / Port 443 weiterleitet:</p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								# example.conf
+								# Sämtliche Proxy-Direktiven und andere Inhalt
+								# dienende Direktiven auskommentieren:
+								#ProxyPass ...
+								#ProxyPassReverse ...
+								
+								# hinzufügen (auf Ziel-Domäne achten)
+								Redirect Permanent / https://example.com
+							</code>
+						</pre>
+					</section>
+					<section>
+						<p>Den vhost für HTTPS / Port 443 anpassen</p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								# example-ssl.conf
+								# Port anpassen
+								&lt;VirtualHost *:443&gt;
+								
+								# hinzufügen (auf korrekte Pfade achten)
+								SSLEngine on
+								SSLCertificateFile "/.../cert.pem"
+								SSLCertificateKeyFile "/.../key.pem"
+							</code>
+						</pre>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								# neuen vhost für SSL aktivieren:
+								sudo a2ensite example-ssl.conf
+							</code>
+						</pre>
+						<p>Anschließend den Apache neu starten:</p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								sudo systemctl restart apache2
+							</code>
+						</pre>
+					</section>
+					<section>
+						<p>Aufgabe</p>
+						<p>Inspiziere erneut den Datenverkehr zwischen eurem Browser und dem Server mittels Wireshark. Was fällt auf?</p>
+					</section>
+					<section>
+						<p>Datenverkehr eines Browser in Wireshark sichtbar machen:</p>
+						<p>CMD öffnen:</p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								REM Umgebungsvariable setzen:
+								set SSLKEYLOGFILE=%USERPROFILE%\Desktop\sslkey.log
+								REM Beliebigen Browser per Konsole starten (Ordner nach Bedarf vorher wechseln):
+								chromium.exe
+								REM oder
+								firefox.exe
+							</code>
+						</pre>
+						<p>Die TLS-Schlüssel werden nun vom Browser in der festgeleten Datei geloggt</p>
+					</section>
+					<section>
+						<p>Eben angegebene Datei in Wireshark einstellen:</p>
+						<p>Bearbeiten > Einstellungen > Protocols > TLS > (Pre)-Master-Secret log filename</p>
+					</section>
+					<section>
+						Einrichtung eines Datenbank-Servers (Beispiel MongoDB)
+					</section>
+					<section>
+						<p>Datenbank installieren:</p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								# Paketquellen aktualisieren
+								sudo apt update
+								
+								# Tools installieren
+								sudo apt install gnupg curl
+								
+								# GPG-Signatur herunterladen und importieren
+								curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
+								   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
+								   --dearmor
+							</code>
+						</pre>
+					</section>
+					<section>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								# URL den Paketquellen hinzufügen
+								echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | \
+									sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
+								
+								# Paketquellen aktualisieren
+								sudo apt update
+								
+								# MongoDB installieren
+								sudo apt install mongodb-org
+							</code>
+						</pre>
+					</section>
+					<section>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								# systemd neuladen
+								sudo systemctl daemon-reload
+								
+								# Autostart aktivieren
+								sudo systemctl enable mongod
+								
+								# Dienst starten
+								sudo systemctl start mongod.service
+							</code>
+						</pre>
+					</section>
+					<section>
+						<p>Der Server sollte nun erreichbar sein:</p>
+						<pre>
+							<code class="bash" data-trim data-line-numbers>
+								mongosh
+							</code>
+						</pre>
+					</section>
 				</section>
 			</div>
 		</div>

--
Gitblit v1.9.3