Schlagwort-Archive: server

MySQL root-Passwort vergessen?

Passend zum heißesten Tag des Jahres, gibt es einen Kurztipp für eine Situation, in der es einem auch ganz schön warm werden kann.

MySQL Passwort vergessen

Mal gesetzt den Fall, man vergißt oder verbummelt sein MySQL root-Passwort. Passiert euch nicht? Ok, dann sagen wir einfach, $haustier hats gefressen ;). Was dann? Ganz einfach, Terminal auf, und los gehts:

  1. sudo /etc/init.d/mysql stop # Stoppen des MySQL-Server-Prozesses
  2.  
  3. sudo mysqld_safe --skip-grant-tables # MySQL-Server ohne Zugangsdatentabelle starten
  4.  
  5. # In einem neuen Terminal dann
  6. mysql --user=root mysql # Als root am MySQL-Server anmelden
  7.  
  8. update user set Password=PASSWORD('hier-neues-passwort-hin') where user='root'; # neues Passwort setzen
  9.  
  10. flush privileges; # neuladen der Benutzertabellen
  11.  
  12. exit; # MySQL Kommandozeile verlassen

Dann zurück ins alte Terminal und den MySQL-Prozeß stoppen und anschließend den Server inklusive Benutzertabellen neu starten

  1. sudo /etc/init.d/mysql start

Anschließend das neue Passwort nicht wieder vergessen und fertig...fast zu einfach, oder?

Was steht bei euch heute an? Schwitzen am Schreibtisch? Oder twittern aus dem Freibad? Ich "wähle" Tor 1 :/

Lighttpd mit vHosts unter Ubuntu Hardy

Seit einiger Zeit tendiere ich dazu Lighttpd dem guten alten Apachen vorzuziehen. Hauptgrund dafür ist aber weniger die immer wieder hervorgehobene bessere Performance (nicht umsonst setzen z.B. YouTube und MySpace auf den Ultraleichtflieger), sondern das mir die Konfiguration einfach etwas unkomplizierter erscheint als beim, vielleicht etwas mächtigeren, aber dafür auch unübersichtlicheren Apachen. Eigentlich auch egal, denn jeder sollte ja selbst entscheiden wem er den Vorzug gibt.

Eingerichtet wird Lighty hier mit PHP 5 und dem Modul 'simple_vhost', mit dem sehr einfach mehrere virtuelle Hosts angelegt werden können.

Wenn wir fertig sind, werden die Seiten unter folgender Ordner-/Dateistruktur organisiert sein:

/var/www/servers - quasi das Hauptverzeichnis des Webservers, hierin werden die virtuellen Hosts angelegt

/var/www/servers/example.com - Ein Beispiel für einen virtuellen Host

/var/www/servers/example.com/htdocs - Hier landen die Dateien, die beim Aufruf von "http://example.com" angezeigt werden sollen

/var/www/servers/example.com/logs - Hier werden die Logdateien gesammelt

/var/www/servers/example.com/server.conf - In dieser Datei wird die Konfiguration für den Host vorgenommen

So, aber nun direkt rein ins Getümmel und die Installation starten:

Installieren

  1. sudo apt-get install lighttpd php5-cgi

Module aktivieren

Danach werden die oben angesprochenen Module aktiviert ('fastcgi' wird für die Anbindung an PHP benötigt):

  1. sudo lighty-enable-mod fastcgi
  2. sudo lighty-enable-mod simple-vhost

Nach einem 'sudo /etc/init.d/lighttpd force-reload' sollte der der Webserver bereits unter http://localhost erreichbar sein.

Lighttpd Testseite

Konfiguration von mod_simple_vhost

Ausgegangen von der oben erklärten Ordnerstruktur müssen die drei Optionen des 'mod_simple_vost' in der Datei '/etc/lighttpd/conf-available/10-simple-vhost.conf' folgendermaßen konfiguriert werden:

  1. simple-vhost.server-root = "/var/www/servers/"
  2. simple-vhost.document-root = "/htdocs/"
  3. simple-vhost.default-host = "example.com"

Anstatt 'example.com' muss dort natürlich eure Standarddomain stehen!

Danach sollten die angelegten vHosts unter der jeweiligen Domain erreichbar sein.  Dazu ein kleines Beispiel:

