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.

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:

 

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

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

Nun noch folgende Verzeichnisse anlegen:

Jetzt WordPress herunterladen:

Jetzt Hiawantha einmal neustarten, damit unser vHost erkannt wird.

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.

Limit CPU usage on Linux

Kürzlich stand ich vor dem Problem, dass einer meiner VPS Server immer vom Hoster gestoppt wurde. Dieses Problem tritt häufig auf, wenn bei einem 1 vCPU Server der CPU-load länger als 10 Minuten über 1.00 liegt.

Zur Lösung des Problems habe ich das Tool CPULIMIT entdeckt. Es gibt es auf Ubuntu & Centos / bereits als pre-kompiliertes Paket un kann einfach via apt-get oder yum installiert werden.

Im Anschluss habe ich ein Skript zu start eines Daemon hier /usr/bin/cpulimit_daemon.sh angelegt, mit diesem Inhalt:

Um das Skript ausführen zu können müssen noch die Berechtigungen geändert werden:

Um nun den Job zu starten einfach ein Skript wie folgt unter /etc/init.d/cpulimit anlegen:

Nun noch die Berechtigungen ändern:

Um das Skript auf CentOs zu starten habe ich es einfach am ende von /etc/rc.config eingefügt. somit wird es nach dem Booten automatisch gestartet und limitiert dann die CPU intensiven Jobs.

Quelle: http://ubuntuforums.org/showthread.php?t=992706

Low Memory LLMP auf VPS oder Raspberry

Günstige kleine virtuelle Server gibt es für schmales Geld. Bereits für 1,29€ gibts hier das Einsteiger Model.

Mit diesem kleinem HowTo könnt Ihr auf der Raspberry PI oder einem VPS einen voll funktionsfähigen LLMP (Linux, Lighttpd, MySQL, PHP) installieren.

Dieses HowTo basiert auf Raspian bzw. Debian Wheezy.
Zuerst bringen wird das System auf einen akutellen Stand:

Nachdem jetzt das System up2date ist, fangen wir mit dem Web-Server an:

Wenn wir nun mehrere Webseiten hosten möchten machen wir e uns einfach und nutzen das module simple_vhost. Dieser Mod ermöglicht uns, indem wir eine gewisses Fromat bei der Ordnerstruktur einhalten, dass wir ohne weiter konfiguration mehrere vHosts betreiben können.

 

Nachdem nun das Modul aktiviert ist, müssen wir die Konfiguration noch anpassen:

Hier ändern wir die Datei wie folgt:

Jetzt legen wir einen vHost an, und zwar im folder /var/www

Wenn Ihr jetzt auf den Server zugreift, wird euch „Lighttpd on Linux Rocks!“ präsentiert.

WordPress installieren

Zuerst brauchen wir php und mysql, dann können wir weitermachen.

Jetzt aktivieren wir php für alle unsere vHosts

und fügen folgendes ein

Lighttpd neu starten, so dass die Config geladen wird

Wir testen ob php geparst wird:

MySql Stuff (User anlegen & Datenbank)

Jetzt noch Lighttpd die Permalink struktur beibringen

Und jetzt noch einige optionale Tweaks um Speicher zu sparen

Das was schon. Nach 10 Minuten zum Low Memory LLMP

MySQL 5.6 LOW Memory VPS configuration

Nachdem ich spontan meine Cloud umziehen musste … Nein, nicht weil er kaputt gegangen ist, die Performance war sehr schlecht und der Apache auf dem Shared Hoster lief äußerst inperformant und instabil.

Als alter „Schotte“ hab ich mir ein VPS gesucht, der möglichst viel Speicherplatz bietet. Mir war es dabei nicht so wichtig, möglichst viel CPU oder RAM zu haben. Meine Wahl fiel auf den Hoster 1fire.de.

1fire

Der Service-Plan war genau das was ich gesucht habe:

1fire_Plan

Nach der Installation aller nötigen Dienste wie Apache, Postfix und MySql wurde klar, bei der Speichernutzung muss ich etwas aufpassen. MySQL hat sich von dem 1024 MB direkt mal 800MB gekrallt. Das geht natürlich nicht 😉 Also was tun?

Ich habe MySql 5.6 im Einsatz hier sind die Änderungen die ich unter [mysql] eingefügt habe.

Hier noch der vergleich in Munin und htop

memory-day-server4-mysql-optimize server4_mem

An der Aktuellen Messung kann man schön erkennen, dass das System nun kaummehr beginnt zu swapen.

