Apache durch defender blockiert

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Apache durch defender blockiert

Postby andreaswb » 13. April 2023 09:51

Hallo,
ich habe auf Win10 den xampp installiert. Beim Starten des Apachen (php-Server) kommt folgende Meldung:
Code: Select all
10:40:20  [Apache]    Versuche Apache zu starten...
10:40:20  [Apache]    Statusänderung erkannt: gestartet
10:40:20  [Apache]    Statusänderung erkannt: gestoppt
10:40:20  [Apache]    Fehler: Apache wurde unerwartet beendet
10:40:20  [Apache]    Ursache könnte ein geblockter Port, fehlende Abhängigkeiten,
10:40:20  [Apache]    fehlende Berechtigungen, ein Absturz oder ein Abbruch einer anderen Methode sein.
10:40:20  [Apache]    Drücke den Logs Button um error logs zu sehen und prüfe
10:40:20  [Apache]    im Windows Event Viewer für weitere Hinweise
10:40:20  [Apache]    Wenn du weitere Hilfe benötigst, kopiere den kompletten Inhalt des Log Fensters
10:40:20  [Apache]    und füge ihn als Ergänzung in einem neuen Forum Eintrag hinzu.

Zusätzlich zum Windows-Defender läuft Avast Antivirus auf meinem System.
Leider keine Ahnung, an welchen Schrauben ich da drehen muß.

Gruß
Andreas
andreaswb
 
Posts: 3
Joined: 13. April 2023 09:45
XAMPP version: 8.2.4
Operating System: Windows10 64bit

Re: Apache durch defender blockiert

Postby Altrea » 13. April 2023 17:13

Hi,

führe bitte mal das Script apache_start.bat aus und sage uns, was dieses ausgibt.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11934
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Apache durch defender blockiert

Postby andreaswb » 15. April 2023 09:31

Hallo,
in der Zwischenzeit (bis mein Beitrag hier endlich freigegeben wurde) habe ich mich selber an die Lösung gemacht.
Die Installation hatte ich mittels Eures Installers durchgeführt. Jedoch habe ich später gesehen, daß xampp im System nicht als Applikation registriert worden ist.
Somit habe ich das gesamte (Programm-)Verzeichnis einfach gelöscht, den Rechner neu gestartet und die Installation nochmals laufen lassen.
Danach war xampp auch als Applikation registriert und PHP- und mySQL-Server laufen einwandfrei.
Der Defender war also nicht Schuld.

Es gibt da wohl ein paar Schwachpunkte in Eurer Installation.
Ich unterrichte auch Fortbildungsschüler, bei denen dieses Problem auch öfter auftritt. Genauso wie folgendes:
Ein weiterer Effekt ist, daß nach fast jedem Windows-Update auf jeden Fall mySQL nicht mehr läuft. - Startet zunächst normal und liefert dann nach kurzer Zeit die allgemeine Meldung über ggf. blockierten Port und ähnliches, was natürlich nicht zutreffend ist.
Hier hilft auch nur eine Neuinstallation von xampp, bei der allerdings alle bisher angelegten Datenbanken verloren gehen. Wie kann man diese vorher retten (außer natürlich sql-dump)?
Ferner: warum verwiegert sich die Installation, wenn das alte Programm-Verzeichnis genutzt werden soll (überschreiben)?

Gruß
Andreas
andreaswb
 
Posts: 3
Joined: 13. April 2023 09:45
XAMPP version: 8.2.4
Operating System: Windows10 64bit

Re: Apache durch defender blockiert

Postby Nobbie » 15. April 2023 09:39

Was verstehst Du unter "Eurer" Installation? Wir sind hier alle Anwender, genau wie Du. Bitnami (der Herausgeber) sitzt in San Francisco und taucht allenfalls sporadisch auch nur im englischsprachigen Forum auf.
Nobbie
 
Posts: 13176
Joined: 09. March 2008 13:04

Re: Apache durch defender blockiert

Postby Altrea » 15. April 2023 10:32

Hi,

