[gelöst] Installation Archlinux - Fehlermeldungen 5.0.23

MyOOS [Dumper]ist ein Sicherungsprogramm für MySQL-Datenbanken. Damit können Sicherungskopien der Daten (Forum, Shop, Blog, usw.) erstellt und bei Bedarf auch wieder hergestellt werden. Besonders bei Web-Space ohne Shell-Zugang bietet sich MyOOS [Dumper] als sinnvolle Alternative an.
Antworten
tachtler
Beiträge: 4
Registriert: 28.01.2024, 09:25

[gelöst] Installation Archlinux - Fehlermeldungen 5.0.23

Beitrag von tachtler »

Hallo Zusammen,

erst einmal vielen Dank, für die Entwicklung von MyOOSDumper!

Mit ist eine relativ problemlose Installation unter ArchLinux gelungen, jedoch erhalte ich, wie auch schon in Version 5.0.20 beschrieben, die beiden nachfolgenden Anzeigen, direkt nach der Installation:

Code: Alles auswählen

Es konnte nicht überprüft werden, ob das Programm geschützt ist!
Der simulierte externe Zugriff konnte nicht ausgeführt werden.
myoosdumper-5.0.23-Fehlermeldungen.png
myoosdumper-5.0.23-Fehlermeldungen.png (54.12 KiB) 6519 mal betrachtet
Nachfolgend mein System:
  • MyOOS [Dumper] - Version: 5.0.23
  • Betriebssystem: Linux (Linux vml030 6.6.14-1-lts #1 SMP PREEMPT_DYNAMIC Fri, 26 Jan 2024 11:54:58 +0000 x86_64)
  • MySQL-Version: 11.2.2-MariaDB
  • PHP-Version: 8.3.2 Speicher: 256.00 MB Maximale Ausführungszeit: 30 Sekunden PHP-Info
  • PHP-Erweiterungen: Core, date, libxml, openssl, pcre, zlib, ctype, dom, fileinfo, filter, hash, json, mbstring, pcntl, SPL, session, PDO, bz2, posix, random, readline, Reflection, standard, SimpleXML, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, cgi-fcgi, Phar, curl, ftp, gettext, iconv, ldap, mysqli, zip
Wie kann ich helfen, das Problem zu lösen?
Welche Informationen werden noch zusätzlich benötigt?

Vielen Dank, schon in Voraus!
Klaus Tachtler.
Zuletzt geändert von tachtler am 30.01.2024, 12:44, insgesamt 1-mal geändert.
r23
Beiträge: 2718
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Installation Archlinux - Fehlermeldungen 5.0.23

Beitrag von r23 »

Hallo,

Schade, dass die Verbindung nicht geprüft werden kann auf deinem System. Dies kann leider viele Gründe haben.


die Funktion

Code: Alles auswählen

function IsAccessProtected()
{
    $rc = false;

    if (isset($_SERVER['HTTPS']) && (strtolower((string) $_SERVER['HTTPS']) == 'on' || $_SERVER['HTTPS'] == 1)) {
        $scheme = 'https';
    } elseif (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) {
        $scheme = 'https';
    } else {
        $scheme = 'http';
    }

    $url = sprintf('%s://%s%s', $scheme, $_SERVER['HTTP_HOST'], dirname((string) $_SERVER['PHP_SELF']));
    $headers = @get_headers($url);
    if (is_array($headers) && count($headers) > 0) {
        $rc = (preg_match('/\s+(?:401|403)\s+/', (string) $headers[0])) ? 1 : 0;
    }
    return $rc;
}
Liefert ein false zurück.

Dies kann daran liegen, dass $url einen falschen Wert enthält.

Die Funktion `get_headers` in PHP wird verwendet, um alle Header zu erhalten, die der Server in der Antwort auf eine HTTP-Anfrage sendet. Um sicherzustellen, dass `$headers` einen Inhalt enthält, müssen Sie einige Dinge beachten:

- Stelle sicher, dass `$url` eine gültige und erreichbare URL ist, die mit dem Protokoll (z.B. `http://` oder `https://`) beginnt.
- Stelle sicher, dass du die richtigen Kontextoptionen für die Verbindung angibst, falls erforderlich. Wir können die Funktion `stream_context_create` verwenden, um einen Kontext zu erstellen, und ihn als dritten Parameter an `get_headers` übergeben.

- Stelle sicher, dass du den zweiten Parameter von `get_headers` auf `1` setzt, wenn du ein assoziatives Array zurückgeben möchtest, das die Header-Namen als Schlüssel enthält.

- Stelle sicher, dass Sie die Fehlerbehandlung implementierst, falls `get_headers` `false` zurückgibt oder eine Warnung auslöst. (bei dir liefert get_headers ein false

Hier ist ein Beispiel für die Verwendung von `get_headers` mit einem Kontext und einem assoziativen Array:

Code: Alles auswählen

function IsAccessProtected()
{
	$context = stream_context_create(array(
		'http' => array(
		'method' => 'GET',
		'header' => 'User-Agent: Mozilla/5.0\r\n'
		)
	));


    $rc = false;

    if (isset($_SERVER['HTTPS']) && (strtolower((string) $_SERVER['HTTPS']) == 'on' || $_SERVER['HTTPS'] == 1)) {
        $scheme = 'https';
    } elseif (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) {
        $scheme = 'https';
    } else {
        $scheme = 'http';
    }

    $url = sprintf('%s://%s%s', $scheme, $_SERVER['HTTP_HOST'], dirname((string) $_SERVER['PHP_SELF']));
	$headers = @get_headers($url, 1, $context);
    if (is_array($headers) && count($headers) > 0) {
        $rc = (preg_match('/\s+(?:401|403)\s+/', (string) $headers[0])) ? 1 : 0;
    }
    return $rc;
}
man kann dies auf seinem System prüfen , warum es nicht erkannt wird und das folgende Skript anpassen bis man ein haeder erhält.

Code: Alles auswählen

// Erstellen Sie einen Kontext mit einigen Optionen
$context = stream_context_create(array(
  'http' => array(
    'method' => 'GET',
    'header' => 'User-Agent: Mozilla/5.0\r\n'
  )
));

// Geben Sie die URL an
$url = 'https://www.example.com';

// Rufen Sie die Header mit dem Kontext und dem assoziativen Array auf
$headers = @get_headers($url, 1, $context);

// Überprüfen Sie, ob die Header erfolgreich abgerufen wurden
if ($headers !== false) {
  // Drucken Sie die Header aus
  print_r($headers);
} else {
  // Behandeln Sie den Fehler
  echo 'Fehler beim Abrufen der Header';
}
Ich hoffe, das hilft weiter.

PHP: get_headers - Manual. https://www.php.net/manual/en/function.get-headers.php.


Schönes Wochenende

Ralf
tachtler
Beiträge: 4
Registriert: 28.01.2024, 09:25

Re: Installation Archlinux - Fehlermeldungen 5.0.23

Beitrag von tachtler »

Hallo Ralf,

wow, erst einmal Respekt für Deine Anwort - vielen Dank erst einmal dafür!

Wie ich die Installation durchgeführt haben, kannst Du hier nachlesen: Dein Code:

Code: Alles auswählen

<?php
// Erstellen Sie einen Kontext mit einigen Optionen
$context = stream_context_create(array(
  'http' => array(
    'method' => 'GET',
    'header' => 'User-Agent: Mozilla/5.0\r\n'
  )
));

// Geben Sie die URL an
$url = 'http://myoosdumper.tachtler.net';

// Rufen Sie die Header mit dem Kontext und dem assoziativen Array auf
$headers = @get_headers($url, 1, $context);

// Überprüfen Sie, ob die Header erfolgreich abgerufen wurden
if ($headers !== false) {
  // Drucken Sie die Header aus
    echo "<pre>";
    print_r($headers);
    echo "</pre>";
} else {
  // Behandeln Sie den Fehler
  echo 'Fehler beim Abrufen der Header';
}
?>
Die Ausgabe ist dann nachfolgende:

Code: Alles auswählen

Array
(
    [0] => HTTP/1.1 301 Moved Permanently
    [Date] => Array
        (
            [0] => Sun, 28 Jan 2024 16:55:12 GMT
            [1] => Sun, 28 Jan 2024 16:55:12 GMT
        )

    [Server] => Array
        (
            [0] => Apache
            [1] => Apache
        )

    [Location] => https://myoosdumper.tachtler.net/
    [Content-Length] => 248
    [Connection] => Array
        (
            [0] => close
            [1] => Upgrade, close
        )

    [Content-Type] => Array
        (
            [0] => text/html; charset=iso-8859-1
            [1] => text/html; charset=UTF-8
        )

    [1] => HTTP/1.1 200 OK
    [Vary] => Accept-Encoding,User-Agent
    [Upgrade] => h2,h2c
    [Transfer-Encoding] => chunked
)
Ich habe den Fehler gefunden → Der HOST kannte sich selbst im DNS nicht! Danke!



1.000 Danke und Grüße
Klaus.
Zuletzt geändert von tachtler am 28.01.2024, 19:03, insgesamt 6-mal geändert.
tachtler
Beiträge: 4
Registriert: 28.01.2024, 09:25

Re: Installation Archlinux - Fehlermeldungen 5.0.23

Beitrag von tachtler »

Hallo Ralf,

jetzt habe ich noch nachfolgende Statusmeldung:

Code: Alles auswählen

Das Programm ist nicht geschützt, der Verzeichnisschutz ist unvollständig!
Folgendes Problem: →
Die .htaccess Datei ist vorhanden wird aber in PHP8 mit file_exists anscheinden nicht gefunden!

Code: Alles auswählen

# ls -la ./.htaccess 
-rw-rw-r-- 1 root http 185 Jan 28 18:38 ./.htaccess
inc/home/home.php

Code: Alles auswählen

138 /* Tachtler */                                                                                                   
139 print_r($is_protected);
140 print_r(file_exists('./.htaccess'));
141 print_r($is_htaccess);
142 /* Tachtler */
Screenshot from 2024-01-28 19-59-07.png
Screenshot from 2024-01-28 19-59-07.png (27.02 KiB) 6485 mal betrachtet
Die Ausgabe ist 011 -> falsch bei $is_htaccess - obwohl die Datei vorhanden ist!

Danke und Grüße
Klaus.
Zuletzt geändert von tachtler am 28.01.2024, 20:03, insgesamt 1-mal geändert.
r23
Beiträge: 2718
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Installation Archlinux - Fehlermeldungen 5.0.23

Beitrag von r23 »

tachtler hat geschrieben: 28.01.2024, 18:10 Wie ich die Installation durchgeführt haben, kannst Du hier nachlesen:
Die Behauptung

"ACHTUNG - Hier handelt es sich aktuell anscheinend um ein Problem bei der Erkennung, ob die Web-Anwendung via HTTPS aufgerufen wurde!


ist falsch.

Wir prüfen mit

Code: Alles auswählen

    if (isset($_SERVER['HTTPS']) && (strtolower((string) $_SERVER['HTTPS']) == 'on' || $_SERVER['HTTPS'] == 1)) {
        $scheme = 'https';
    } elseif (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) {
        $scheme = 'https';
    }
wer "SSL" anders installiert - muss seine Server Konfiguration prüfen.
Abschliessend sind noch die Besitzrechte für die Konfigurationsdatei

/usr/share/webapps/myoosdumper/config.php

mit nachfolgendem Befehl, wie folgt zu setzen
ist leider auch nicht richtig.

MOD hat nicht EINE Konfigurationsdatei, sondern legt in ein Verzeichnis unter Work seine Konfigurationsdateien ab.
r23
Beiträge: 2718
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Installation Archlinux - Fehlermeldungen 5.0.23

Beitrag von r23 »

tachtler hat geschrieben: 28.01.2024, 19:04

Code: Alles auswählen

Das Programm ist nicht geschützt, der Verzeichnisschutz ist unvollständig!
Folgendes Problem: →
Die .htaccess Datei ist vorhanden wird aber in PHP8 mit file_exists anscheinden nicht gefunden!

Code: Alles auswählen

# ls -la ./.htaccess 
-rw-rw-r-- 1 root http 185 Jan 28 18:38 ./.htaccess
inc/home/home.php

Code: Alles auswählen

138 /* Tachtler */                                                                                                   
139 print_r($is_protected);
140 print_r(file_exists('./.htaccess'));
141 print_r($is_htaccess);
142 /* Tachtler */
Die Ausgabe ist 011 -> falsch bei $is_htaccess - obwohl die Datei vorhanden ist!
Warum soll $is_htaccess falsch sein? Die htaccess wird doch gefunden, wenn der Wert 1 ist.


Der Wert NULL von $is_protected sagt aus, dass der Status 401 oder 403 erwartet wird und dieser ist bei dir nicht vorhanden.
https://de.wikipedia.org/wiki/HTTP-Statuscode
tachtler
Beiträge: 4
Registriert: 28.01.2024, 09:25

Re: Installation Archlinux - Fehlermeldungen 5.0.23

Beitrag von tachtler »

Hallo,

danke für den Hinweis, da habe ich mich geirrt, die Prüfung der .htaccess-Datei ist natürlich erfolgreich, dafür schlägt die Prüfung $is_protected fehl. Ich werde mal die Besitz und Dateirechte der übergeordneten Verzeichnisse überprüfen.

Danke, für die Berichtigung.


Grüße
Klaus.
tachtler
Beiträge: 4
Registriert: 28.01.2024, 09:25

Re: Installation Archlinux - Fehlermeldungen 5.0.23

Beitrag von tachtler »

Hallo Zusammen,

danke für die Unterstürzung - gerade von Ralf - super! Das Problem ist gelöst!
Screenshot from 2024-01-30 11-13-07.png
Screenshot from 2024-01-30 11-13-07.png (50.46 KiB) 6433 mal betrachtet
Grüße
Klaus.
Antworten