KategorieWork @ Home

Es geht wieder los …

Nach nun einer längeren Pause habe ich wieder Zeit gefunden, meinen Blog weiter zu führen. In nächster Zeit werde ich über einige Themen wie “Privacy beim Surfen”, Virtualisierung, Netzwerktechniken und verschiedene Linux Topics wieder bloggen.

Ein großes Thema meiner Abstinenzzeit war auch das Thema – Hausautomatisierung. Hier habe ich mich speziell mit HomeAssistant, verschiedenen Arduino’s auseinander gesetzt.

Es gibt also viel zu berichten.

tar auf einen remote Server per ssh

Wie kann man per tar direkt auf einen remote Server schreiben? Warum möchte man direkt per tar auf einen remote Server sichern? Diese Fragestellung tritt speziell dann auf, wenn man auf den zu sichernden Server nur wenig verbleibende Disk-Kapazität hat. Typischerweise sind das dann Datenbankserver, oder wie in meinem Fall Webserver, die eine OwnCloud Instanz hosten. Da auch im Web der Festplattenspeicher teuer ist, nutze ich mein NAS zu Hause zu die Daten zu sichern. Hier steht ja in gewissem Maße unbegrenzter Speicherplatz zur Verfügung.

Also gut, dann erzeugen wir ein Archiv und pipen die Ausgabe direkt per SSH auf den Remote Speicher um.

tar zcvf - /var/www/ | ssh -p 22 root@nas.tschoerner.eu "cat > /media/backup/WebServer.tar.gz"

Nun wird das erzeugte Archiv direkt auf den SSH Server umgeleitet.

Müsst Ihr nun ein Backup wieder herstellen, so könnt Ihr das auch, ohne das Archiv kopieren zu müssen:

cd /
ssh -p 22 root@nas.tschoerner.eu "cat /media/backup/WebServer.tar.gz" | tar zxvf -

 

[HowTo] WordPress auf Hiawantha hosten

Kürzlich habe ich meinen WebServer umgestellt und betreibe einen Hiawantha Server. Um WordPress zu betreiben, setze ich mal voraus, dass der Server installiert ist (vergleiche hier), und ihr eine Datenbank angelegt habt.

Nun müsst ihr in der Datei /etc/hiawantha/hiawantha.conf die Rewrite-Rule einfügen:

UrlToolkit {
    ToolkitID = wp-multi
    Match ^/index\.php$ Return
    Match ^/([_0-9a-zA-Z-]+/)?wp-admin$ Redirect /$1wp-admin/
    RequestURI exists Return
    Match ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) Rewrite /$2
    Match ^/([_0-9a-zA-Z-]+/)?(.*\.php)$ Rewrite /$2
    Match .* Rewrite /index.php?$1
}

Jetzt legt Ihr noch ein vHost in der gleichen Konfig an:

VirtualHost {
        Hostname = XXX.tschoerner.eu,*.XXX.tschoerner.eu
        WebsiteRoot = /var/www/XXX.tschoerner.eu/public
        AccessLogfile = /var/www/XXX.tschoerner.eu/log/access.log
        ErrorLogfile = /var/www/XXX.tschoerner.eu/log/error.log
        StartFile = index.php
        TimeForCGI = 60
        UseFastCGI = PHP7 # --> PHP Version
        CustomHeader = X-Frame-Options: sameorigin
        CustomHeader = Vary: Accept-Encoding
        RandomHeader = 64
        UseToolkit = wp-multi # --> This loads the Rewrite Rule
        EnforceFirstHostname = yes
        PreventXSS = yes
        PreventCSRF = yes
        PreventSQLi = yes
}

Nun noch folgende Verzeichnisse anlegen:

mkdir -p /var/www/XXX.tschoerner.eu/log/
mkdir -p /var/www/XXX.tschoerner.eu/public
chown -R www-data:www-data /var/www/XXX.tschoerner.eu

Jetzt WordPress herunterladen:

cd 
wget https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
cd wordpress
mv * ../
cd ..
rm -rf wordpress
rm -rf latest.tar.gz
chown -R www-data:www-data /var/www/XXX.tschoerner.eu

Jetzt Hiawantha einmal neustarten, damit unser vHost erkannt wird.

/etc/init.d/hiawatha restart