Das wars auch wieder!

Stay tuned!

[HowTo] LNMP – VPS mit wenig Ressourcen Nginx & PHP

LNMP-debianvps-300x257Wollt auch Ihr Eurer eigener Herr über einen Server sein? Scheut Euch aber einen dedizierten Root-Server zu mieten? Die Lösung sind kleine vServer, die Euch vollen Admin Zugriff erlauben. Ihr seid euer Herr.

Hat man ein „Low powered“ VPS mit wenig CPU & RAM, muss man genau hinschauen was man installiert. Eine Möglichkeit Ressourcen zu sparen ist, anstatt dem weit verbreiteten Indianer (Apache) auf den schlanken Nginx Webserver zu setzten.

Hier ein kleinen HowTo, wie Ihr Euren VPS mit Nginx & PHP einrichtet.

Als erstes sollte man die „Dotdeb“ Quellen zu seinem System hinzufügen.Hierzu bearbeitet man die Sources von apt (/etc/apt/sources.list)

und fügt am Ende einfach diese Zeilen ein:

Um die Paketquellen nutzen zu können, müsst ihr den „Repository-Key“ noch hinzufügen, indem ihr folgende schritte ausführt:

Der nächste Schritt ist optional. Ihr könnt dem System eine höhere Priorität für die DetDeb Paketquellen geben, müsst dies aber nicht. Einfach diese Datei anlegen „/etc/apt/preferences.d/dotdeb“

folgenden Inhalt einfügen:

Um zu checken, aus welchem Repository nun die Pakete installiert werden einfach folgenden Befehl ausführen.

Jetzt geht’s erst richtig los

Mit dem folgenden Befehl installiert Ihr Nginx & PHP

Jetzt schnell noch ein Root Verzeichnis für den Webserver anlegen

Seit Nginx 1.4 werden die Seiten ähnlich wie bei Apache im Ordner /etc/nginx/sites-enables konfiguriert. Hier sollten Symlinks zu files im Verzeichnis /etc/nginx/sites-available erzeugt werden.

und folgenden Inhalt einfügen:

Jetzt besagten Symlink erzeugen:

Und fertig … Neginx neu starten

Legt nun eine Datei (phpinfo.php) in /var/www an und ruft diese im Browser auf.

Wenn Ihr jetzt einen Fehler bekommt „502 Bad Gateway“, dann müsst Ihr noch folgende Zeile in der Datei (/etc/php5/fpm/pool.d/www.conf) ändern:

PHP durchstarten und fertig 🙂

Alles zu Thema MySQL blogge ich demnächst.

Natürlich könnt Ihr auch hier die bereits geboggten Performance Enhancements eines PHP Caches nutzen.

 

 

Apache und PHP Performance Tuning in Debian [HowTo]

Heute möchte ich kurz zeigen wie Ihr Eurem Apache/PHP WebServer mehr Power gebt.

Es gibt diverse Möglichkeiten, eine Webseite zu beschleunigen. Zuvor hatte ich schon darüber gebloggt wie Ihre den Datenstrom zwischen Server und Client packt um die Transferzeiten zu minimieren. Auf dem Server müssen die Webseiten aber erst aufbereitet werden, bevor diese transferiert werden können. Ein großen Vorteil haben statische Elemente wie Bilder, Html-Seiten etc. Setzt man jedoch PHP ein, muss die Seite immer geparst und interpretiert werden. Diese Operationen benötigen Zeit, und belasten auch die Leistung des Servers.

Setzt man auf Caching Mechanismen kann man ohne Verlust der Webseitendynamik einfach „statische“ Seiten erzeugen. Ein Liste der Verfügbaren PHP-Chaches findet Ihr hier. Ich persönlich habe mich für den Einsatz des APC (Alternative PHP Cache) entschieden.

apcphp

Die Installation auf Debian ist denkbar einfach durchzuführen.

Es werden nun alle notwendigen Pakete installiert. Um die neue Funktionalität nutzen zu können, muss der Apache noch einmal durch gestartet werden.

Beim Besuch Eurer Seite solltet Ihr nun einen ordentlichen Performance Zuwachs merken. Wenn Ihr Euch nicht sicher seid, ob der APC richtig läuft, dann legt einfach ein Datei (phpinfo.php) mit folgendem Inhalt an und ruft diese im Browser auf:

Das Ergebnis sollte in etwas so aussehen:

phpinfo

Sucht einfach nach APC auf der Seite um zu validieren ob der Cache läuft:

phpinfo_apc