Wenn im Browser die Adresse 'http://zeroathome.de/dingsbums.html' aufgerufen werden würde, würde das zur Anzeige der Datei '/var/www/servers/zeroathome.de/htdocs/dingsbums.html' führen.

Nach einem '/etc/init.d/lighttpd force-reload' können neue vHosts unterhalb von '/var/www/servers/' angelegt werden.

Konfiguration der einzelnen vHosts

Problem bei dieser Variante der vHost-Konfiguration ist, dass die Konfiguration der einzelnen Hosts nicht so einfach ist. Doch Opensource wäre nicht was es ist, wenn es nicht auch dafür eine relativ einfache Lösung gäbe. (Die Grundversion stammt übrigens von hier, wurde von mir nur leicht angepasst: http://redmine.lighttpd.net/projects/lighttpd/wiki/HowToSupportConfigurationPerVirtualHost)

Dazu wird die folgende Zeile in die Datei '/etc/lighttpd/conf-available/10-simple-vhost.conf' eingefügt, die dazu führt das ein kleines Skript ausgeführt wird:

  1. include_shell "/var/www/servers/config_servers"

Anschließend wird die Datei '/var/www/servers/config_servers' angelegt und mit diesem Inhalt befüllt:

  1. #!/bin/bash
  2.  
  3. for VHOST in `find /var/www/servers/ -mindepth 1 -maxdepth 1 \( -type d -or -type l \) -exec test -e "{}/server.conf" \; -exec basename "{}" \; 2>/dev/null` ; do {
  4. echo "\$HTTP[\"host\"] == \"$VHOST\" {"
  5. echo "var.vhost_name = \"$VHOST\""
  6. echo "var.vhost_path = \"/var/www/servers/$VHOST\""
  7. cat "/var/www/servers/$VHOST/server.conf"
  8. echo "server.errorlog = \"/var/www/servers/$VHOST/logs/error.log\"",
  9. echo "accesslog.filename = \"/var/www/servers/$VHOST/logs/access.log\""
  10. echo "}"
  11. } ; done

Zu guter Letzt wird die Datei noch ausführbar gemacht:

  1. sudo chown www-data:www-data /var/www/servers/config_servers
  2. sudo chmod u+x /var/www/servers/config_servers

Dann natürlich noch ein '/etc/init.d/lighttpd force-reload' und die neue Konfiguration ist übernommen.

Die Konfigurationsdatei muss dann, wie oben bereits erwähnt unter '/var/www/servers/example.com/server.conf' liegen um berücksichtigt zu werden. Nachdem eine neue Konfigurationsdatei hinzugefügt wurde oder eine vorhandene geändert wurde, muss immer ein '/etc/init.d/lighttpd force-reload' erfolgen, sonst ist die Konfiguration nicht wirksam!

Fertig!

So, das wars bereits. Ein Grundkonfigurierter Lighty fertig für die Arbeit als lokaler oder Internet-Webserver. Wenn gewünscht gibts demnächst noch einige Erweiterungen, wie zum Beispiel SSL oder WebDAV.

Alle Angaben natürlich wie immer ohne Gewähr und alles auf eigene Gefahr und so!

Netzbetankung – iTunes (DAAP) Server unter Linux

air-fuel

Heute mal etwas kurzes für zwischendurch. iTunes ist sicher so gut wie allen ein Begriff, und einige haben mit Sicherheit auch schon von dessen Fähigkeit gehört haben, die iTunes Musikbibliothek im Netzwerk bereitzustellen. Die Standard-Audio-Player unter Ubuntu (Rhythmbox) und Kubuntu (Amarok) sind in der Lage auf diese sogenannten DAAP-Shares zuzugreifen und so Musikstücke aus der entfernten Bibliothek abzuspielen.

Nun ist es so das iTunes zwar für den Mac und für Windows erhältlich ist, nicht aber für Linux. Allerdings wurde das DAAP-Protokoll durch Reverse Engineering nachempfunden und auf Linux portiert. Die daraus entstandene Software hört auf den Namen mt-daapd, oder etwas eingänglicher und vielleicht ein wenig bekannter: Firefly-Media-Server.

Doch nun zur Tat:

Das für den Betrieb nötige Avahi ist in den neueren Ubuntu-Versionen (>6.10) bereits vorinstalliert und aktiviert. Daher muss nur noch der eigentliche Server installiert werden:

sudo apt-get install mt-daapd

Anschließend ist noch ein wenig Konfiguration von Nöten, wobei ich mich hier auf das wichtigste beschränken werde:

sudo vim /etc/mt-daapd.conf

Darin müssen folgende Zeilen angepasst werden:

admin_pw = passwort - hier ist das Passwort für das Webinterface anzupassen.
mp3_dir = /pfad/zur/musik - Hier muss das Verzeichnis das die Musik beinhaltet angegeben werden.

Optional können noch
servername = Name des Servers
und
password = passwort
angepasst werden.
Zu guter Letzt sollte man noch darauf achten das das Musik-Verzeichnis vom Benutzer mt-daapd gelesen werden kann:

sudo chmod -R a+r /pfad/zur/musik - Damit kann jeder auf dem System vorhandene Benutzer lesend auf die Musik zugreifen
Anschließend startet man den Dienst neu: sudo /etc/init.d/mt-daapd restart und checkt ob das Web-Interface unter "http://serverip:3689" verfügbar ist. Das sollte dann so aussehen:

mt-daapd Web-Interface

Hier kann dann mit der Schaltfläche "Start Full Scan" das Musikverzeichnis eingelesen werden. Sollte anschließend unter Songs weiterhin eine "0" stehen, stimmt etwas mit den Leserechten des Musikverzeichnisses nicht!

Damit ist der Server eingerichtet und sollte in Mediaplayern wie iTunes, Amarok, Rhythmbox (Plugin muss aktiviert werden) verfügbar sein. Viel Spass beim Musikgenuss!

Bild: flickr

3 phpMyAdmin Alternativen

phpMyAdmin ist, wenn es um die einfache und vor allem plattformübergreifende Administration von SQL-Datenbanken geht, kaum noch wegzudenken. Einzig die Komplexität macht die Bedienung teilweise zu einem ziemlichen Such-und-Find-Spielchen.

Doch es gibt Alternativen, die teilweise durch ihre Einfachheit, oder durch ihre durchdachte Oberfläche, überzeugen können. Hier ein kleiner Vergleich der drei Kandidaten phpMiniAdmin, phpMinAdmin und SQL Buddy.

phpMiniAdmin

Login Maske von phpMiniAdmin Bedienungoberfläche phpMiniAdmin

Installation

Als spartanischste der drei Alternativen kommt phpMiniAdmin in Form einer einzigen 22kb schweren php-Datei daher. Sieht man dagegen das phpMyAdmin-Paket mit knappen 1,5MB in der kleinsten Paketierung ist das schonmal bemerkenswert. Diese Datei legt man an einen per Webserver erreichbaren Platz und ruft sie im Browser auf.

Konfiguration

Konfiguration in diesem Sinne gibt es keine, man meldet sich einfach nach Aufruf des Skriptes mit einem in MySQL vorhandenen Benutzer an und wählt eine Tabelle aus, die man bearbeiten kann. Einfacher gehts definitiv nicht.

Bedienung

Die Leichtgewichtigkeit macht sich leider auch in der Bedienung bemerkbar. Aber eher negativ, denn es fehlen doch so einige Funktionen, die man eventuell vermissen könnte. Zum Beispiel eine Funktion zum Anlegen neuer Datenbanken oder Tabellen. Es sind nur Basisfunktionen wie Anzeige des Tabellenlayouts, das Löschen, Optimieren, Reparieren, Exportieren und Importieren vorhanden. Alles weitere muss über von Hand geschriebene SQL-Queries in einem Textfeld ausgeführt werden.

Fazit

Um eine Alternative zu sein, ist phpMiniAdmin meiner Meinung nach ein wenig zu spartanisch geraten. Denn wenn ich eh fast alle Aktionen per SQL-Query ausführen muss, dann kann ich das auch auf der Konsole erledigen und kann mir auch den wirklich winzigen 22kb sparen.

phpMinAdmin

Installation

Auch hier ist es wieder mit dem Download einer einzelnen php-Datei getan, die aber mit ~150kb immerhin 6x so groß ist wie die von phpMiniAdmin. Auch diese läßt sich nach dem Platzieren an einen für den Webserver erreichbaren Ort einfach im Browser aufrufen.

Konfiguration

Auch hier ist die Konfiguration mehr als einfach: Host eingeben auf dem MySQL installiert ist, Benutzername und Passwort darunter und schon ist man drin.

Bedienung

phpMinAdmin kommt schon wesentlich Featurereicher daher und bietet im Prinzip alles was phpMyAdmin auch kann, aber alles ein wenig aufgeräumter. Und rein subjektiv betrachtet auch eine Ecke schneller. Funktionen die in phpMiniAdmin fehlen sind hier ebenso selbstverständlich wie die Unterstützung von 10 unterschiedlichen Sprachen. Große Schwächen sind mir auf den ersten Blick nicht aufgefallen.

Fazit

Auf den ersten Blick ist phpMinAdmin eine wirklich gute und ausgereifte Alternative zum Schwergewicht phpMyAdmin. Die einfache Installation, Konfiguration und auch die Bedienung können überzeugen. Klare Empfehlung zum Testen!

SQL Buddy

Installation

Im Gegensatz zu den ersten beiden Kandidaten kommt SQL Buddy mit einer ausgewachsenen Ordner-Struktur daher, wiegt aber im Download auch nur schmale 250kb. Installation ist ähnlich einfach wie die der Vorgänger, einfach den im Paket enthaltenen Ordner an einen für den Webserver erreichbaren Ort legen und den Speicherort per URL im Browser aufrufen.

Konfiguration

Konfiguration gibt es auch hier keine große. Genau wie bei phpMinAdmin reicht die Eingabe von Hostname, Benutzenamen und Passwort.

Bedienung

Sofort fällt auf, das bei SQL Buddy nicht nur auf Funktion, sondern auch auf die Form geachtet wurde. Salopp gesagt ist es quasi das Web2.0 der php-MySQL-Administratoren. Die Ladezeiten sind erfreulich kurz und Funktionen lassen sich im Vergleich zu phpMyAdmin und phpMinAdmin keine vermissen. Die Leiste am oberen Bildrand zeigt unterschiedliche Funktionen, je nachdem in welcher Ansicht man sich gerade befindet. Alles in allem eine sehr flüssige und intuitive Bedienung die SQL Buddy da bietet.

Fazit

Klare Empfehlung auch hier, auf jeden Fall für alle die ein wenig Wert auf Eyecandy legen. Aber auch die Bedienung der AJAX-Oberfläche ist sehr gut und man fühlt sich fast wie in einer Desktop-Applikation. Funktionen habe ich, beim Schönling unter den Kandidaten, ähnlich wie bei phpMinAdmin auf den ersten Blick keine vermisst.

Größe Installation Konfiguration Bedienung Gesamt
phpMyAdmin 1,5-2,5 MB ++ - o o
phpMiniAdmin ~22KB +++ + - +
phpMinAdmin ~150KB +++ +++ +++ +++
SQL Buddy ~250KB ++ +++ +++ ++

Grafischer SSH-Manager für KDE – ksshmenu

Wer mehrere Linux-Server, oder andere Rechner mit SSH-Zugang unter seiner Fuchtel hat, der hat es gerade auch in letzter Zeit, nicht sehr einfach wenn es zum Beispiel ans Thema Sicherheitsupdates geht. Unter KDE heißt es dann immer

n * ( Konsole öffnen + 'ssh user@server' + passwort )

Unter Gnome gibt es bereits das Tool SSHMenu - unter KDE jetzt auch 🙂

Der Betreiber von burn a church hat sich den KDE-Usern dieser Welt erbarmt und ksshmenu zusammengeschraubt. Danke dafür!

Zur Zeit ist das ganze "nur" über eine XML-Datei konfigurierbar, leistet dann aber exzellente Dienste! Auf der Download-Seite steht ein Source Paket zum selbstkompilieren und ein .deb für Debian/sid zur Verfügung, welches aber auch unter Kubuntu Hardy installierbar ist (zumindest bei mir). Die Software ist unter GPLv2 veröffentlicht.

Download ksshmenu

Screenshot von 'burn a church'