Linux: APC UPS Daemon unter Debian “Squeeze” installieren und konfigurieren

Auch Linux-Server wollen vor Stromausfall und Stromschwankung geschützt werden. Als Hardware kommt in diesem Beispiel eine APC Back-UPS CS 650 zum Einsatz. Auf der Softwareseite wird auf den APC UPS Daemon zurückgegriffen.

Kleine Hintergrund-Geschichte, warum ich mir eine USV angeschafft habe:

Mal ganz abgesehen davon, das es generell sinnvoll ist, (Heim-)Server die immer Laufen mit einer USV abzusichern, kommt in meinem Fall hinzu, das ich kürzlich wieder in meinen alten Heimatort gezogen bin. In der Vergangenheit gab es hier schon so einige Stromausfälle und leider auch Blitzschäden. Das eigentliche Haus wurde zwar bis dato nie direkt getroffen, aber es genügt ja schon, wenn in das Strom- oder Telefonnetz der Blitz einschlägt.

Vorbereitung

Die USV auspacken, aufbauen und via USB anschließen.

Webserver installieren

Den Befehl “apt-get install apache2” ausführen.

APC UPS Daemon installieren

Einfach den Befehl “apt-get install apcupsd & apcupsd-cgi” ausführen.

APC UPS Daemon konfigurieren

Die Konfigurationsdatei befindet sich unter “/etc/apcupsd/apcupsd.conf”.

Die Konfiguration z.B. mit nano bearbeiten:

UPSNAME APC Backup-UPS CS 650
UPSCABLE USB
UPSTYPE USB

Damit  der Daemon gestartet werden kann muss eine Datei namens “apcupsd” unter “/etc/default/apcupsd/” mit folgenden Inhalt

ISCONFIGURED=YES

existieren.

Den Daemon starten:

/etc/init.d/apcupsd start

Web-Interface einrichten

Am schnellsten und einfachsten kann man das Web-Interface einrichten, indem man folgenden Befehl ausführt:

apt-get install apcupsd-cgi

Die CGI-Skripte liegen dann unter “/usr/lib/cgi-bin/apcupsd” und können direkt via Browser aufgerufen werden. Alternativ kann man auch diesen Weg gehen:

– Ein neues Unterverzeichnis für den APC UPS Daemon anlegen:

mkdir /var/www/cgi-bin/apcupsd

– Die APC UPS Daemon-Dateien kopieren:

cp -r /usr/lib/cgi-bin/apcupsd/ /var/www/cgi-bin/apcupsd/

– Nun kann das Web-Interface im Browser über diese URL aufgerufen werden:

http://COMPUTERNAME/cgi-bin/apcupsd/upsstats.cgi


In der Shell kann der aktuelle Status via “/etc/init.d/apcupsd status” abgerufen werden:

Tipp: Mit dem Befehl “apctest” kann man z.B. den Selbsttest der USV durchführen. Um “apctest” erfoglreich ausführen zu können, muss der Daemon beendet sein!

Update 07.04.2014

Artikel um das Paket “apcupsd-cgi” erweitert.