andreaswb wrote:in der Zwischenzeit (bis mein Beitrag hier endlich freigegeben wurde) habe ich mich selber an die Lösung gemacht.

Die Freigabe des ersten Beitrags neuer Benutzer ist leider die wirksamste Maßnahme, SEO-Spam hier im Forum fast komplett zu verhindern.

andreaswb wrote:Es gibt da wohl ein paar Schwachpunkte in Eurer Installation.

Ich benutze den Installer nie, sondern benutze die zip oder 7z Variante. Die kann einfach entpackt werden. Anschließend einmalig das setup_xampp.bat Script ausführen, um die Pfade in den jeweiligen Config Dateien zu setzen. Einfacher geht's nicht. XAMPP packt alle Programmdateien eh ins zentrale Installationsverzeichnis und kann somit durch Löschen dieses Ordners einfach wieder vom System entfernt werden.

andreaswb wrote:Ein weiterer Effekt ist, daß nach fast jedem Windows-Update auf jeden Fall mySQL nicht mehr läuft. - Startet zunächst normal und liefert dann nach kurzer Zeit die allgemeine Meldung über ggf. blockierten Port und ähnliches, was natürlich nicht zutreffend ist.

Die Meldung stammt von der Komponente XAMPP control panel. Dieses sieht nur, dass der Port nach dem Starten nicht durch die Komponente belegt werden konnte. Es wird keine Fehlermeldung der Anwendung geparst, das wäre viel viel Komplizierter zu implementieren. Eine aussagekräftige Fehlermeldung erhälst du zum Beispiel, wenn du MariaDB als Konsolenanwendung versuchst zu starten. Dann könnte man unter Umständen auch gezielt die Datenbank wiederherstellen.

Es gibt unterschiedliche mögliche Ursachen für Startprobleme nach Windows Updates. In manchen Fällen wird die Visual C++ Runtime vom Microsoft überschrieben, was zu Problemen mit PHP bzw. Apache führt.

Das größte Problem, das XAMPP hat ist das Stop-Verhalten von MariaDB. MariaDB bietet auf Windows leider keine Passwortlose Anmeldemöglichkeit über sockets an, um MariaDB zu beenden. Und da der Benutzer nichtnur die Möglichkeit hat das root Kennwort zu ändern sondern auch noch zum Beispiel von phpmyadmin dazu aufgefordert wird, ist es auch nicht möglich eine Stoppen Routine ins control panel zu implementieren, die mysqladmin shutdown verwendet. Die einfachste Möglichkeit bei XAMPP einen saubere shutdown Methode für MariaDB zu benutzen ist damit, den Windows Dienst zu registrieren. Den kann das control panel dann auch automatisch verwenden.

andreaswb wrote:Hier hilft auch nur eine Neuinstallation von xampp, bei der allerdings alle bisher angelegten Datenbanken verloren gehen. Wie kann man diese vorher retten (außer natürlich sql-dump)?

