Debian 8 „Jessie“

Ich war bisher immer derjenige, der alle Server so konfiguriert hat, dass sich alles automatisch aktualisiert hat.

Dieser Blog, zum Beispiel, wird von einem Server ausgeliefert, der sich automatisch aktualisiert und einer Software (WordPress), die sich auch automatisch aktualisiert.

Gestern habe ich allerdings einen meiner aktuell 4 (minus einem, der gerade nicht läuft) Webserver von Debian 7 „Wheezy“ auf Debian 8 „Jessie“ aktualisiert. Dabei lief einiges schief. Das lag nicht am eigentlichen Upgrade, sondern an meinen Anpassungen, die anscheinend nicht mehr aktuelle Befehle / Module / Pakete verwenden.

Als Resultat ist der Webserver derzeit nicht erreichbar. (Das macht aber nichts aus, da der einzige Dienst, der darauf lief (eine Suche) nicht sehr beliebt war …)

In Zukunft werde ich wohl vorsichtiger sein und alle meine Anpassungen auf die neuen Standards überprüfen …

Es war einmal ein Mailserver …

… ich habe nach einem guten Jahr, vor ein paar Tagen den nächsten Versuch gestartet, einen Mailserver zu installieren. Da ich geduldig war und ein Installationsskript gefunden habe, hat das auch geklappt. Dennoch werde ich meinen Mailserver heute wieder dichtmachen und stattdessen einen weiteren Webserver in Betrieb nehmen.

Der Grund dafür ist ganz einfach.

Der Mailserver hat einfach zu viel RAM gebraucht und da es sowieso Dienste gibt, die es erlauben, für ihre Postboxen eigene Domains zu verwenden und dann auch noch werbefrei sind, sehe ich kaum einen Grund, warum ich meinen eigenen Mailserver betreiben sollte. Gut, ich könnte Besuchen anbieten, eine Mailadresse bei mir zu erstellen, aber gibt es nicht schon genug Dienste, bei der man eine eigene E-Mail-Adresse erstellen kann? Und dann käme ja auch noch das Sicherheitsrisiko hinzu, außerdem hätte mein kleiner Mailserver bei vielen Nutzern und viel Mailempfang bestimmt Probleme mit der Performance und würde schnell zusammenbrechen und ich hätte keine Einnahmen erzielt, denn wer zahlt denn bitte heute noch für eine Mailadresse?

Vielleicht starte ich noch einmal einen Mailserver, allerdings vermutlich erst, wenn ich mit meinen anderen Projekten mal genug verdiene und etwas Neues ausprobieren möchte.

Deinstallieren von MySQL unter Debian

MySQL zu entfernen ist unter Debian nicht ganz einfach, da MySQL viele Pakete installiert und das Entfernen von mysql-server oft nicht ausreicht.

Die folgenden Befehle deinstallieren MySQL vollständig;

  1. dpkg --get-selections | grep mysql
  2. aptitude purge Namen-der-angezeigten-Pakete

Automatische Updates bei WordPress & Debian

Automatische Updates in Debian:

Wer in Debian automatisch updaten möchte, muss einfach nur den folgenden Befehl ausführen:

su -c "echo -e \"#! /bin/sh\napt-get update && apt-get upgrade -y\" >> /etc/cron.daily/update && chmod a+x /etc/cron.daily/update"

Alternativ geht auch:

nano /etc/cron.daily/update

Und dann:

#! /bin/sh
apt-get update && apt-get upgrade -y

Automatische Updates in WordPress:

In WordPress möchte ich auch automatisch updaten lassen, dazu habe ich heute etwas eingerichtet, von dem ich aber noch nicht weiß, ob es geht, weshalb ich das hier nicht veröffentlichen möchte.

Ich weise allerdings auf diese offizielle WordPress – Seite hin: http://codex.wordpress.org/Configuring_Automatic_Background_Updates

Ich bin jetzt ein Debian-Nutzer …