29 Kommentare

  1. Serverdaemon

    Hallo Andy,

    genau die Info, die ich gesucht habe. Kurz und prägnant dargestellt.

    Danke

  2. Ahrian

    hallo und vielen dank für die anleitung hat auch alles soweit geklappt.
    bis auf “ISCONFIGURED=YES” da hat er immer mit der konfiguration rumgemäkert.
    nach dem ich dann aus “YES” “yes” gemacht habe lieft es wie am schnürchen.

    Besten dank noch mal :O)

  3. andy

    Danke für den Hinweis.

  4. felix

    Hallo, eine USV (APC 550) soll es bei mir werden….meine Frage, muss es zwingend der Apache sein? Bei mir läuft lighttd … das sollte doch auch funktionieren oder kann apcupsd nur mit dem Indianer ?

  5. andy

    Gute Frage.
    So wie ich das sehe im Handbuch sind die CGI-Skripte nicht zwingend an den Apache Webserver gebunden, da dort z.B. auch vom Microsoft IIS die Rede ist.
    Letztlich kannst du das schnell und einfach testen, wenn bei dir ohnehin schon der Lighttpd läuft, einfach nach der Installation von apcupsd die CGI-Skripte ins Webserver-Root bzw. ein entsprechendes Unterverzeichnis kopieren und von einem Browser aus aufrufen.

  6. felix

    Danke für Deine Infos, das hilft mir schon.
    Okay. Ich werde mich hier wieder melden, wenn ich Hardware und Software zusammen gebracht habe.

  7. andy

    Ich drück’ dir die Daumen!
    Und um es nochmal nochmal etwas einfacher auszudrücken:

    Jeder Webserver der CGI kann, kann womöglich verwendet werden.
    Getestet hab’ ich es freilich nicht, aber Feedback ist immer willkommen.

  8. marK

    Hallo,

    ich habe vor mir ein APC Model zuzulegen bin aber nicht ganz schlüsslig welchen, vielleicht könnt ihr mir ja helfen.:
    – 30 minuten versorgung
    – debian tauglich sein 🙂
    – Geräuschlos beim Laden und Verwenden

    Und die Frage ob man events auslösen kann mit debian wenn z.b der Stromausfällt oder wieder vom Netz gespeist wird ne art bash script oder so da ich gerne einen befehl absetzen würde der mir eine SMS sendet.

  9. marK

    Hallo,

    sorry ich nochmals du hast ja das “CS 650” von APC , wie zufrieden bist du damit :)?

  10. andy

    Hi Mark,

    also ich bin mit der USV soweit zufrieden. War günstig und tut gut.
    30 Minuten halten tut sie bei mir aber nicht, das hängt aber natürlich auch immer von der Last ab.
    In meinem Fall hängt ein HP DC7800 SFF mit C2D 2.4 GHz, 2GB RAM, 2x HDD dran und idlet mehr oder weniger vor sich hin.
    Laut apcupsd ist unter dieser Last (ca. 40%) eine Haltezeit von ca. 13 Minuten drin.
    Geräuschlos ist das Teil, da kein Lüfter.
    Es kann aber sein, das man bei USVs ohne Lüfter aber z.B. gewisse Geräusche von der Elektronik wahrnehmen kann.
    Erfahrungsgemäss hört man meist bei billigen no-name USVs ein Pfeifen.

    Mit Skripten beim eintreten von bestimmten Ereignissen kann man arbeiten.
    Das wird ganz gern genommen um z.B. andere Computer oder virtuelle Maschinen herunterzufahren.

  11. marK

    Bei mir wärs nur ein ->
    product: Intel(R) Celeron(R) CPU 2.80GHz , 8 GB RAM – 1-2 Festplatten und 3-4 GSM MODEMS 😉
    Glaubst du wie lang wird das halten? 😉

    Die Aktions kann ich via webinterface machen oder hast du da was parat für mich ;)) Und welche Kabeln benötige ich da bei amazon irgendwas von fehlenden Kabeln steht :((

    großeß danke werd deinen blog lesen und weiterempfehlen 🙂

  12. andy

    Nuja, die haben auch schon Strom “gefressen”.

    Ich glaub’ am einfachsten wäre es, wenn du mal die Stromaufnahme des Computers messen tust.
    Dann hast du schon mal eine Größe, mit der man dann anhand der gewünschten Haltezeit die Leistung der USV festlegen kann.

    Messen kannst du per Software wie z.B. Powertop (von mir bislang nicht getestet) oder per Hardware mit einem Energiekostenzähler.
    Sowas gibt’s z.B. von Reichelt:

    http://www.reichelt.de/Energiemessgeraete/KD-302/3/index.html?;ACTION=3;LA=446;ARTICLE=88135;GROUPID=4033;artnr=KD+302;SID=10T84IU38AAAIAACTkgVA1e33ae5c4ec8b030bc6596aa8ef90f81

  13. andy

    Oder du versuchst die Komponenten hier zu finden und bekommst (ebenfalls) eine Pi-mal-Daumen-Peilung der Leistung, die “Verbraten” wird:

    http://extreme.outervision.com/psucalculatorlite.jsp

  14. marK

    Danke 😉 oder ich bestelle und teste und wenns nichts daugt adios und weiss das es keinen sinn hat sowas schwaches zu nehmen 😉 Wobei 10 Minuten reichen auch völlig 😉 also wärs eigentlich egal =)

  15. marK

    Sorry das ich hier so viel poste und frage :X nur du scheinst dich auszukennen =)))

    Die frage wäre noch wie mache ich bei aktions strom weg und strom da ausführungen am debian mach bzw. mittels bash? 😉

  16. andy

    Schau dir mal die “apcupsd.conf” und “apccontrol.sh” an,
    da ist im Grunde alles drüber konfiguriert und geregelt.
    An diesen Stellen kann man alles mögliche “verbiegen”.

  17. marK

    🙂 denke ich werd bestellen ;))

    Welche Kabeln brauch ich noch damit ich den Server mit Strom versorgen kann, via APC UPS ? 😉

  18. andy

    Bei der USV von APC sind welche dabei. Das sind Kaltgerätekabel mit 1x Buchse und 1x Stecker, werden auch als Kaltgeräteverlängerung bezeichnet.
    Z.B. sowas hier:

    Link

    Aber es gibt auch USV, an denen normale Steckdosen sind.
    Alternativ kann man auch eine Steckdosenleiste mit Kaltgerätestecker nehmen:

    Link

  19. marK

    hi,

    sodale nun hab ichs aufgebaut und funkt auch perfekt server läuft und läuft :)) die frage ist nun MUSS ich damit ich es ansteuern kann via usb / oder so verbunden sein denn hab keinen usb port mehr frei .. :(((

  20. andy

    Eigentlich ja. Hast du evtl. die Möglichkeit eine USB-Addon-Karte in deinem Computer zu verbauen? Du kannst natürlich mal versuchen mit einem USB- oder COM-/RS232-Server, je nach dem welche Anschlüsse deine USV bietet, zu testen. Da fehlt mir allerdings die Erfahrung bezüglich USV, wie gut oder schlecht das funktioniert. Mit anderen Geräten wie z.B. Dongle oder USB-Druckern oder auch so manches Mess-/Regeltechnik-System laufen über sowas ohne Probleme.

  21. marK

    Hallo,

    hab einen Aopen Xcube – und bin da ein wenig überfragt :X hab den selben USV wie du 🙂

  22. andy

    Öhm ja, also ich hab’ mal ca. 30 Sekunden lang Bilder via Google angeschaut. Das Ding hat wohl 1-2 PCI-Steckplätze, also liese sich da wohl schon was machen. Im Zweifelsfall aufschrauben und nachschauen.

  23. Sacki

    Danke für das gute Howto… Funktioniert auch mit BR900GI

  24. Hans-Peter Abele

    Hallo Andy,
    habe die kompletten Sachen für APC Backup installiert, kann im Raspi mit “sudo /etc/init_d/apcupsd status” sauber auslesen, nur über den Browser http://192.168.x.xxx/cgi-bin/apcupsd/upsstats.cgi komm ich nicht an den APC ran. Alle Dateien sind entsprechend den Vorgaben vorhanden.
    Was mache ich falsch ?
    Gruß Peter

  25. andy

    Gibt’s eine Fehlermeldung?

  26. Hans-Peter Abele

    Hallo Andy,
    Eingabe :http://192.168.2.104/cgi-bin/apcupsd/upsstats.cgi
    Fehlermeldung lapidar :404 – Not Found

    Raspi funktioniert z.B. mit FHEM über die gleiche Adresse, benötige ich noch eine Portangabe ?
    Gruß Peter

  27. andy

    Hm, unter Raspberry habe ich, mangels Hardware, das nie versucht.
    Evtl. weicht die Apache-Konfig vom Debian-Standard ab?!
    Was steht denn im Apache Log?

  28. Hans-Peter Abele

    Hallo Andy,
    wenn /var/log/apache2/access.log und error.log gemeint ist – die sind leer !

    Gruß Peter

  29. andy

    Erstelle mal testweise eine html-Datei im Verzeichnis “/var/www/cgi-bin/apcupsd/” und rufe die mal im Browser auf,
    nur um mal zu sehen, ob das Verzeichnis vom Apache überhaupt verwendet wird.

    Parallel dazu kannst du mal die Apache Konfig. prüfen, ob CGI überhaupt zugelassen ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

© 2024 Andy's Blog

Theme von Anders NorénHoch ↑