Du könntest zyklisch oder manuell vor dem Update mit mysqldump einen Datenbank-Dump ziehen. Das kannst du über die Kommandozeile (z.B. die XAMPP Shell - Button im control panel) über folgendes Kommand ziehen (Ersetze einfach "databasename" und den Pfad am Ende nach deinen Bedürfnissen:
Code: Select all
mysqldump.exe --user=root --password= --max_allowed_packet=1G --host=localhost --port=3306 --default-character-set=utf8 "databasename" > "c:\path\to\dump\filename.sql"


Importieren kannst du die Datenbank ebenfalls über die Kommandozeile, mit folgendem Kommand:
Code: Select all
mysql.exe --user=root --password= --max_allowed_packet=1G --host=localhost --port=3306 --default-character-set=utf8 "databasename" < "c:\path\to\dump\filename.sql"


andreaswb wrote:Ferner: warum verwiegert sich die Installation, wenn das alte Programm-Verzeichnis genutzt werden soll (überschreiben)?

Es verweigert garnichts, es wird nur hingewiesen, dass es zu Problemen mit der Windows UAC oder Pfaden kommen kann, die nicht UNIX Konforme Zeichen enthalten. In Vergangenheit war dies zum Beispiel bei 64 Bit Windows Betriebssystemen der Fall wo XAMPP ins "Program Files (x86)" Verzeichnis Installiert wurde. Das Verzeichnis enthält Leerzeichen als auch Klammern, deshalb rät der Installer davon ab XAMPP dort zu installieren.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11934
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Apache durch defender blockiert

Postby Nobbie » 15. April 2023 20:13

Ich bin ja hartnäckig und weise jederzeit gerne wieder darauf hin: diese Probleme treten unter Linux nicht auf.

Ich verstehe die verbreitete "Angst" vor Linux nicht ansatzweise, die gleichen Anwender "stürzen" sich u.a. Hals über Kopf in Apples macOS (oder Android oder iOS) - und machen sich nicht die geringsten Sorgen, ein unbekanntes OS benutzen zu müssen. Linux ist genauso einfach zu bedienen wie macOS oder auch Windows. Linux mag für Spiele weniger geeignet sein als Windows, aber hier reden wir über Serverarchitekturen und da ist Linux ganz hervorragend geeignet. Nicht aus Versehen laufen die meisten Server im Internet unter Linux.
Nobbie
 
Posts: 13176
Joined: 09. March 2008 13:04

Re: Apache durch defender blockiert

Postby andreaswb » 15. April 2023 22:07

Hallo altrea,
Altrea wrote:
andreaswb wrote:Es gibt da wohl ein paar Schwachpunkte in Eurer Installation.

Ich benutze den Installer nie, sondern benutze die zip oder 7z Variante. Die kann einfach entpackt werden. Anschließend einmalig das setup_xampp.bat Script ausführen, um die Pfade in den jeweiligen Config Dateien zu setzen. Einfacher geht's nicht. XAMPP packt alle Programmdateien eh ins zentrale Installationsverzeichnis und kann somit durch Löschen dieses Ordners einfach wieder vom System entfernt werden.

Genau nach dieser "Kopier"-Methode läuft der Apache dann mit dem von mir beschriebenen Fehler eben nicht.

Altrea wrote:
andreaswb wrote:Hier hilft auch nur eine Neuinstallation von xampp, bei der allerdings alle bisher angelegten Datenbanken verloren gehen. Wie kann man diese vorher retten (außer natürlich sql-dump)?

Du könntest zyklisch oder manuell vor dem Update mit mysqldump einen Datenbank-Dump ziehen. Das kannst du über die Kommandozeile (z.B. die XAMPP Shell - Button im control panel) über folgendes Kommand ziehen (Ersetze einfach "databasename" und den Pfad am Ende nach deinen Bedürfnissen:
Code: Select all
mysqldump.exe --user=root --password= --max_allowed_packet=1G --host=localhost --port=3306 --default-character-set=utf8 "databasename" > "c:\path\to\dump\filename.sql"


Importieren kannst du die Datenbank ebenfalls über die Kommandozeile, mit folgendem Kommand:
Code: Select all
mysql.exe --user=root --password= --max_allowed_packet=1G --host=localhost --port=3306 --default-character-set=utf8 "databasename" < "c:\path\to\dump\filename.sql"

Ich fragte ja: Ein bessere Weg als sql-dump. Anscheinend also nicht.
Welche Verzeichnisse müßten vorher "in Sicherheit gebracht weren", damit mySQL diese auch wieder vollständig erkennt?

Altrea wrote:
andreaswb wrote:Ferner: warum verwiegert sich die Installation, wenn das alte Programm-Verzeichnis genutzt werden soll (überschreiben)?

Es verweigert garnichts, es wird nur hingewiesen, dass es zu Problemen mit der Windows UAC oder Pfaden kommen kann, die nicht UNIX Konforme Zeichen enthalten. In Vergangenheit war dies zum Beispiel bei 64 Bit Windows Betriebssystemen der Fall wo XAMPP ins "Program Files (x86)" Verzeichnis Installiert wurde. Das Verzeichnis enthält Leerzeichen als auch Klammern, deshalb rät der Installer davon ab XAMPP dort zu installieren.

Doch! Es kommt die Meldung, daß bereits das ausgewählte Verzeichnis existiert und eine Installation in dieses Verzeichnis nicht erlaubt ist. Ein "update" in das existierende Verzeichnis wird vom aktuellen Installer nicht zugelassen.

Ach ich sehe gerade: Installation auf das System-Laufwerk?
Sorry - schon aus Gründen der IT-Sicherheit hat kein Anwender-Programm (und xampp ist auch ein solches) etwas auf dem System-Laufwerk verloren. Genauso sind die Anwender-Daten, also auch die PHP-Projekte, auf gar keinem Fall im Programm-Verzeichnis abzulegen. Zum Glück kann man ja Document-Root anpassen. ;-)

Gruß
Andreas
andreaswb
 
Posts: 3
Joined: 13. April 2023 09:45
XAMPP version: 8.2.4
Operating System: Windows10 64bit

Re: Apache durch defender blockiert

Postby Nobbie » 15. April 2023 23:19

andreaswb wrote:Hallo
Ach ich sehe gerade: Installation auf das System-Laufwerk?
Sorry - schon aus Gründen der IT-Sicherheit hat kein Anwender-Programm (und xampp ist auch ein solches) etwas auf dem System-Laufwerk verloren.


Sorry, das ist dummes Geschwätz. Ca. 99,9% aller Rechner haben sowieso nur ein einziges Laufwerk, wo sollen die denn ihre Software installieren?

Und last not least ist es auch genau anders herum, Xampp (resp. Apache Webserver und MariaDB SQL Server) ist eben nicht ein Anwender Programm, sondern ein Systemdienst mit entsprechenden Rechten. Es ist genau der Versuch, diese Programme im Userspace zu betreiben (wofür sie nicht designed sind), welcher immer wieder zu Problemen führt.

Ich komme immer mehr zu der Erkenntnis, dass Xampp eigentlich ein fauler Kompromis ist, weil es einfach zu installieren ist und genau dadurch zu der Fehlannahme führt, das wäre ein ganz normales Anwenderprogramm. Und das dann auch noch unter Windows. Apache usw. ist eben keine Spielesoftware, sondern ein Webserver als Systemsoftware und es gehört in das System installiert, nicht im Anwenderbereich. Genau wie Microsoft IIS beispielsweise, da käme auch keiner auf die Idee, das bei einem Anwender zu installieren. Da hat aber Microsoft die Finger drauf, deswegen geht das erst gar nicht.
Nobbie
 
Posts: 13176
Joined: 09. March 2008 13:04

Re: Apache durch defender blockiert

Postby Altrea » 16. April 2023 09:43

Hi Andreas,

andreaswb wrote:Genau nach dieser "Kopier"-Methode läuft der Apache dann mit dem von mir beschriebenen Fehler eben nicht.

Zuerst: Wir reden hier aber von einer frischen "installation" und nicht von einem drüberkopieren über eine vorige Installation?
Das was die zip/7z Version nicht kleisten kann ist Abhängigkeiten prüfen und installieren. Sprich, du musst selbst vorher zusehen, dass die Microsoft Visual C++ Runtime auf dem Rechner installiert ist.
Und wenn Apache trotzdem immernoch nicht starten möchte, dann führe bitte das apache_start.bat Script aus und sage uns, was du dort als Ausgabe erhälst.


andreaswb wrote:Ich fragte ja: Ein bessere Weg als sql-dump. Anscheinend also nicht.

Welche Verzeichnisse müßten vorher "in Sicherheit gebracht weren", damit mySQL diese auch wieder vollständig erkennt?

sql-dumps gibt es viele (zum Beispiel auch über phpmyadmin).
Die sicherste Methode ist aber tatsächlich ein über das Kommandozeilenprogramm mysqldump erzeugtes Datenbank Dump. Das einzige was dir dann darin noch fehlt ist ist der angelegte Datenbankbenutzer mit entsprechenden Rechten, den du aber einfach manuell wieder anlegen könntest.
Warum ein Datenbank-Dump einem kopieren der Festplatten-Dateien vorzuziehen ist, hat etwas mit der Struktur zu tun, in der Datenbanken Daten speichern. Es gibt verschiedene InnoDB Funktionalitäten die dafür sorgen, dass die Datenbank transaktionssicher und schnell Daten schreiben und lesen kann. Das hat bei einer aktiv laufenden Datenbank besagte Vorteile. Eine Datenbanksicherung muss aber nicht schnell geschrieben oder gelesen werden, sondern vollständig und sauber alles an einem Ort speichern. Dass also zum Beispiel in der ibdata1 Datei oder der information_schema Elementare Informationen aller Datenbanken gespeichert werden sorgt nichtnur für unnötig Overhead, sondern kann im schlimmsten Fall sogar dafür sorgen, dass du eine schon jetzt korrumpierte Datenbank sicherst und damit den Grund für all deine Probleme gleich mit.

MariaDB speichert alle zu den Datenbank gehörenden Dateien im data Ordner (in einer XAMPP Standardinstallation wäre das der Ordner \xampp\mysql\data\).

andreaswb wrote:Doch! Es kommt die Meldung, daß bereits das ausgewählte Verzeichnis existiert und eine Installation in dieses Verzeichnis nicht erlaubt ist. Ein "update" in das existierende Verzeichnis wird vom aktuellen Installer nicht zugelassen.

Dann reden wir aber auch hier nicht von einer frischen Installation. XAMPP bietet keine Methoden eine bestehende Installation zu updaten oder zu überschreiben, da das zu einer fehlerhaften Installation führt.

andreaswb wrote:Ach ich sehe gerade: Installation auf das System-Laufwerk?
Sorry - schon aus Gründen der IT-Sicherheit hat kein Anwender-Programm (und xampp ist auch ein solches) etwas auf dem System-Laufwerk verloren. Genauso sind die Anwender-Daten, also auch die PHP-Projekte, auf gar keinem Fall im Programm-Verzeichnis abzulegen. Zum Glück kann man ja Document-Root anpassen. ;-)

