Posts Tagged ‘server’

Blog Umzug auf vServer

13.01.2010

Nachdem das Blog auf dem Webspace hier, irgendwie tagtäglich langsamer zu werden scheint, wird Ende der Woche umgezogen.

In einer Testinstallation auf dem künftigen Heim des Blogs, einem (natürlich) unter Ubuntu laufenden vServer, wirkt das ganze schon ein wenig flüssiger. Größere Schwierigkeiten erwarte ich eigentlich keine, auch wenn die Umstellung von gehostetem Apachen auf Lighttpd auf dem vServer doch ein wenig "Arbeit" erforderte. Am Ende aber tatsächlich weniger als erwartet.

Das Blog liegt im Prinzip schon an seinem neuen Platz bereit und wartet nur noch auf seine Domain, sozusagen.

Falls wider Erwarten doch etwas negativ auffallen sollte (außer meinen Blogbeiträgen) wäre ich für eine kurze Meldung über einen der vielen Kommunikationskanäle (Kommentar, Kontaktformular, Mail, Jabber) sehr dankbar.

Und wo wir gerade so schön dabei sind, wünsche ich allen Lesern und Leserinnen (sofern vorhanden) ein erfolgreiches neues Jahr! Ich für meinen Teil werde auf jeden Fall versuchen, in nächster Zeit wieder vermehrt Artikel hier zu veröffentlichen, und vor allem den Server Guide fit für das nächste LTS-Release im April zu machen und eventuell ein wenig zu erweitern.

Netcup Hosting Gutscheine

11.09.2009

Falls ihr gerade einen neuen Hoster sucht, hätte ich ein paar 5€ Gutscheine für das Hostingangebot von Netcup.

Ich bin selbst seit einem Jahr Kunde bei Netcup und bisher sehr zufrieden. Ausserdem sollte ich noch erwähnen, dass ich pro benutztem Gutschein eine kleine Provision von Netcup kassiere. Ein kleiner Beitrag zur Finanzierung meines Hobbys :)

Um einen Gutschein zu bekommen, einfach per E-Mail oder Jabber bei mir melden, Adressen stehen unten.

E-Mail: zero@zeroathome.de | Jabber: zero@firefly-it.de

Fragen beantworte ich natürlich auch gerne, wenn ich kann :P

Neueste Transmission Version auf der NSLU2 unter Ubuntu 9.04

28.08.2009

Transmission LogoLanger Titel, aber sonst weiß ja wieder keiner worums geht ;)

Ich, stolzer Besitzer einer NSLU2 von Linksys, habe auf jener Ubuntu in der aktuellen stabilen Version installiert. Wenn man gerne aktuellere Software, als die in den offiziellen Repos vorhandene, benutzen will, findet man ja mittlerweile recht häufig ein feines PPA, das einem alles relativ einfach auf die Platte schaufelt.

Da aber in meisten PPAs keine Pakete für die ARM-Architektur, die die NSLU2 verwendet, vorhanden sind, fällt diese Möglichkeit weitestgehend flach.

Also, Handarbeit a la configure, make, make install...

Da ich die NSLU2 und den angeschlossenen Speicher dafür nutze meine ISO-Sammlung aktuell zu halten, darf natürlich ein BitTorrent-Client nicht fehlen. Da Web-Interfaces für rTorrent mich irgendwie nicht sonderlich ansprechen (besonders deren Installation), verwende ich Transmission. Die Vorteile liegen auf der Hand:

  • kann ohne X-Abhängigkeiten kompiliert werden
  • hat einen recht schmalen Footprint
  • hat ein nettes WebInterface
  • wird ständig weiterentwickelt

Problem ist, das die aktuelle Version 1.74 der in Ubuntu vorhandenen 1.51 doch deutlich vorraus ist.

Also mal los (alle folgenden Schritte geschehen auf der NSLU2-Konsole über SSH):

Zuerst die benötigten Abhängigkeiten installieren:

sudo apt-get install transmission-daemon build-essential libtool pkg-config libcurl4-openssl-dev intltool

Das wird ein paar Minuten dauern, denn den Spitznamen Slug (Schnecke) hat die kleine Kiste nicht zu unrecht. Warum ich Transmission zuerst über die Paketverwaltung einspiele hat den folgenden Grund: Dadurch werden zum Beispiel das relativ praktische Startskript unter /etc/init.d angelegt mit dem sich der Transmission-Daemon leicht starten und stoppen läßt. Vielleicht nicht die sauberste Methode, aber es spart einiges an Handarbeit.
Stoppen sollte man den Prozeß auch vor den folgenden Schritten:

sudo /etc/init.d/transmission-daemon stop

Anschließend besorge man sich die aktuelle stabile Version von Transmission von der Homepage und entpacke diese in ein geeignetes Verzeichnis:

mkdir build
cd build
tar -cvjf /pfad/zu/transmission-1.74.tar.bz2  # Der Pfad und die Versionsnummer sind entsprechend anzupasse

Wechsle in dieses und führe die altbekannte Kompilationstriade aus:

cd transmission-1.74
./configure
make
sudo make install

Das führt dazu, dass Transmission ohne X-Abhängigkeiten kompiliert wird, da schlicht kein GTK oder QT auf der NSLU2 installiert sind. Das 'make install' überschreibt anschließend die von der Paketverwaltung installierten alten Binaries und der Daemon kann mit

sudo /etc/init.d/transmission-daemon start

gestartet werden.
Die Konfiguration von Transmission dürft ihr allerdings selbst übernehmen. Dokumente dazu findet ihr in der folgenden Quelle:
Transmission Konfigurationsdatei editieren

Rein subjektiv finde ich die aktuellere Version, gerade auf dem WebInterface, ein wenig flotter, und, wenn ich mich nicht allzusehr täusche, ist die CPU-Auslastung während den Downloads ist auch ein wenig geringer.

Und nun viel Spaß und im Vorraus schonmal ein schönes Wochenende!

MySQL root-Passwort vergessen?

20.08.2009

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:

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

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

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

25.05.2009

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

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):

sudo lighty-enable-mod fastcgi
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:

simple-vhost.server-root         = "/var/www/servers/"
simple-vhost.document-root       = "/htdocs/"
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:

include_shell "/var/www/servers/config_servers"

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

#!/bin/bash
 
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 {
  echo "\$HTTP[\"host\"] == \"$VHOST\" {"
  echo "var.vhost_name = \"$VHOST\""
  echo "var.vhost_path = \"/var/www/servers/$VHOST\""
  cat "/var/www/servers/$VHOST/server.conf"
  echo "server.errorlog = \"/var/www/servers/$VHOST/logs/error.log\"",
  echo "accesslog.filename = \"/var/www/servers/$VHOST/logs/access.log\""
  echo "}"
} ; done

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

sudo chown www-data:www-data /var/www/servers/config_servers
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!