Nun kann WordPress installiert werden. Hierzu könnt Ihr einfach eure URL aufrufen, in meinem Fall ist es http://XXX.tschoerner.eu

Wenn ihr WordPress von einem anderen Server umgezogen habt, vergleicht auf den fix der Permalinks.

OpenMediaVault/Debian Wheezy Kernel 4.6 ready to download

Heute habe ich die Zeit genutzt und den 4.6er Kernel für Debian Wheezy, respektive für OpenMediaVault kompiliert.

Bei dieser Version sind die USB Module fest im Kernel, somit könnt Ihr ohne Probleme von einem USB-Stick booten. Zusätzlich habe ich die e1000 Module in den Kernel kompiliert.

Hier könnt Ihr die Kernel herunterladen.

Installieren könnt Ihr die Kernel wie immer mit:

dpkg -i linux*.deb

Viel Spaß damit ….

[VIDEO-HOWTO] Windows 10 auf einem T60 mit ATI X1400 Mobility Grafikkarte

Heute gibt es ein Video von mir. Ich möchte Euch zeigen, dass Ihr auch auf alter Hardware immer noch Windows 10 laufen lassen könnt.  Im speziellen geht es um ein Thinkpad T60, welches die ungeliebte Grafikkarte ATI X1400 verbaut hat.

Hier könnt Ihr den gepatchen Treiber herunter laden. Bei der Installation müsst Ihr allerdings die Treibersignatur deaktivieren.

 

Falls Ihr, wie auch ich, Probleme nach dem Booten mit einem Schwarzen Bildschirm habt, müsst Ihr den “Fast Startup” abschalten. Eine detaillierte an Anleitung gibt es hier.

Apache für LOW Memory VPS/Raspberry Pi optimieren

Apache und LOW Memory vertragen sich ja nicht so wirklich, deshalb eines Vorweg, man sollte wenn man nich unbedingt Apache braucht, auf Alternative wie nginx oder Lighttpd setzen. Ich betreibe eigentlich nur auf allen meinen kleineren Systemen (<2GB Ram) nur nginx und (<256MB Ram) lighttpd. Hier haben ich auch einen Link zu einer Low Memory LLMP Konfiguration.

Nichts desto trotz benötigt man manchmal unbedingt einen Indianer, und so kann man ihn auch auf einem Low Mem Server betreiben.

Also wie gesagt ist das größte Problem der Speicher den der Apache braucht. In der Konfigurationsdatei
/etc/apache2/apache2.conf kann man die Einstellungen tunen.

nano /etc/apache2/apache2.conf

In der Konfigurationsdatei dann folgende Konfiguration vornehmen:

<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       1
    MaxSpareServers       3
    MaxClients           10
    MaxRequestsPerChild 3000
</IfModule>
 
<IfModule mpm_worker_module>
    StartServers          1
    MinSpareThreads       5
    MaxSpareThreads      15 
    ThreadLimit          25
    ThreadsPerChild       5
    MaxClients           25
    MaxRequestsPerChild 200
</IfModule>

Des weiteren empfiehlt sich das Timeout zu reduzieren. KeepAliveTimeout sollte nicht mehr als 15 (Sekunden) betragen.

Nach diesen Einstellungen ist Apache schon wesentlich genügsamen. Jetzt sollte man noch nicht benötigte Module deaktivieren. Mit diesem Befehl seht Ihr alle Apache Module.

apache2ctl -M

Bildschirmfoto 2015-11-15 um 12.21.51

Um beispielsweise einen WordPress Blog zu hosten brauch man folgende Module (wie gesagt, WordPress läuft auch unter nginx & Lighttpd).

LoadModule dir_module modules/mod_dir.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule alias_module modules/mod_alias.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule rewrite_module modules/mod_rewrite.so

Um ein Modul zu deaktivieren kann man entweder die Konfigurationsdatei oder aber folgenden Befehl ausführen:

# Modul aktivieren
a2enmod module_name
#Modul deaktivieren
a2dismod module_name

Anschließend noch den Apache neu starten und Spaß haben.

samba4 als Backup DC für Windows Server 2012 R2

