[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • FTP Server-Status abfragen
Seite 1 von 1

FTP Server-Status abfragen

Verfasst: 12. Feb 2014, 14:38
von karlnappmitdenasskap
Hallo,

ich habe mir ein Modul zusammengebastelt, welches die Verfügbarkeit der Services eines Servers abfragt u. anzeigt.
Das Modul sieht so aus:

Eingabe:

Code: Alles auswählen

<b>Server:</b><br />
<input type=text size=80 name=VALUE[1] value="REX_VALUE[1]"><br />
<b>Position der Status-Tabelle:</b><br />
<i>(left, right od. center)</i><br />
<input type=text size=80 name=VALUE[2] value="REX_VALUE[2]">
Ausgabe:

Code: Alles auswählen

<link href="/files/status/status-tabelle.css" type="text/css" media="screen" rel="stylesheet" />

<?php
function check_port($port) {
    $conn = @fsockopen("REX_VALUE[1]", $port, $errno, $errstr, 5);
    if ($conn) {
        fclose($conn);
        return true;
    }
}

function server_report() {
    $report = array();
    $svcs = array('21'=>'FTP',
                  '22'=>'SSH',
                  '25'=>'SMTP',
                  '80'=>'HTTP',
                  '110'=>'POP3',
                  '143'=>'IMAP',
                  '3306'=>'MySQL');
    foreach ($svcs as $port=>$service) {
        $report[$service] = check_port($port);
    }
    return $report;
}

$report = server_report();
?>

<div id="status-tabelle" align="REX_VALUE[2]">
<b>REX_VALUE[1]</b>
<table>
    <tr>
        <td>Service</td>
        <td>Status</td>
    </tr>
    <tr>
        <td>FTP</td>
        <td><?php echo $report['FTP'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\"  title=\"Offline\">"; ?></td>
    </tr>
    <tr>
        <td>SSH</td>
        <td><?php echo $report['SSH'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\"  title=\"Offline\">"; ?></td>
    </tr>
    <tr>
        <td>SMTP</td>
        <td><?php echo $report['SMTP'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\"  title=\"Offline\">"; ?></td>
    </tr>
    <tr>
        <td>HTTP</td>
        <td><?php echo $report['HTTP'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\"  title=\"Offline\">"; ?></td>
    </tr>
    <tr>
        <td>POP3</td>
        <td><?php echo $report['POP3'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\"  title=\"Offline\">"; ?></td>
    </tr>
    <tr>
        <td>IMAP</td>
        <td><?php echo $report['IMAP'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\"  title=\"Offline\">"; ?></td>
    </tr>
    <tr>
        <td>MySQL</td>
        <td><?php echo $report['MySQL'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\"  title=\"Offline\">"; ?></td>
    </tr>
</table>
</div>
Wer's mal runterladen will: http://greatif.cwsurf.de/files/redaxo_s ... ul_1.0.rar

Das Modul checkt also via "fsockopen" die Ports für FTP, HTTP, etc. und gibt dementsprechend grünes oder rotes Licht... :P Soweit alles Prima.

Jetzt aber zu meiner Frage:
Ich habe hier (über eine dynamische IP) einen FTP-Server (Software: CesarFTP) gestartet, dem ich über DynDNS eine feste URL zugewiesen habe. Die dynamische IP wird mittels DynDNS Updater immer akutalisiert, sodass der FTP-Server immer unter der bestimmten URL zu erreichen ist. Das funzt soweit ebenfalls bestens.
Wenn ich jetzt über das o.g. Modul die Erreichbarkeit des FTP-Servers über diese DynDNS-URL feststellen will, bekomme ich beim FTP-Port immer ausgegeben, dass dieser nicht erreichbar ist - auch wenn der Server on ist.

Hat jemand ne Idee, wie sich dieses Problem lösen lässt, d.h. wie man im o.g. Modul die Erreichbarkeit eines FTP-Servers mit dynamischer IP u. vorgeschalteter fester URL abfragen kann?!