ColdFusion 2025 produktiv hinter einem geteilten Apache: Die Installation dauert 34 Sekunden, die Details brauchen die Aufmerksamkeit

Wir haben eine Produktivinstallation von Adobe ColdFusion 2025 auf Debian 12 vorbereitet, hinter einem Apache 2.4, der schon mehrere andere Sites bedient. Die Installation selbst dauert 34 Sekunden. Die Aufmerksamkeit ging in den Konnektor und in Details, die leicht übersehen werden: ein Fehler 503 durch IPv6, Zuordnungen in jedem virtuellen Host und ein Profil, das still einen Debugger hinzufügt.

  • Installation in 34 Sekunden, ohne Fehler und Warnungen
  • Die übrigen Dienste auf dem Apache unverändert
  • 5 von 5 Apache-Neustarts ohne Ausfall
Ein Browserfenster schickt eine Bahn zu einem Kasten mit der Beschriftung Apache; von dort führen drei Bahnen zu Kästen mit den Beschriftungen PHP, PHP und CFML; die CFML-Bahn mit einer kleinen Konnektor-Raute und ihr Kasten sind orange, die beiden PHP-Kästen tragen Häkchen

Ein Adobe-ColdFusion-Anwendungsserver auf Debian 12, hinter einem mit PHP-Diensten geteilten Apache 2.4

Ausgangslage

Die Aufgabe: eine Produktivinstallation von Adobe ColdFusion 2025, angebunden an einen bestehenden Apache 2.4 auf Debian 12. Der Apache bedient schon mehrere andere Sites, PHP 8.2 mit dem Prefork-MPM und Reverse Proxies zu Containern, und keine davon darf die Änderung bemerken.

Drei Dinge machten es schwerer, als das Handbuch vermuten lässt. Das Konnektor-Werkzeug von ColdFusion, wsconfig, erkennt Debian nicht. Zwei Installer mit fast demselben Namen standen zur Wahl, das ursprüngliche Release und ein aufgefrischter Build, und wir mussten wissen, welcher welcher ist, bevor irgendetwas lief. Und die JVM-Konfiguration, Heap und Garbage Collector, sollte bei den Standardwerten bleiben.

Lösung

Wir haben die Builds identifiziert, ohne sie zu starten: Der Installer trägt ein ZIP-Archiv, und eine Auflistung zeigt Build-Daten und Paketversionen. Dann eine Installation im Silent-Modus aus einer Properties-Datei nach der offiziellen Vorlage von Adobe: Profil Production und Secure, Standalone-Server, Administrator-Panel nur von eingetragenen Adressen, keine Zusätze, die die Anwendung nicht braucht.

Der Apache-Konnektor wurde mit der Option konfiguriert, die nichts neu startet. Zuerst eine Durchsicht der Änderungen, Sicherungen und ein Protokoll der HTTP-Codes der übrigen Dienste; erst danach der Neustart, nach einem Konfigurationstest. Ein eigener virtueller Host und eine CFML-Testseite zeigen Serverversion, Java, Konnektor und Heap-Parameter. Die ganze Prozedur lief auf dem Produktivserver; die übrigen Sites blieben die ganze Zeit erreichbar, abgesehen vom Neustart von Apache, den der Konnektor braucht.

Ergebnisse

Installierte Version (Stand 2026-10)
ColdFusion 2025 Update 8
Silent-Installation
34 Sekunden
Installer-Protokoll
2 618 Operationen, 0 Warnungen, 0 Fehler
Start des ColdFusion-Servers
Unter 15 Sekunden
Übrige Dienste auf dem Apache
Dieselben HTTP-Codes vor und nach der Änderung
Stop-und-Start-Zyklen von Apache
5 von 5 ohne Ausfall, 0 Änderungen an der JVM-Konfiguration

