Donnerstag, 4. Mai 2006Krieg der KekseIch bin mir heute quasi selbst auf den Laim gegangen... Nachdem ich mich letzte Woche vom Königsstuhl geworfen (mir zumindest die Möglichkeit gegeben) habe, musste mir heute auffallen, dass dieser Wurf wohl ein elastischer war - immer bekam ich meine Administrationsrechte zurück sobald ich in einen anderen Teil der Webseite wechselte. Lösung des Problems: Ich hatte vergessen explizit einen Pfad für einen Keks zu setzen, den mein System meinem Browser immer wieder spendiert hat. Das konnte ja nicht funktionieren :hmm: So endete ich in einem heillosen Chaos aus (Admin) sein oder nicht sein. Abhilfe schaffte nur das löschen aller Cookies von ssl.tiggerswelt.net :hmm: Und um noch mehr von dem Schmerz zu bekommen werde ich jetzt "Master-User" implementieren Mittwoch, 3. Mai 2006Schlechter TCP/IP-Stack?Gerade beim tcpdumpen gefunden:
Irre ich mich oder sollte das entsprechende Endgerät das nicht selber wissen? :hmm: Samstag, 29. April 2006Merkwürdiges uptime-ratenIch scanne gelegentlich alle meine Server mit nmap durch. Warum auch immer - ich mache es halt regelmäßig. Heute musste nmap mich verblüffen. Bei Linux versucht nmap immer zu erraten, wie lange diese Maschine schon am Netz hängt. Der Wert sagte heute folgendes:
... das kam mir etwas spanisch vor, denn Reboots gab es zumindest innerhalb des letzten Monats nicht. Ein check auf der Maschine direkt brachte mir dann Gewissenheit: Der Wert ist göttlich falsch. Die Uptime der Maschine ist niedrig, aber nicht so niedrig:
Donnerstag, 27. April 2006DNS als DatenbankAls Hoster betreibe ich mehrere Server im Internet. (logisch, oder?) Nun ist es so, dass jede Maschine ihre ganz speziellen Eigenschaften hat, nicht jeden Dienst fährt und auch innerhalb eines solchen Dienstes schon mal markante Unterschiede bestehen (z.B. MySQL 4 und MySQL 5). Alles in allem ergibt sich daraus ein großes Wirr-Warr, welches auf Dauer nur schwer zu überblicken ist. Bisher hatte ich in meiner System-Bibliothek eine Reihe von statischen Arrays, die jeden Server für sich individuell beschrieben haben. Das Problem bei der Sache war nur bisher, dass sich diese Arrays auf eine Programmiersprache beschränkt haben und zu anderen Sprachen keine wirkliche Schnittstelle bestand. Das Problem hab ich gestern gelöst - mit Hilfe von DNS. Ähnlich wie bei E-Mail die Mailserver (MX-Eitnrag im DNS) kann ich nun bestimmte Fähigkeiten zu bestimmten Servern über DNS abfragen und auswerten. Mehr als praktisch wie ich finde. Die Daten sind zwar rein theoretisch offen für jedermann, aber was stört es schon, wenn man die Existenz eines HTTP-Servers über DNS feststellen kann? Eine erste Implemtentation hab ich sogar schon entwickelt und ausführlich getestet - geschrieben in Bash Mittwoch, 26. April 2006tiggersWelt.net Jabber ist böse...... denn es schmeißt willkürlich und jeden Tag einen meiner Kunden vom Server. Eigentlich unvorstellbar, denn sonst berichtet niemand von diesem Problem und auch ich habe keine Probleme mit dem Server (es ist nicht so, als würde Jabber mich bevorzugen - für den Server bin ich auch nur ein Kunde) Ein Blick in die Logs brachte dann recht schnell die Lösung ans Licht:
Natürlich! Der 24h-Disconnect beim DSL-Provider isses schuld... Da er nur eine dynamische IP zugewiesen bekommt ist die Verbindung natürlich futsch. :hmm:
Geschrieben von Bernd Holzmüller
in Interessenten & Kunden, Technik
um
15:57
| Kommentar (1)
| Trackback (1)
Großer BruderHeute nacht hat mein "kleines Monitoring" leider versagt, als ein CGI-Skript eines Kunden Apache zuviel Speicher hat essen lassen und der Kernel sich gezwungen sah dem Indianer den Garr aus zu machen. Folglich lief Apache nicht mehr und ist auch nicht automatisch neu gestartet worden :hmm: Heute morgen durfte ich dann ein paar böse Zeilen einer Kundin lesen. Nicht sehr erfreulich, aber sehr berechtigt! Drum nutze ich gerade die Zugfahrt um einen zweiten Monitoring-Dienst zu entwickeln, der in seinen Methoden ein wenig robuster und vor allen Dingen brutaler ist:
Bleibt die Frage: Was ist ein "Mail2Music"-Gateway Der Mail2Music-Gateway ist ein kleiner Bash-Skript, den ich mal geschrieben habe um via E-Mail meinen Music-Player fernzusteuern. Anhand des Textes in der Mail wird meine Sammlung durchsucht und entsprechende Titel werden wiedergegeben. Eigentlich unnütz, aber in diesem Fall sehr gut des Nachts als Wecker zu gebrauchen Donnerstag, 13. April 2006Skript-SchreibereiIch habe momentan zwei Server die mal wieder in meine "Domäne" eingebunden werden wollen. Ich schreibe "Domäne", weil mein System schon ein wenig mit einem Da das ganze irgendwo noch ein riesen Aufwand darstellt, ich immer Sourcecodes von meinem Entwicklungsserver nachladen und immer auf die selbe Weise compilieren und installieren muss, bin ich es mittlerweile irgendwo leid und so steht der Punkt schon eine knappe Woche recht weit oben auf meiner ToDo und wird ignoriert... Heute will ich diesen Punkt endlich mal abarbeiten. Aber anders als sonst: Ich bin gerade dabei mir eine automatische Installations-Routine zu schreiben und so dieses "Problem" in Zukunft zu umgehen. Mittwoch, 12. April 2006Note: PECL-Modul für PAMDas hier ist mehr eine Notiz für mich persönlich, aber die Idee dahinter finde ich nicht schlecht. PAM regelt bei mir eine vielzahl von Authentifizierungsaufgaben. Es gibt eigentlich nur einen Dienst, der vollkommen unabhängig davon läuft: Das Webinterface. Nun steht demnächst eine Umstellung der produktiven Datenbank an und so entstehen zwei parallele Baustellen; die Authentifizierung muss zwei mal überarbeitet werden. Ein wenig übertrieben wie mir scheint! Warum sich nicht davor schützen und PAM als PECL-Modul in PHP (mit dem das Webinterface nun mal betrieben wird) integrieren. Das kostet zwar einmal arbeit, schützt mich aber vor zukünftigen weiteren Baustellen. Momentan gibt es "nur" Support für SASL oder Radius. Ein weiterer Vorteil wäre ein gesonderter Bereich, den man für Applikationen von Kunden einrichten könnte, d.h. sie schreiben selbst Skripte, überlassen das Benutzermanagement jedoch meiner Datenbank - ob das wirklich gebraucht wird, ich weiß es nicht, aber es schön die Möglichkeit zu haben™ Sonntag, 9. April 2006CAChains nun auch für JabberWas möglich ist, aber keiner weiß: Meine Jabber-Server bieten auch verschlüsselte Kommunikation mit den Clients an. Bis letzte Woche unterlag das jedoch noch einer kleinen Einschränkung: Ohne CAChains. Nun war das Problem, dass sobald ich für eine Domain das eigentliche SSL-Zertifikat mit CAChain konfigurierte, dass der Server mir das gesamte SSL-System um die Ohren schlug und den Dienst via SSL verweigerte und nur noch unverschlüsselt zur Verfügung stand. Kommentierte ich aber das CAChain aus, funktionierte es - wohlgemerkt erkannte der Client das Zertifikat nicht als vertrauenswürdig an und warnte mich/den Benutzer. Eigentlich blöd! Denn da kann man sich das Geld sparen und gleich selbst signieren. Drum hab ich mich letzte Woche mal an das Problem gesetzt und via Trial-and-Error das Problem gelöst (ich bin kein SSL-Spezialist - dafür war ich gut!) Damit aber nicht nur meine Kunden davon profitieren, habe ich meinen Bug-Fix direkt mal der Community zurückgegeben. Freitag, 7. April 2006Willkommen daheim!Heute ist ein schöner Tag, denn ich darf ein weiteres mal sagen: Willkommen beim Wohnzimmerhoster!Der Eine Ausnahme gibts da schon noch, die ist aber geheim Samstag, 1. April 2006Objekt-Orientierter WohnzimmerhosterIch habe aus jedem meiner Kunden ein Objekt gemacht! HAR! Der technisch unversierte Leser möchte sich an diesem Punkt vielleicht von diesem Eintrag abwenden... Ich habe vor ca. einem Monat begonnen mein "altes" System zur Objekt-Orientierung hinzuportieren. Einerseits bin ich immernoch der Meinung, dass die Objekt-Orientierung eigentlich nur ein Overhead ist und man ein Objekt-Orientiertes Programm effizienter auf andere Art und Weise schreiben könnte, aber auf der anderen Seite ist der Komfort beim Entwickeln in einigen Fällen einfach deutlich höher und auch der Code wirkt schon mal transparenter... Bei mir war ein anderer Grund diesen Schritt zu gehen ebenfalls maßgeblich: Ich hab irgendwann mal begonnen einen Datenbank-Layer zu schreiben, der zum einen einige nützliche generische Funktionen bereitstellt, aber auch auf verschiedene Datenbanken transparent zugreifen kann. Praktisch hierbei auch einzelne Records oder gar Baumstrukturen aus der Datenbank als Objekt darstellen und modifizieren zu können. Nicht zuletzt ist das einfügen von Hooks in diese Objekte eine geniale Methode um z.B. Zugriffsrechte oder Konsistenz-Prüfungen zu realisieren. Genau hier liegt mein Hauptaugenmerk: Der Sicherheitsgedanke. So wird z.B. grundsätzlich ein eingeloggter Kunde niemals an die Datensätze eines anderen kommen (könnte rein theoretisch passieren, wenn ich mal eine Überprüfung vergesse oder ein Bug im System ist) weil die Klasse es ihm einfach verbietet. Ein anderer Aspekt ist natürlich die Leichtigkeit im Zugriff auf die Daten aus der Datenbank. Dank spezieller abgeleiteter Unterklassen sind Lesevorgänge, Updates und Auflistungen nur noch eine Sache von ca. 24 Zeichen und lassen sich folglich mit rasanter Geschwindigkeit entwickeln. Schade nur, dass ich währenddessen aus allen Kunden - Menschen - ein Objekt gemacht habe. So ein bisschen bleibt wohl immer auf der Strecke... Mittwoch, 29. März 2006Serendipity multihomedIn meinem Zorn heute morgen habe ich einfach mal den Blog auf zwei Server verteilt. Mit zwei Macken:
... denn Serendipity arbeitet (zumindest in der Adminoberfläche) mit Sessions, die leider jedoch immer nur auf einem Server existent sind. So kam es gerade eben vor, dass ein Blogpost auf der einen Maschine verfasst wurde, jedoch an die andere (ohne Session) zum Abspeichern geschickt wurde. Das konnte ja nicht gut gehen... Immerhin hats doch funktioniert (nach zweimaligem Einloggen) aber jeder andere sei davor gewarnt! Und es gibt noch eine gute Nachricht: Bellaxa hat sein Netz wieder hinbekommen! Sonntag, 26. März 2006Jabber-NothilfeHeute mittag musste mir auffallen, dass es wohl meinen Jabber-Server verrissen hat. Zu dumm nur, dass ich gerade auf der Autobahn unterwegs war... Das Problem ist, sollte einmal ein Session-Manager oder eine Client-to-Server-Instanz abschmieren, wird die automatisch neu gestartet (zumindest wird es versucht). Stürzt eine andere Komponente ab, passiert dies nicht und je nachdem wird der gesamte Server in mitleidenschaft gezogen. Dieser Zustand ist eigentlich unhaltbar und steht bereits auf der ToDo für heute Abend - eigentlich auch keine große Sache diesen Check in das bereits existierende System miteinzubeziehen. Jedenfalls fuhr ich so auf der Autobahn und merkte, dass dort etwas nicht stimmt. Drum blieb mir nichts anderes übrig als meinen Laptop auszupacken, ins Internet zu stürmen und den Jabber-Server wieder hochzufahren... Schade nur, dass ich mich dabei dann nicht mehr auf das Fahren konzentrieren konnte und mir der Fahrstil meines Vaters so zusetzte, dass mir nun Speiübel ist. Immerhin läuft der Server wieder Freitag, 24. März 2006Dummes UpdateMoah... Heute schon während der Fortbildung schwebte mir böses vor und ich fragte mich, wie deppert ich eigentlich bin... Gestern habe ich dem Kontakt-Formular auf meiner Webseite ein kleineres Update verpasst. Die Änderungen liefen nur im Backend, jedoch waren sie für mich schon recht wichtig. Irgendwie muss ich mich mehr auf die Änderungen konzentriert haben, als das, was schon war, denn so musste ich heute feststellen, dass in dem Update ein Feature (ausversehen) rausgeflogen ist: Die E-Mail-Adresse des Fragenstellers!
Mal schaun, wie ich jetzt an diese E-Mail-Adresse komme.... :hmm: Sonntag, 19. März 2006Update optimiertIch war es leid! Das System, was meine Server steuert, ist mittlerweile als .bz2 mittlerweile mehr als 500 KB groß - das immer auf alle Server zu spiegeln macht über eine Leitung, die in das Internet ca. 386 KBit/s (genau Zahl weiß ich gerade nicht, drum rate ich) schafft auf Dauer nicht wirklich Spass - gerade wenn es nur kleinere Veränderungen sind. Als ich dann gestern am Jabber-Support gewerkelt habe ist mir endgültig der Kragen geplatzt und ich habe den Bash-Skript, der das System immer synchronisiert ein wenig erweitert: Es überprüft nun vor dem Update welche Teile des Systems neu hochgeladen werden müssen und lädt auch nur diese Teile hoch. Seitdem funktionierts eigentlich schon wieder recht fix. So hat sich die Arbeit von gestern heute schon gelohnt und es macht wieder mehr Spass!
« vorherige Seite
(Seite 23 von 30, insgesamt 443 Einträge)
» nächste Seite
|
SucheRead this blog!KategorienBlog abonnierenNotice this! |
Kommentare