Neben Ubuntu auf meinen neuen Laptop habe ich jetzt auch noch Debian mit GNOME auf meinen alten Laptop installiert.

Nach dem Einstecken eines USB-Sticks mit dem Treiber für die Netzwerkkarte und dem Installieren des „linux-firmware-nonfree“ – Paketes, ging alles reibungslos …

Der erste Eindruck ist gut: Mein Rechner verbraucht nur zwischen 200 – 300 MB RAM, was im Vergleich zu Ubuntu sehr wenig ist und das Design sieht auch nicht schlecht aus.

RaspPi: Einrichtung mit Lighttpd, PHP5, vsftpd, SQLite3 und PHPLiteAdmin

Zuerst installieren wir alle benötigten bzw. nützlichen Pakete:

sudo apt-get install lighttpd php5 php5-curl php5-cgi php5-common php-pear php5-sqlite php5-dev sqlite3 vsftpd

Während diese installiert werden, können wir schon mal von https://code.google.com/p/phpliteadmin/ das Programm „PHPLiteAdmin“ herunterladen. Mit diesem kann man Datenbanken erstellen und verwalten.

Jetzt beginnen wir mit der Konfiguration:

sudo nano /etc/lighttpd/lighttpd.conf

Anpassen:

server.modules = (
#…
„mod_fastcgi“,
#…
)

# At the end of the file
fastcgi.server = (
„.php“ => ((
„bin-path“ => „/usr/bin/php5-cgi“,
„socket“ => „/tmp/php.socket“
))
)

sudo nano /etc/php5/cgi/php.ini

Suchen und anpassen:

cgi.fix_pathinfo = 1 date.timezone = Europe/Berlin

sudo /etc/init.d/lighttpd restart

Wer jetzt in der Adressleiste „raspberrypi“ eintippt, sollte etwas sehen …

sudo chown -R www-data:www-data /var/www

sudo addgroup pi www-data

sudo nano /etc/vsftpd.conf

Setzen und auskommentieren:

anonymous_enable=NO

local_enable=YES

write_enable=YES

sudo service vsftpd restart

sudo chmod 755 /var/www

sudo chown -hR pi /var/www

sudo mkdir /var/www/admin

Per FTP-Client die PHPLiteAdmin in das Verzeichnis /var/www/admin hochladen

cd /var/www/admin

sudo cp phpliteadmin.config.sample.php phpliteadmin.config.php

sudo nano phpliteadmin.config.php

Unter $password = das Passwort setzen

cd ..

sudo chmod 755 admin

In FileZilla dem Verzeichnis und den Dateien darin /var/www/admin alle Rechte geben, dann kann http://raspberrypi/admin/phpliteadmin.php aufgerufen werden.

Ich bin übrigens begeistert, da mein RaspberryPi viel weniger verbraucht als meine beiden Webserver mit Apache und MySQL

RaspPi: Download und Einrichtung

Bevor man überhaupt mit der Installation beginnen kann, sollte man das aktuelle Raspbian von raspberrypi.org herunterladen und speichern.

Danach sollte man die SD-Karte, auf der das Betriebssystem des Raspberry laufen soll, in den Computer einstecken. Da ich aber keinen Kartenleser an meinem Computer habe, stecke ich die SD-Karte in meine Camcorder (meine Digitalkamera gab mir nicht die nötigen Zugriffsrechte) und schließe diese an meinen Laptop an.

Nachdem wir Raspbian heruntergeladen haben, klicken wir unter Ubuntu einfach Rechts auf die Datei, wählen „Mit Schreiber von Laufwerksabbildern öffnen“ aus und schreiben das Image auf die SD-Karte.

Jetzt stecken wir die SD-Karte in den dafür vorgesehenen Schlitz, schließen eine Tastatur mit USB-Anschluss und ein HDMI-Kabel an. Nachdem wir das Kabel an den Fernseher geschlossen haben, schließen wir noch ein Handy-Netzteil an und schon startet unser Raspberry Pi.

