Statuspage erstellen

Hallo Habo,

Ich hoffe mal ich habe das richtige Unterforum gewählt. Es geht um folgendes: Ich habe einen kleinen Homeserver mit Ubuntu 10.04 und auf dem läuft momentan ein apache server der aber nichts tut. Ich würde gerne eine art kleine Statuswebsite machen, die mir ermöglicht ein paar shellscripte bei bedarf zu starten und verschiedene Daten über den Server anzeigt.

Leider habe ich in dem Bereich keinerlei Erfahrung und meine Codingfähigkeiten beschrenken sich auf Python und Java. Kann ich das damit umsetzen? Und wenn ja, womit?

vielen dank im voraus

detrexer
 
Da der Apache von Haus aus PHP beherrscht (jedenfalls in deiner Version), wäre eventuell phpsysinfo (http://phpsysinfo.sourceforge.net/) was für dich. Damit kannst du wohl keine Befehle auf dem Server ausführen.

Wenn du dir gaaaaaaaaaaaaanz sicher bist, daß du das wirklich willst, dann sag "Ja, ich will das wirklich!" :)

Nachtrag: stimmt, bin ein wenig am Thema vorbei...
 
Zuletzt bearbeitet:
Du könntest für Python: Einen Zope-Server hinter den Apache hängen, Python-Skripte als CGIs ausführen oder mod_python nutzen.

Du könntest für Java: Einen Tomcat-Server hinter den Apache hängen, Java-Programme als CGIs ausführen.
 
"Ja, ich will das wirklich!" um z.B. WakeOnLAN befehle einfach zu schicken etc. Außerdem laufen auch ein paar andere Server (Jdownloader webinterface) etc darauf die ich damit verlinken will.

Du könntest für Python: Einen Zope-Server hinter den Apache hängen, Python-Skripte als CGIs ausführen oder mod_python nutzen.

Das werde ich mal recherchieren. Was hälst du für besser Zope-server oder mod_python?
 
Zuletzt bearbeitet:
Mit Python ein Webinterface zu bauen ist nicht sonderlich schwer (finde ich). Schau dir mal das "cgi" Modul an.

Code:
import cgi
print 'Content-type: text/html\n'
print 'Blafoo'

Zum Ausführen von Systembefehlen kannst du "system" aus dem Modul "os" verwenden.

Code:
import os
os.system("ls -al")
 
Einfacher ist sicherlich mod_python oder eben Python als CGI verwenden. Zope könnte für eine solche Kleinigkeit etwas Overkill sein.
 
Ich verwende Python + Apache immer über CGI:

irgendein-vhost:
Code:
        <Directory /bla/foo/>
                Options +ExecCGI
                AddHandler cgi-script .py
        </Directory>
 
php kennt auch den system() befehl, warum dann erst ein mod installieren bzw einrichten wenn das php von haus aus kann.


//arg nicht richtig gelesen bzw zu schnell überflogen
 
Zuletzt bearbeitet:
php kennt auch den system() befehl, warum dann erst ein mod installieren bzw einrichten wenn das php von haus aus kann.

Weil:

detrexer hat gesagt.:
Leider habe ich in dem Bereich keinerlei Erfahrung und meine Codingfähigkeiten beschrenken sich auf Python und Java.

Ausserdem ist auch PHP nur als Modul im Webserver (sofern es installiert ist). mod_python dürfte bei Ubuntu auch mit einem simplen apt-get einzurichten sein.
 
So ein kleiner Status bericht. Mit mod_python läuft alles super und mit ein bisschen gebastell und vergewaltigung von HTML Standards sieht das ganze so aus:

attachment.php


Das ist schon recht und BasicAuth funktioniert auch soweit. Jetzt würde ich gerne folgendes machen aber ich habe keineAhnung wie:

JDownloader hat seinen eigenen Serverfür das webinterface auf Port 8433. Ich will diesen Port im Router nicht freigeben aber trotzdem von außen über mein Webinterface zugreifen. Kann ich da eine art "interne weiterleitung" von Apache auf den JDownloader server einrichten??
 
Das ist ne idee aber was soll ich als Source URL nehmen? Ich will ja quasi zum 127.0.0.1 vom server auf port: 8433

edit: http://127.0.0.1:8433 funktioniert nicht.

Edit 2: Hat sich erledigt, 2 Freigaben sind zwar nicht schön aber man kann damit leben

thx für die hilfe
 
Zuletzt bearbeitet:
Wenn ich das richtig verstanden habe, dann solltest du da http://<öffentliche-ip>:8433 reinschreiben. Wenn du den Server also über http://10.42.42.1 anschaust, dann http://10.42.42.1:8433.
Vorausgesetzt, JDownloader lauscht auf dem öffentlichen Interface.

Das habe ich im Endeffekt auch gemacht, dafür musste ich nur port 8433 freigeben. Wäre schöner gewesen darauf zu verzichten und das quasi intern weiter zu leiten, d.h. apache auf port 80 gibt eine HTML seite zurück auf der eingebettet das Jdownloader interface ist ohne das eine verbindung Client -> Jdownloader:8433 direkt erfolgt
 
Ohne Freigabe des Ports wirst du wohl nur auskommen, wenn dein Skript den Inhalt des Interfaces selbst zieht und ausgibt und entsprechende POST/GET-Requests auch an das Interface weiterleitet.
 
Zurück
Oben