Neukunde: Unterschied zwischen den Versionen
Zentrale Checkliste für neue Kunden und Projekte angelegt |
Interne Servereinrichtung mit konkreten Befehlen und Prüfungen erweitert |
||
| Zeile 98: | Zeile 98: | ||
== 6. Interner Server beim Kunden == | == 6. Interner Server beim Kunden == | ||
Für jedes Projekt wird beim Kunden ein eigener Server für `megbes-internal` eingerichtet. | Für jedes Projekt wird beim Kunden ein eigener Server für `megbes-internal` eingerichtet. Die folgenden Schritte sind in dieser Reihenfolge abzuarbeiten. | ||
=== 6.1 Ubuntu installieren und anmelden === | |||
Die | Die jeweils aktuelle Ubuntu-LTS-Version installieren. Während der Installation: | ||
* eindeutigen Servernamen nach dem Projektschema vergeben | |||
* Administrationsbenutzer anlegen | |||
* OpenSSH-Server installieren | |||
* keine unnötigen Zusatzpakete auswählen | |||
* Installationsmedium nach Aufforderung entfernen | |||
Nach dem Neustart lokal oder per SSH anmelden. | |||
=== 6.2 Aktuelle Ubuntu-Version prüfen === | |||
lsb_release -a | |||
Falls der Befehl fehlt: | |||
cat /etc/os-release | |||
Prüfen, ob tatsächlich die vorgesehene LTS-Version installiert ist. | |||
=== 6.3 System vollständig aktualisieren === | |||
Zuerst aktuelle Paketlisten abrufen: | |||
sudo apt update | |||
Der Befehl muss ohne Zeilen mit `E:` oder `Error` enden. Danach verfügbare Aktualisierungen installieren: | |||
sudo apt upgrade | |||
Die Paketliste prüfen und die Rückfrage mit `Y` beziehungsweise `J` bestätigen. Nach Abschluss den Neustartbedarf prüfen: | |||
if [ -f /run/reboot-required ]; then cat /run/reboot-required; else echo "Kein Neustart erforderlich"; fi | |||
Falls ein Neustart erforderlich ist: | |||
sudo reboot | |||
Danach neu anmelden und prüfen: | |||
systemctl --failed | |||
Die vollständige Anleitung einschließlich Fehlerbehandlung und Funktionstest steht unter [[Ubuntu aktualisieren]]. | |||
=== 6.4 Feste lokale IP-Adresse einrichten === | |||
Die Netzwerkschnittstelle, IP-Adresse, Netzmaske, Gateway und DNS-Server anhand der Kundennetz-Dokumentation bestimmen. Keine Beispieladresse ungeprüft übernehmen. Die konkrete Anleitung folgt unter [[Feste IP-Adresse unter Ubuntu]]. | |||
Nach der Änderung Verbindung, Gateway und DNS testen: | |||
ip address | |||
ip route | |||
ping -c 4 <Gateway-Adresse> | |||
getent hosts download.docker.com | |||
=== 6.5 Docker installieren === | |||
Docker aus der offiziellen Docker-Paketquelle installieren. Nicht mehr die veraltete GPG-/Repository-Anleitung aus dem Word-Dokument verwenden. | |||
Die vollständige Schrittfolge steht unter [[Docker installieren]]. Abschließend müssen diese Prüfungen erfolgreich sein: | |||
docker --version | |||
sudo systemctl status docker --no-pager | |||
sudo docker run --rm hello-world | |||
=== 6.6 Projektordner vorbereiten === | |||
Einen eindeutig benannten Ordner für die geschützten Zertifikatsdateien anlegen. Beispiel – Benutzer und Projektkürzel anpassen: | |||
mkdir -p /home/<Benutzername>/certs/<Projektkürzel> | |||
chmod 700 /home/<Benutzername>/certs/<Projektkürzel> | |||
Anschließend kontrollieren: | |||
ls -ld /home/<Benutzername>/certs/<Projektkürzel> | |||
=== 6.7 Projektbezogene Dateien übertragen === | |||
Benötigt werden mindestens: | |||
* projektspezifische Umgebungsdatei | |||
* Key- und Truststore beziehungsweise aktuell verwendete Zertifikatsdateien | |||
* dokumentierter Container-Name | |||
* festgelegter External-/Internal-Port | |||
* UDP-Port und lokales Subnetz | |||
* freigegebener Release | |||
Dateien nach dem Übertragen mit `ls -l` kontrollieren. Geheimnisdateien dürfen nicht für alle Benutzer lesbar sein. | |||
=== 6.8 megbes-internal starten === | |||
Der projektspezifische Docker-Befehl wird anhand der geprüften Vorlage erstellt. Keine Befehlszeile eines anderen Kunden ungeprüft kopieren. Vor dem Start insbesondere kontrollieren: | |||
* Container-Name | |||
* External-zu-Container-Port | |||
* UDP-Port | |||
* Pfad und Name der Umgebungsdatei | |||
* Zertifikats-Volume | |||
* Docker-Image und Release | |||
* Neustartregel `unless-stopped` | |||
Die ausführliche Anleitung folgt unter [[megbes-internal]]. | |||
=== 6.9 Start prüfen === | |||
sudo docker ps | |||
sudo docker logs --tail 100 <Containername> | |||
Der Container muss `Up` sein. Wiederholte Exceptions, Zertifikats- oder Verbindungsfehler müssen vor dem nächsten Schritt behoben werden. | |||
=== 6.10 Neustarttest === | |||
Server kontrolliert neu starten: | |||
sudo reboot | |||
Danach neu anmelden und prüfen: | |||
sudo systemctl status docker --no-pager | |||
sudo docker ps | |||
Der MegBes-Container muss aufgrund der Neustartregel automatisch wieder laufen. | |||
== 7. Router, DynDNS und Portfreigabe == | == 7. Router, DynDNS und Portfreigabe == | ||