Ok, jetzt starten wir zuerst den ersten Punkt im Installations-Menü vom Raspberry, der dafür sorgt, das auch der ganze Speicherplatz des Raspberry genutzt wird. Danach ändern wir mit Punkt Nr. 2 unser Passwort und lassen Punkt 3 aus, da wir als Programmierer keine grafische Oberfläche brauchen.

Unter Punkt Nr. 4 ist einiges zu beachten:

  • Mit der Leertaste werden Einträge gekennzeichnet.
  • Der Pfeil nach rechts (auf der Tastatur) sorgt für die Auswahl des Punktes „Ok“, der links ist.
  • UTF-8 ist zu empfehlen
  • Keyboard > Das Ausgewählte bestätigen > Other > German > German (eliminate …) > The default … > No compose key > No

Ab jetzt ist nur noch Punkt 8 wichtig. Dort wählen wir unter SSH „enabled“ aus.

Anschließend: Finish. Nach einem Reboot geben wir nachdem wir uns mit dem Usernamen „pi“ und unserem Passwort eingeloggt haben, „sudo halt“ ein und schließen das Raspberry mit einem Handy-Netzteil und LAN-Kabel am Router an.

So. Nun Verbinden wir uns über PAC (Ein Ubuntu-Programm, dass man nicht im Software-Center findet) mit dem Raspberry Pi. Das geht ganz einfach: Host ist „raspberrypi“, Port ist „22“, User ist „pi“ und Passwort ist euer jeweiliges Passwort.

Mit den folgenden Befehlen aktualisieren wir auf die neueste Software:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

Um die Basis für folgende Tätigkeiten zu sichern, installieren wir noch Htop, was ein Programm ist, das uns anzeigt, wie viel RAM und CPU gerade genutzt wird, sowie alle Prozesse auflistet.

sudo apt-get install htop

Jetzt sind wir mit der Grundeinrichtung fertig. Als nächstes schreibe ich einen Artikel über die Einrichtung des Raspberry mit Lighttpd, PHP5, vsftpd, SQLite3 und PHPLiteAdmin.

sudo chmod 777 -R /

Wer diesen Befehl benutzt, macht sein ganzes System kaputt.

Das musste ich heute feststellen.

(Eigentlich wollte ich nur die Rechte des aktuellen Verzeichnisses ändern – aber da hätte ich statt / das hier setzten sollen: . )

Ich werde das als Anlass nehmen und jetzt von dem Download eines Raspbian-Images bis zur Installation von vsftpd alles hier dokumentieren.

Automatische Backups & Aktualisierungen

Ich habe heute (hier) etwas über Cron Jobs gelernt und es gleich so eingestellt, dass jetzt jeden Sonntag ein Backup meiner Daten und jeden morgen ein Backup meiner Datenbanken meines ersten Server gemacht wird.

Warum ich es ausgerechnet auf dem ersten Server eingerichtet habe, liegt daran, dass ich zurzeit nur manuell Backups meiner Dateien mache und ich so einfach nur das Backup-Verzeichnis kopieren muss, um die Backups als gepackte Dateien zu sichern. Mein zweiter Server wird von meinem Hoster täglich abgesichert.

Cron Jobs kann man auch dazu nutzen, um Server-Pakete zu aktualisieren. Bei dieser WordPress Installation geht das aber nicht, da ich immer ein paar Dateien anpassen muss und so nur manuelle Aktualisierungen möglich sind. So etwas ist heute passiert: Ein Design wurde aktualisiert und die ganze WordPress Version wurde auf die Neueste aktualisiert.

Morgen werde ich dann sehen, ob ein Backup meiner Datenbanken angelegt wurde.

Ubuntu 14.04

Ich habe gerade auf Ubuntu 14.04 „Trusty Tahr“ aktualisiert. Es hat ewig gedauert und man merkt kaum einen Unterschied. Deshalb werde ich wohl demnächst Debian ausprobieren. Debian verbraucht nicht so viel Speicherplatz, ist sicher und hat alles, was man braucht. Mein Web- / Mailserver benützt schon Debian.