ubuntulogoWenn Ihr, wie auch ich, ein Active Directory zu Hause betreibt, liegt das Bedürfnis von Ausfallsicherheit Nahe. Gerade wenn es um die Zentrale Einrichtung von Benutzern und auch Passwörtern geht steht der Sicherheitsgedanke im Vordergrund. Egal ob der primäre Domainenkontroller auf Windows setzt oder auf Linux, so funktioniert das Setup des 2ten Domainkontrollers gleich.

Der Einfachheit halber gehe ich davon aus, dass die eingesetzte Distribution bereits ein Samba 4 mitbringt. Zu empfehlen it ein Samba > 4.2 da es sonst mit Windows 8/10 und dem Credential Manager zu Problemen kommen kann. Ich persönlich empfehle den Einsatz von Ubuntu oder aber Debian. Bei Debian ist Jessie (v8) oder aber Ubuntu 14.04/15.04/16.04 (Testing) zu empfehlen. Ist ein aktuelles Samba nicht verfügbar, so könnt Ihr in meinem Compileguide ein aktuelles Samba selbst kompilieren.

Nun geht es mit der Installation mit Samba los, hierzu benötigt Ihr natürlich root Rechte.

sudo apt-get update
sudo apt-get install samba

Anschließend entfernen wir die distributionseigene Konfiguration.

cd /etc/samba
mv smb.conf smb.conf.bak

Eigentlich ist die Arbeit jetzt erledigt, wir müssen jetzt nur noch der Domaine beitreten und unser Samba zum AD Controller promoten. Wenn alle DNS Einträge passen, geht es jetzt los:

sudo samba-tool domain join <Domain> DC -Uadministrator --realm=<FQD> --server=<running DC>

Example
samba-tool domain join home.tschoerner.eu DC -Uadministrator --realm=home.tschoerner.eu --server=frankfurt.home.tschoerner.eu

Wenn alles durchgelaufen ist, hat euer Linux nun folgende Rollen:

  • Backup AD Controller
  • DNS Server

Raspberry Pi Images auf SD brennen unter Linux/OSX

Aktuell liegen der Einfachheit halber die Raspberry Distributionen als Image vor. Häufig stellt man sich nun die Frage, wie bekomme ich das Image nun auf die SD-Karte. Unter Windows kann man einfach das Tool Win32-DiskImager nutzen, welches sich zu schreiben von Images als auch zu lesen eignet.

Unter OS X oder Linux findet man deutlich weniger Information zu diesem Thema, aber eigentlich geht es hier noch viel eifacher. Hat man das Image heruntergeladen, liegt es typischerweise als “.img” Datei vor. Jetzt kann man das Image einfach mid dd auf die SD Karte schreiben. dd ist bereits bei OS X und auch bei Linux im minimal Umfang enthalten.

sudo dd bs=1M if=/home/felix/Downloads/2014-12-24-wheezy-raspbian.img of=/dev/mmcblk0

 

Samba4 ActiveDirectory auf einem Raspberry PI

Ohne jetzt viel Zeit auf die Vor- & Nachteile eines Active Directorys (AD) eingehen zu wollen, möchte ich Euch kurz zeigen wie man ein Samba4 aus dem Git zieht und kompiliert.

Los gehts mit der Vorbereitung. Zuerst einmal müssen wir alle Pakete, welche zum Build benötigt werden installieren.

apt-get install python-dev git-core libacl1-dev libblkid-dev libgnutls-dev build-essential libacl1-dev libattr1-dev libreadline-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev cups cups-pdf

Nachdem jetzt unser System vorbereitet ist, müssen wir uns eine Kopie herunterladen. Da ich immer gerne eine aktuelle Version habe, empfehle ich diese direkt aus dem stable branch zu laden.

cd ~
mkdir samba
cd samba
git clone -b v4-3-stable git://git.samba.org/samba.git samba-v4-3-stable

Soweit so gut,  jetzt müssen die Automakescripte erzeugt werden

cd samba-v4-0-stable/ && ./configure

Dieser Schritt dauert bereits 15 Minuten auf der PI … und es wird nicht besser 🙁 Im Anschluss bauen wir nun unser Samba. Hier empfiehlt es sich, das bauen vor der Arbeit oder über Nacht anzustarten.

make

Ist der Build nun nach gut 4 Stunden erfolgreich durchgelaufen (Warnings ignorieren wir mal :D) installieren wird noch unser Samba.

make install