das verwendete Framework wird nicht mehr suportet und alles muss geändert werden
Das ist schlimm, aber passiert erst nach vielen Jahren. So ein Tod kündigt sich an wie z.B. bei Drupal. Wenn man alles selbst baut, muss nach Wochen schon wieder überarbeitet werden, da ist der komplette Neuanfang teilweise nach zwei Jahren nötig. Das Framework verlängert also den Support, selbst wenn es schlecht gepflegt ist. Ein Relaunch-Zyklus ist meist um die sechs Jahre, das heißt, bis auf die Datenbank wird dann eh fast alles neu erstellt. Innerhalb der sechs Jahre will man aber die Aktualisierungen vom Framework mitnehmen und nicht selbst entwickeln müssen.
mit ihrem Code auseinander setzen und nicht einfach nur blind copy-paste machen
Eigenentwicklungen auf Basis von Copy&Paste nennen sich Boilerplate. Das ist doof, stimmt. Aber ein übliches Framework hat einen Core, den man niemals anfasst und gut kennt. Und ein paar dringend benötigte und gut getestete Plugins, von denen man die meisten niemals anfasst. Nur den kleinen selbst geschriebenen Teil ändert man.
Muss ich mehrere Webserver laufen lassen, wenn ich verschiedene Funktionen brauche
Ja. Der Chat hat in der Regel Websockets, der läuft oft in Node. Bilder haben viel Traffic, die kann man direkt vom Nginx liefern lassen. Das CMS ist meist in PHP und kommt vom Apache, aber der Cache davon ist wiederum im schnelleren Nginx. Sind schon drei Webserver, die der Nginx zusammenroutet. Klingt komplizierter als es ist, der Admin kriegt das gut hin :-D
Erstmal wäre es nicht schlecht zu wissen, wie man "Ein Fenster" beim Anwender auf dem Bildschirm erzeugt, welches man dann weiter mit Leben füllen kann
Du bist gerade bei einem schlanken siebenstelligen Budget, und das ist nicht übertrieben. Der Login, die Eingabe der Daten, den Zusammenbau der Seiten und viele andere Komponenten sind bei heutigen Ansprüchen extrem komplex. Deshalb ist auch die Frage nach der Programmiersprache rein philosophisch. Man nimmt die, in der das Framework ist. CMS gibt es nahezu ausschließlich in PHP, und auch da ist die Auswahl mittlerweile an einer Hand abzählbar. Django Wagtail ist glaube ich die einzige Alternative, das ist in Python. Das CMS brauchst du fürs Marketing, Hilfeseiten, Anmeldung, also das Drumherum.
Ich würde jetzt fragen, aus wie vielen unabhängigen Teilen die Seite zusammengebaut ist, und wie die Schnittstellen funktionieren. Beispielsweise baust du eine zentrale Userverwaltung im CMS. Daran angedockt ist der Chat, der hat technisch völlig andere Anforderungen. Und angedockt ist das ERP, das arbeitet mit anderen Daten und anderem Backend. Oder das ERP wird als Plugin ins CMS integriert, das dürfte bei einem kleinen ERP mit fünfstelligem Budget machbar sein. Häufig müssen 90% der Funktionen nur ein paar geschulte Leute machen, die müssen nicht optisch poliert sein und können aus fertig designten Standardkomponenten des CMS bestehen. 5% sind dann für die Kunden und auf schönen Schein getrimmt. So hast du erst einmal nur ein einziges Framework, nämlich das CMS, das auch kleines ERP ganz gut kann. Das ist natürlich alles von den genauen Anforderungen abhängig.
Du könntest die minimalen Wünsche mit einem Django-Entwickler und einem Wordpress-Entwickler besprechen und gucken, welche Ideen die haben wie es am besten geht. Dann ist dir vielleicht klarer, wohin es gehen soll. Es könnte sich auch lohnen, mit einem Experten die üblichen Verdächtigen wie wperp.com zu testen, also rückwärts vom Angebot zum Bedarf zu denken. Das bringt in wenigen Tagen sehr viel Erkenntnis.
VPN, Forum, Activedirectory
Wenn es irgendwie noch handhabbar sein soll und halbwegs sicher, verbinde nichts davon mit dem Produktivserver. Der läuft am besten, wenn er nur die nötigsten Funktionen machen muss und nicht noch völlig andere Sachen.
Thomas