Chive: Web-2.0-Frontend zum Verwalten von SQL-Datenbanken

Wachablösung

Generationen von Wordpress-Admins nutzen PHPMyadmin oder SQL Buddy, um mit ihrer Datenbank zu kommunizieren. Der Neuling Chive hat das Zeug, die betagten Klassiker mit einem modernen Ajax-Interface und beachtlichem Funktionsumfang aufs Altenteil zu schicken.
Mit E-Mail-Diensten muss sich jeder Administrator früher oder später einmal beschäftigen. Das zur CeBIT erscheinende ADMIN 02/2012 gibt dazu Praxis-Tipps und ... (mehr)

Auch echte Datenbank-Administratoren, denen der Umgang mit dem MySQL-Kommandomodus nicht fremd ist, dürften sich über eine moderne Web-2.0-Umgebung zum Entwickeln und Verwalten von SQL-Statements und Datenbanken freuen. Eine dankbarere Zielgruppe sind aber gerade jene Admins von CMS-, CRM und Groupware-Systemen, deren SQL-Kenntnisse sich auf das Nötigste beschränken. In der Tat kümmern sich die meisten Web-Anwendungen, was ihr MySQL-Fundament angeht, in der Regel selbst um das Anlegen der benötigten Tabellen. Das Anlegen der initialen Datenbank sowie das Einrichten von Benutzern ist aber häufig Aufgabe des Administrators einer Webanwendung, und wer schon mal seine komplette Web-Anwendung via SQL-Dump gesichert oder migriert hat, wird ein Tool wie Chive für die tägliche Arbeit zu schätzen wissen.

Features

Zwar hat sich der Klassiker PHPMyadmin in dieser Hinsicht über Jahre bewährt, und auch SQL Buddy hat zahlreiche Anhänger, das moderne Chive [1] kann aber neben dem zeitgemäßen Ajax-Interface mit einigen weiteren Besonderheiten aufwarten, etwa einem SQL-Editor mit Syntax-Hervorhebung. Außerdem ist Chive in der Lage, Code für ein erneutes Verwenden als Lesezeichen zu speichern und es kann eigene Trigger, Statements und Views erstellen.

Im Übrigen ist Chive auch sicherer als PHPMyadmin, das immer wieder durch Sicherheitslücken von sich reden macht [2]. So erlaubt Chive beispielsweise die direkte Authentifikation gegenüber der Datenbank. Daher ist es allerdings obligatorisch, den Zugang zu Chive im Webserver per SSL/HTTPS abzusichern.

Nicht alle Features waren von Anfang an vorhanden, aber seit der Version 1.0 vom Dezember letzten Jahres braucht sich Chive in Sachen Funktionsumfang nicht mehr vor den Konkurrenten zu verstecken. Einen Feature-Vergleich mit PHPMyadmin und SQL Buddy gibt Tabelle 1.

Leicht installiert

Chive ist unter der GPLv3 lizensierte freie Software und wird seit September 2009 von der Vorarlberger Webagentur Fusonic [4] mithilfe des PHP-Frameworks Yii [5] entwickelt. Allerdings setzt Chive zwingend PHP 5.1.0 (oder neuer) mit den Erweiterungen »php_pdo« und »php_pdo_mysql« (siehe Kasten "PDO gesucht") sowie MySQL 5 voraus. Wir haben die aktuelle Version vom Januar diesen Jahres installiert, die unter [6] zum Download zur Verfügung steht. Zur Inbetriebnahme genügt es, das Archiv zu entpacken und den Ordner Chive ins Documentroot des Webservers zu kopieren. Bei einem aktuellen Debian- oder Ubuntu-System mit Apache2 samt Vhost-Konfiguration ist das zum Beispiel »/var/www/vhosts/VirtuellerHost/httpdocs« . Beim Installieren von Chive via SSH auf einem entfernten Server übernimmt das Herunterladen und Entpacken allerdings der Aufruf

wget -O - http://www.chive-project.com/Download/Redirect|tar -xzp