So sind wir vorgegangen

  1. Den Build identifizieren, ohne ihn zu starten

    Die Installer-Datei trägt ein ZIP-Archiv, eine Auflistung zeigt Build-Daten und Paketversionen. Der neuere ist ColdFusion 2025 Update 8.

  2. Server und Lizenz vorbereiten

    Ein eigener Systembenutzer ohne Shell für den Dienst, das Installationsverzeichnis und die Lizenzdatei für die Aktivierung, bevor der Installer läuft.

  3. Im Silent-Modus installieren

    Eine Properties-Datei nach der Adobe-Vorlage: Profil Production und Secure, Standalone-Server, Administrator-Panel nur von eingetragenen Adressen, kein Solr, keine PDF-Erzeugung, kein JNBridge, ungenutzte Servlets aus.

  4. Den Konnektor ohne Neustart konfigurieren

    wsconfig mit der Option, die Apache laufen lässt. Durchsicht der Änderungen, Sicherung der Apache-Konfiguration, Protokoll der HTTP-Codes der übrigen Dienste, dann Konfigurationstest und Neustart.

  5. Ein eigener virtueller Host und eine Testseite

    Die CFML-Seite zeigt Serverversion, Java, Konnektor und Heap-Parameter, sodass jede spätere Prüfung Sekunden dauert.

  6. Den 503 diagnostizieren und die Regression testen

    Die übrigen Dienste, fünf Stop-und-Start-Zyklen von Apache und der Zugang zum Administrator-Panel wurden geprüft, bevor die Prozedur als fertig galt.

Herausforderungen, die wir gelöst haben

Keiner der fünf Punkte unten steht im Installationshandbuch, und jeder kostet einen Nachmittag, wenn er überraschend kommt.

Fehler 503, obwohl ColdFusion läuft: localhost ist nicht immer 127.0.0.1

Nachdem der Konnektor stand, antwortete Apache mit 503 Service Unavailable, während ColdFusion selbst korrekt antwortete. wsconfig trägt den Namen localhost als Adresse des ColdFusion-Servers ein. Der Konnektor löste ihn zur IPv6-Adresse ::1 auf, und der AJP-Konnektor des Tomcat in ColdFusion hört nur auf 127.0.0.1. Das Konnektor-Log sagt, wonach man suchen muss:

connect to ::1:8024 failed (errno=111)
(cfusion) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=111)

Die Lösung ist die Adresse 127.0.0.1 in der Worker-Definition und in der Properties-Datei, in der wsconfig die Konnektor-Parameter aufbewahrt, damit ein späterer Lauf des Werkzeugs den Namen nicht zurückbringt. Bei einer neuen Installation nimmt das Werkzeug die Adresse als Option entgegen. Was man nicht tun sollte: den AJP-Port auf allen Schnittstellen öffnen. Ein offener AJP-Port ist ein bekannter Angriffsvektor, Ghostcat, CVE-2020-1938.

Der Konnektor reicht in jeden virtuellen Host

Gar kein Symptom, und genau das ist das Problem: Nichts geht kaputt, bis eine andere Site auf demselben Apache einen Pfad benutzt, den der Konnektor für seinen hält. wsconfig in ColdFusion 2025 kopiert die Zuordnungen in jeden virtuellen Host, und sie umfassen mehr als CFML-Dateien:

/rest/* = cfusion
/restapps/* = cfusion
/mcs = cfusion
/cffileservlet/* = cfusion
/*.jsp = cfusion

Eine PHP-Anwendung mit einer API unter /rest/ auf demselben Server könnte in ColdFusion landen. Vor dem Neustart haben wir die Zugriffslogs der übrigen Dienste nach diesen Pfaden durchsucht, nichts gefunden und ihre HTTP-Codes protokolliert; nach dem Neustart haben wir verglichen. Wo eine Kollision real ist, kann das Werkzeug den Konnektor für einen einzigen virtuellen Host konfigurieren.

Der Konnektor ändert mehr, als man sieht

Auf Debian kopiert das Werkzeug das Modul und legt seine Konfiguration direkt im Apache-Verzeichnis an, während zwei weitere Dateien im ColdFusion-Verzeichnis landen. Es hängt zwei Include-Zeilen an die Hauptkonfiguration von Apache an, und es fügt dem AJP-Konnektor in der Serverkonfiguration von ColdFusion ein Secret hinzu, sodass auch ColdFusion neu gestartet werden muss. Debian erkennt es nicht, was sich als harmlos erweist. Die Lehre: Die Konnektor-Dateien liegen an zwei Orten, also müssen Sicherungen, Konfigurationsverwaltung und Updates beide abdecken.

Berichte über Apache-Abstürze nach dem Konnektor

Im Adobe-Forum berichteten Nutzer von ColdFusion 2025, dass Apache auf Ubuntu nach dem Hinzufügen des Konnektors zufällig nicht startete. Wir haben fünf vollständige Stop-und-Start-Zyklen auf Apache 2.4.67 mit dem Konnektor-Modul des Builds vom April 2026 ausgeführt, Stand 2026-10: Jeder Zyklus endete mit einem sauberen Start und einer Antwort der Testseite, und das Systemjournal zeigte keinen Absturz. Auf einem geteilten Server gehört dieser Test zur Installation, nicht zum ersten Neustart nach einem Systemupdate.

Das Serverprofil ist keine Formalität

Die Vorlage der JVM-Konfiguration im Installer trägt einen Standard-Heap und den parallelen Garbage Collector. Eine Installation mit dem Entwicklungsprofil setzt einen Debugger-Agenten an den Anfang der JVM-Argumente, der in der Vorlage nicht steht. In der Produktion wählen wir das Profil Production und Secure und lesen die JVM-Konfiguration nach der Installation, statt anzunehmen, sie sei der Standard. Aus demselben Grund kopieren wir diese Datei nie aus einer Testumgebung in die Produktion. Wie sich ein Heap verhält, der für die Last zu klein ist, zeigt ein anderes Projekt.

Ein Kasten mit der Beschriftung Apache und dem Wort localhost darunter schickt zwei Bahnen nach rechts: Die obere mit der Beschriftung ::1 endet an einem Kreuz, die untere orange mit der Beschriftung 127.0.0.1 erreicht einen Kasten mit der Beschriftung CFML und AJP 8024 darunter

Die fünf Fallen auf einen Blick

Falle Was man sieht Was wir getan haben
localhost wird zu IPv6 Apache antwortet 503, ColdFusion antwortet Die Adresse 127.0.0.1 in beiden Konnektor-Dateien; AJP bleibt nach außen geschlossen
Zuordnungen in jedem virtuellen Host Nichts, bis eine andere Site einen zugeordneten Pfad benutzt Zugriffslogs der übrigen Dienste geprüft, HTTP-Codes protokolliert und verglichen
Konnektor-Dateien an zwei Orten Ein Neustart von Apache allein reicht nicht Sicherungen beider Verzeichnisse, Neustart von ColdFusion nach dem Konnektor
Berichtete Apache-Abstürze Zufälliger Startfehler nach dem Konnektor Fünf Stop-und-Start-Zyklen als Teil der Installation
Entwicklungsprofil Ein Debugger-Agent in den JVM-Argumenten Profil Production und Secure, JVM-Konfiguration nach der Installation gelesen

Was wir daraus mitnehmen

Die Checkliste, die wir jetzt für ein produktives ColdFusion 2025 hinter Apache auf Debian benutzen:

  • Den Build des Installers aus seiner Archivauflistung bestimmen und den neuesten nehmen.
  • Dienstbenutzer, Verzeichnis und Lizenzdatei vorbereiten, bevor der Installer läuft.
  • Im Silent-Modus aus einer Properties-Datei installieren: Profil Production und Secure, Administrator-Adressen eingetragen, ungenutzte Servlets aus.
  • Das Konnektor-Werkzeug mit der Loopback-Adresse und ohne Neustart laufen lassen, nach einer Sicherung der Apache-Konfiguration.
  • Die kopierten Zuordnungen auf Kollisionen mit den anderen virtuellen Hosts prüfen.
  • Nach dem Konnektor auch ColdFusion neu starten, wegen des neuen AJP-Secrets.
  • Die HTTP-Codes der übrigen Dienste vor dem Apache-Neustart protokollieren und danach vergleichen.
  • Mehrere Stop-und-Start-Zyklen von Apache ausführen.
  • Die JVM-Konfiguration nach der Installation lesen, bevor man sie Standard nennt.

Zwei Dinge, die man wissen sollte: Der Silent-Installer legt von sich aus einen systemd-Dienst an und aktiviert ihn, unter einem Namen, der das Wort coldfusion nicht enthält; und bei leerer Liste der Administrator-Adressen beschränkt der Installer das Panel auf die lokale Maschine, und der Konnektor nimmt den Administrator-Pfad aus, sodass das Panel über Apache 404 antwortet.

Quellen

Ein Checklistenblatt mit einer Klammer oben und sechs Zeilen, jede mit einer Linie und einem Häkchen links; das letzte Häkchen ist orange

Verwandte Ausgangslagen

  • Für ColdFusion 2021 gibt es laut Adobe seit dem 10.11.2025 keine Sicherheits-Patches mehr. Wir vergleichen vier Wege: bleiben und absichern, aktualisieren, zu Lucee wechseln oder schrittweise ablösen, mit Terminen und Risiken (Stand: 2026-10).

  • Der Support für Debian 11 endete am 31.08.2026, der für CentOS 7 am 30.06.2024 (Stand: 2026-10). Wir bringen Ihren Server auf den aktuellen Stand oder planen den Umstieg auf Debian und führen ihn durch. Ebenso arbeiten wir mit Proxmox VE 8 und mit physischen Servern, die wir auf Proxmox umziehen.

Weitere Projekte

  • Eine Punkteskala mit gestrichelter Schwelle: Der Phishing-Umschlag wandert in einem orangen Bogen über die Schwelle

    Ein Spamfilter, der lief, aber nicht schützte

    Dienste liefen, die Konfiguration war gültig, im Systemstatus stand kein Fehler. Trotzdem landete Phishing im Posteingang, während Newsletter von Partnern im Spam lagen. Unsere Ingenieure haben gemessen, welche Erkennungsmechanismen tatsächlich ansprangen, die Ursachen behoben und drei Monate später eine Regression gefunden und behoben, die sich nur stundenweise zeigte.

  • Vier Briefumschläge passieren die Tore SPF, DKIM und DMARC, jeweils orange abgehakt, auf dem Weg in den Posteingang

    E-Mail-Zustellbarkeit für vier Firmendomains

    Ein Mailserver für vier Firmendomains signierte nichts, veröffentlichte keine DMARC-Richtlinie und wurde von Microsoft abgewiesen. Unsere Ingenieure haben ihn geprüft, die Änderung an einer Domain erprobt und in Gruppen ausgerollt. Das Ergebnis: Alle drei Prüfungen bestehen bei Gmail, die Microsoft-Sperre ist aufgehoben, und die Nutzer haben nichts bemerkt.

In 20 Minuten klären wir, welcher erste Schritt zu Ihrem System passt

Sie schildern Ziel und Stand, wir sagen offen, ob und wie wir helfen können. Antwort innerhalb eines Werktags, unverbindlich.

Telefon (Deutsch, Polnisch, Englisch) +48 501 250 220
E-Mail E-Mail

Erreichbar: Montag bis Freitag, 9:00 bis 17:00 Uhr (MEZ); Support und Notfälle rund um die Uhr (24/7)