Es gibt Gründe bestimmte Anwendungen nicht auf einem Systemlaufwerk zu installieren. Zum Beispiel wenn man Betriebssystem von allem anderen trennen möchte um leichter auf ein neueres Betriebssystem wechseln zu können, aus Übersichtsgründen alle Programme und Dokumente an einem extra Ort haben möchte oder damit Logdateien nicht die Systemfestplatte komplett vollschreiben können und das System damit unbenutzbar machen.
IT-Sicherheit ist in meinen Augen das falsche Argument im Kontext der Speicherung auf der Systemplatte. Zum einen sind deine Daten auf der Systemfestplatte C:\ nicht sicherer vor zum Beispiel dem Zugriff per PHP Dateifunktionen, nur weil XAMPP und/oder die Anwenderscripte auf D:\ liegen. Zum weiteren ist XAMPP an sich schon nicht auf Sicherheit optimiert. XAMPP bietet keine einfache Möglichkeit Einzelanwendungen zu updaten und somit Sicherheitslücken zu schließen. Die XAMPP Einzelkomponenten sind mit vielen Funktionen ausgestattet und gestartet, die vielleicht garnicht benötigt werden und damit zusätzliche Einfallstore bieten. XAMPP besitzt viele Standardpasswörter die überall bekannt sind.
Und im Windows Kontext besitzt die Systemfestplatte die kritischsten und wichtigsten Dateien und ist damit auch am besten abgesichert (zumindest wenn man die dafür geschaffenen Werkzeuge auch konsequent verwendet, wie eingeschränkte Benutzerkonten, Windows User Account Control UAC, Userquota, Gruppenrichtlinien, Freigabeberechtigungen, Datei- und Ordnerberechtigungen).
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11934
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 99 guests