So, jetzt nochmal etwas zusammengefasster.
Domain
Vorhanden, IP zeigt auf Ubiquiti USG, welchen ich als Router/Firewall nutze.
! Gesetzt, keine Veränderung angestrebt.
Router
USG leitet alle 80/443-Anfragen an einen Reverse-Proxy in der Synology weiter.
! Gesetzt, keine Veränderung angestrebt. Reverser-Proxy notwendig.
Webserver
Webserserver realisierbar als:
- VM in Proxmox
- Synology DS918+ wahlweise mit Nginx oder Apache
Entscheidung ist offen
Fragen:
- "Apache ist schlecht wenn Verbindungen gehalten werden müssen wie bei einem Chat". Nextcloud habe ich auf einem Apache laufen und die hätte auch Talk mit Chat-Funktion. Geht also doch? Alternativ, was das Verbindungshalten-Problem angeht, war NodeJS. Muss ich mehrere Webserver laufen lassen, wenn ich verschiedene Funktionen brauche die jeweils nur ein Webserver kann?
Nginx oder Apache
Mir persönlich ist es egal. Ich bin da nur Nutzer. Ich kenne keine Unterschiede und würde das nehmen, was mir gesagt wird.
Apache: HTML, PHP, JavaScrip, CSS
Nginx: -unbekannt-
Entscheidung ist offen
Frage:
- Kann es passieren, dass ich mehrere verschiedene Webserver laufen lassen muss um ein "Problem" abzufangen?
Programmiersprachen
Gesetzt:
- "HTML/CSS" (...komme ich nicht drum herum...)
- PHP/SQL/Javascript ("klassisch")
Abgelehnt:
In Prüfung:
-HTML, HTML5, CGI-Skripte, CSS, C, C++, Go, Rust, Perl, Java, JavaScript, Rubi, Python, C#, Frameworks (React --> Facebook, Angular --> Google, Vue --> JavaScript-Framework zur Entwicklung von Single-Page-Webanwendungen, Node.js --> serverseitigen Implementierung von JavaScript, ermöglicht eine asynchrone Ausführung von Programmcode, Node-Red)
Fragen:
- Egal ob jemand die Domain aufruft oder die Webanwendung startet, es wird IMMER HTML(5) benötigt, oder? (index.html oder inder.php)
- Ist HTML5 nur ein HTML ohne Kindheitsprobleme oder ist es so viel besser geworden, dass es schon eine eigene Sprache ist?
- Wenn HTML5 ganz anders ist, wann brauche ich das und wann nutze ich lieber das alte HTML?
- Rubi on rails, wird das tatsächlich benutzt? Finde ich da tatsächlich Programmierer dafür?
- Go habe ich auch noch nie gehört. Gibt es genug Programmierer?
- Frameworks sind Geschichten von Dritten, da kann man nie wissen wo noch Lücken sind. Oder genau das verwendete Framework wird nicht mehr suportet und alles muss geändert werden oder ähnliche Probleme. Klingt überhaupt nicht sexy. Oder verstehe ich das auch falsch? Ich möchte, dass die Programmierer sich mit ihrem Code auseinander setzen und nicht einfach nur blind copy-paste machen.
Coloboratives Arbeiten
Ticketsystem:
Ich habe mir überlegt, dass es ein Ticketsystem geben soll, in dem alle Wünsche bezüglich fehlenden Funktionen, Fehlern im Verhalten oder Änderungswünschen der Nutzer geben soll. Zum einen bietet wieder das NAS soetwas, aber ich denke auch das es auch eine opensource Lösung für eine Debian-VM geben kann. Und je nach dem, wie so eine kontinuierliche Projektabwicklung funktioniert, ist vielleicht in dieser (Software-) Lösung schon ein Ticketsystem dabei.
Kanban/Agil:
Auf der Ebene Unternehmensentwicklung reicht es mir Kanban zu verwenden. Nextcloud bietet hier Deckt, dass macht mir einen guten Eindruck.
Die Entwickler-Teams sind externe Leute die sich untereinander nicht kennen und auch nicht zwingend kennen lernen sollen. Hat folgenden Hintergrund, die Entwicklung soll ähnlich sein wie in der Linux-Welt. Ich, bzw. das Ticketsystem gibt ein Entwicklungswunsch vor. Diesen sollen die Teamleiter sehen können und mit ihren Teams besprechen. Hat ein Entwickler Interesse, kann er/sie/es anfangen mit programmieren und seine Lösung über den Teamleiter einreichen. Der Endnutzer kann dann später sein System so zusammenbasteln, wie es am besten gefällt. Im Laufe der Zeit wird man dann schon sehen, welche Entwicklungen sich "am Markt durchsetzen konnten". Also ganz grobe Entwicklungen als Kanban, wie die Entwickler-Teams bei sich Projekte abwickeln, ist deren Weißweinschorle.
Kommentar am Rande: Bei den Entwicklern selbst ist bereits jetzt klar, dass die nie lange bei ihren Teamleiter (und Unternehmen) bleiben und nicht viele Projekte einreichen werden.
Forum:
Vielleicht gut zum Besprechen von Entwicklungsaufträgen? Keine Ahnung ob man das braucht. Möglich ist es bestimmt ein Forum in die Landschaft einzupflegen. Das Synology-NAS bringt soetwas mit, für eine Debian VM gibt es da bestimmt auch was cooles. Nextcloud hätte da vielleicht auch was zum nachinstallieren, habe ich nur eben beim durchblättern nicht gesehen.
ContentManagementSystem:
Definition von IONOS ist, dass ich kein Programmierer sein muss um damit Webseiten erstellen zu können. Eine Webseite ist sicherlich ganz anders als eine Webanwendung, von daher habe ich das CMS jetzt nur Mal der vollständigkeit halber erwähnt. Sollte ich falsch liegen, bitte korrigieren.
VPN:
Da ich ungern beliebig viele Ports öffnen möchte, würde ich einen VPN-Server integrieren, damit zumindest die Teamleiter Zugang zu dem Kanban-System oder bspw. dem Ticketsystem haben.