PDO gesucht

Auf älteren Betriebssystemen macht eine Anforderung, die Chive stellt, möglicherweise Schwierigkeiten: Es setzt PHP Data Objects(PDO) voraus. Zwar sollte diese Voraussetzung bei einer lokalen Installation auf Basis einer zeitgemäßen Distribution mit mindestens PHP 5.1 erfüllt sein, bei Web-Hostern kann es aber durchaus noch sein, dass man auf eine ältere Version trifft.

Die PHP-Erweiterung PDO ist eine Schnittstelle zum einfachen und konsistenten Datenbank-Zugriff. PHP-Entwickler benutzen damit unabhängig von der konkreten Datenbank immer dieselben Funktionen, um etwa Daten zu lesen oder Abfragen zu erstellen. Zusätzlich ist noch ein datenbankspezifischer PDO-Treiber nötig. Ab PHP 5.1 ist ein Treiber, beispielsweise für MySQL, schon integriert, bei älteren Versionen muss man selbst zum Compiler greifen. Für PHP 5.0 ist PDO als PECL-Erweiterung verfügbar. Da PDO die neuen OO-Features im Kern von PHP 5 benötigt, funktioniert PDP auf keinen Fall mit PHP-Versionen kleiner 5.0. PDPO ist allerdings wie erwähnt in PHP 5.1 bereits enthalten und wird daher beim Ausführen von »configure« automatisch aktiviert.

./configure --with-zlib -enable-pdo=shared

Wer PHP 5.1 also manuell installiert, sollte PDO als Shared Module kompilieren, weil es dann möglich ist, die durch PECL zur Verfügung gestellten Updates via »pear upgrade pdo« zu nutzen, ohne PHP komplett neu kompilieren zu müssen. Dabei ist zu beachten, dass dann allerdings auch die datenbankspezifischen Treiber zu aktualisieren sind. Bei der Gelegenheit empfiehlt es sich auch, die zlib-Unterstützung (für den PEAR-Installer) zu aktivieren. Außerdem muss der Admin den spezifischen PDO-Treiber für die gewünschte Datenbank aktivieren, worüber die Dokumentation zur PDO-Extension unter [8] Auskunft gibt. Damit die PDO-Erweiterung automatisch geladen wird, muss der Admin anschließend die Datei »php.ini« bearbeiten und dort den datenbankspezifischen Treiber aktivieren, und zwar nachdem mit der Zeile

extension=pdo.so

die Extension geladen ist.

Das Kommando lädt stets die aktuelle Chive-Version herunter und entpackt sie im Unterverzeichnis »chive« im Home-Verzeichnis des aktuellen Nutzers. Dann genügt es, das Verzeichnis »chive« in das Documentroot des Webservers zu kopieren. Wer automatisch von künftigen Updates profitieren möchte, kann Chive seit der Version 1.0 auch via PPA von Launchpad installieren [7].

Anschließend steht einem ersten Login unter »http://DB-Server/chive« nichts mehr im Weg. Da sich der Nutzer bei Chive direkt bei der gewünschten Datenbank oder als MySQL-Admin anmelden kann, wird kein separates Login benötigt, und das ansprechende Ajax-Interface steht im Gegensatz zu PHPMyadmin ohne langwierige Installation unmittelbar zur Verfügung (Abbildung 1). Sind die genannten Voraussetzungen erfüllt (PHP 5.1 mit PDO-Extension), funktioniert das problemlos.

Abbildung 1: Das Webinterface wirkt modern und reagiert dank Ajax schnell.

Die Startseite zeigt zwei Info-Fenster mit Serverinformationen und Projektneuheiten sowie links den Schemata-Bereich mit den vorhandenen Datenbanken, sie verwendet keine Frames. Klickt der Admin auf eine der vorhandenen Datenbanken, landet er in der Tabellen-Ansicht (Abbildung 2).

Abbildung 2: Im Navigationsbereich lässt sich die gewählte Datenbank zur Tabellenansicht auffalten.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019