QuickTipp: versteckte .svn Ordner unter Linux und MacOSX rekursiv entfernen / löschen

terminal-icon

Wenn man als Entwickler SVN (Suberversion) als Versionierungssystem einsetzt, dann werden in jedem (Unter)Ordner versteckte .svn Folder angelegt, wo SVN seine Meta Dateien abspeichert. So kann man die .svn Ordner rekursiv unter Linux / Mac OS X entfernen

*ironie on*Jeder Admin ist sehr glücklich wenn er auf einem produktiven Webserver .svn Ordner sieht *ironie off* ;) Spaß bei Seite, aber die SVN Meta Folders und Files haben auf einem produktiven Server nichts verloren, auch wenn sie versteckt sind.

Will man ein ausgechecktes Projekt irgendwo auf einen produktiven (Web)Server schieben so sollten die .svn Dateien vorher entfernt werden. Mit automatisierten Build Prozessen wie über  Jenkins Continuous Integration Server sollte das bereits automatisch passieren.

Mi folgendem Befehl werden .svn Ordner unter Linux oder Mac OS X rekursiv gelöscht:

Der Befehl wird in der Kommandozeile (Terminal) abgesetzt.

find . -type d -name .svn -exec rm -rf {} \;

Erklärung: find sucht im aktuellen Verzeichnis rekursiv nach Ordnern (-type d) mit dem Namen (-name) .svn und führt für gefundene Ergebnisse das Löschen Kommando aus (rm -rf).

oder

rm -rf `find . -type d -name .svn`

Erklärung: Führt den Löschen Befehl (rm -rf) für gefundene Ordner (type d) mit dem Namen (-name) .svn aus.

Freitag, 01. März 2013 Apple, Linux 1 Kommentar Author: Patrick Schoyswohl

Webserver Geschwindigkeit messen mit Apache Benchmark (ab) – Performance Test

apache logo

In Zeiten wie diesen wird es immer wichtiger die Ladezeiten einer Webseite zu optimieren. Natürlich in erster Linie, um dem User die beste Experience zu gewährleisten. Und in weiterer Instanz natürlich für Google, da die Website-Performance auch in das Suchmaschinen Ranking einfließt.

Doch bevor man anfängt wild “herumzuoptimieren” und diverse Tools auszuprobieren, sollte man sich im ersten Schritt Gedanken machen wie man die Performance eigentlich messen kann.

  • Wieviele Anfragen kann mein Webserver gleichzeitig verarbeiten?
  • Welche Geschwindigkeit hat mein Webserver bei einem Aufruf einer Webseite?

Apache liefert bei der Serverinstallation ein tolles Tool mit, welches sich “Apache HTTP server benchmarking tool” (kurz: “ab” oder “ab2″) nennt. Dieses kann verwendet werden um mehrere und vor allem gleichzeitige Anfragen auf Webservern zu simulieren. Man könnte jetzt viele Worte darüber verlieren was das Programm macht und kann, aber am besten sieht man es an einem Praxisbeispiel.

Apache Benchmark (ab) installieren:

Der Apache Benchmark wird mit dem Webserver mit installiert. Wer auf einem System den Webserver nicht extra installieren möchte, kann die apache2-utils verwenden.

apt-get install apache2-utils

Webseiten Performance messen mit Apache Benchmark

Was gibt es zu beachten?

1) Der Server, welcher den Benchmark durchführt, sollte ein anderen sein, als der, der die Webseite hosted. Idealerweise ein dedizierter Root Server mit ordentlich Power.
2) Ihr solltet bei den Tests eine gute Internet Bandbreite zur Verfügung haben.
3) Die Tests sollten immer von dem selben Server/Rechner durchgeführt werden.
4) Macht mehrere Durchläufe (mind. 5, besser 10) und errechnet den Durchschnittswert.

Ich verwende für den Apache Benchmark folgenden Befehl:

ab -c 20 -n 200 http://www.sysadminslife.com/

-c Anzahl der gleichzeitigen Verbindungen (20)
-n Anzahl der Anfragen, welche ausgeführt werden (200)
http://www.sysadminslife.com/ gibt die Webseite an, welche getestet wird ;)

ab hat viele weitere Einstellungsmöglichkeiten die hier sehr detailliert beschrieben sind.

TIPP: Beobachtet bei eurem Server, der die Webseite ausliefert, die CPU Last mit dem Befehl “top” während der Benchmark läuft und seht euch die Veränderung an. › Artikel Weiterlesen

Donnerstag, 28. Februar 2013 Apache, Linux, WebServer Keine Kommentare Author: Patrick Schoyswohl

Video: Jeder sollte die Chance haben in der Schule programmieren zu lernen!

Tolle Kampagne, in der sich einige der größten Visionäre, CEOs, Rock Stars und Sportler dieser Zeit zusammen tun und sich dafür einsetzen, dass auf Schulen “programmieren” unterrichtet wird. Sollte auch in Europa umgesetzt werden! *thumbs up*

Dienstag, 26. Februar 2013 Linux, Videos 1 Kommentar Author: Patrick Schoyswohl

QuickTipp: Weiterleitung (redirect) von HTTP auf HTTPS via Apache oder Htaccess

apache logo

Sensible Webseiten-Daten sollten grundsätzlich immer via SSL Verschlüsseltung ausgeliefert werden (HTTPS statt HTTP). Ich zeige in diesem QuickTipp wie die Weiterleitung von HTTP auf HTTPS eingerichtet wird sodass auch Parameter erhalten bleiben.

Eine SSL Verschlüsselung ist grundsätzlich einge gute Idee sensible Daten gegen Dritte zu schützen. Aber was bringt es wenn das SSL Zertifikat am Root Server / managed Server installiert und die Verschlüsselung aktiviert ist, aber die Webseite trotzdem noch per HTTP erreichbar ist? HTTP muss daher auf HTTP weitergeleitet werden. Je nachdem welche Bereiche man schützen will kann man die Konfiguration erweitern,  sodass sie nur für gewisse Verzeichnisse oder Anfragen greift.

Voraussetzung: Apache rewrite Modul aktiviert und Webserver bereits via HTTP und HTTPS erreichbar.

HTTP auf HTTPS weiterleiten via htaccess

Die .htaccess Datei sollte direkt im Root Verzeichnis der Webseite liegen. In meinem Beispiel werden sämtliche Webseiten Aufrufe, welche per HTTP auf den Server kommen, auf HTTPS umgeschrieben. Für den User bleibt dieser Vorgang eigentlich völlig unbemerkt, da der Prozess im Hintergrund statt findet.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

Zeile 1: überprüft ob das Modul mod_rewrite aktiviert ist
Zeile 2: aktiviert die Rewrite Engine
Zeile 3: überprüft ob HTTPS eingeschaltet ist, wenn nicht führt er den Inhalt von Zeile 4 aus
Zeile 4: leitet sämtliche Anfragen via Statuscode 301 (permanent redirect) auf HTTPS um

Warum Status Code 301 und nicht 302?

Standardmäßig wird in der RewriteRule mit R (Redirect) die Weiterleitung definiert. Diese liefert den HTML Statuscode 302 (found), also eine Temporäre Weiterleitung zurück. Wir definieren aber explizit den Status Code 301 (permanent redirect) für eine Permanente Weiterleitung.

Das ist gerade für SEOs in der Suchmaschinenoptimierung sehr wichtig, wenn bereits Backlinks auf die Webseite mit HTTP existieren. Die Linkkraft wird mit einem 301 Redirect direkt und ohne Verlust auf die HTTPS Seite übertragen, ohne dabei an Ranking zu verlieren.

Matt Cutts über 301 Weiterleitungen

Weiterleitung von HTTP auf HTTPS über die Apache Konfiguration

Die Rewrite Regeln müssen nicht unbedingt in einer htacccess Datei stehen, sondern können direkt in der Apache Konfiguration eingetragen werden. zb:. wie folgt in der vHost Konfiguration:

<Virtualhost vhost.domain.com>
ServerName vhost.domain.com
DocumentRoot /var/www/website1
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{HTTPS} off
      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>
</Virtualhost>

Sämtliche Aufrufe auf die Website http://vhost.domain.com werden auf https://vhost.domain.com umgeleitet. Voraussetzung ist natürlich dass die Webseite auch für SSL konfiguriert wurde.

Weitere Informationen zu Apache Rewrite gibts in der offiziellen Dokumentation

Montag, 25. Februar 2013 Apache, Linux, WebServer 3 Kommentare Author: Patrick Schoyswohl

QuickTipp: Cron Daemon Mails deaktivieren – Cronjob ohne Ausgabe Email

terminal-icon

In meinem letzten Artikel zum Thema “Cronjob Ausgabe in Datei umleiten” kam vom Blogleser Sebastian die Frage auf, wie man nervige Cronjob Daemon Emails abstellen kann.

Vorneweg möchte ich sagen dass es unter Umständen nicht schlau ist einfach die Cron Emailbenachrichtigung zu deaktivieren. Denn die Cronjobs sollten ja grundsätzlich so konfiguriert sein, dass nur im Fehlerfall ein Email gesendet wird. Das ist besonders wichtig, da wir ja wissen wollen wenn mal ein Cronjob fehl schlägt.

Deshalb ist es ratsam sein Skript so zu optimieren, dass beim “normalen” Ausführen keine Fehler entstehen. Sollte dann wirklich mal ein Fehler passieren weil irgendwelche Dateien beschädigt sind oder ähnliches, dann wirft das Skript einen Fehler und benachrichtigt uns per Email.

Cronjob Daemon Mails nur im Fehlerfall (Error)

Damit nicht die gesamte Ausgabe (ohne Fehler) eines Cronjobs per Email versendet wird kann die Standard Ausgabe (stdout) nach /dev/null umgeleitet werden. Ein Cronjob würde dann wie folgt aussehen:

30 22 * * * /usr/scripts/mysql_backup.sh > /dev/null

“>” steht dabei für die Kurzfassung von “1>” (stdout) und gibt die Anweisung die “normale” (non error) Ausgabe umzuleiten.

Cronjob Emails deaktivieren

Wer aber dennoch die Benachrichtigung für einen bestimmten Cronjob deaktivieren möchte kann wie folgt vorgehen:

30 22 * * * /usr/scripts/mysql_backup.sh > /dev/null 2>&1

“2>&1″ steht für die Umleitung der Error Ausgabe (stderr) in die “normale” Ausgabe (stdout).  Die gesamte Ausgabe von /usr/scripts/mysql_backup.sh (stdout und stderr) wird so einfach ins Datennirvana nach /dev/null geleitet.

Bessere Variante:

Der cron Eintrag kann auch folgendermaßen abgekürzt werden “&>” steht also für “2>&1″:

30 22 * * * /usr/scripts/mysql_backup.sh &> /dev/null

Cronjob Email Adresse ändern

Will man die Mail Adresse für die Cronjob Benachrichtigung ändern, kann man folgende Variable in den Cronjobs definieren (wird einmal in der Crontab gesetzt):

MAILTO="deine@mailadresse.com"
Mittwoch, 20. Februar 2013 Linux 9 Kommentare Author: Patrick Schoyswohl

QuickTipp: Cronjob Skript Ausgabe in Datei umleiten (loggen) – cron – crontab

terminal-icon

Cronjobs sind eine tolle Erfindung um diverse Dinge unter Linux zu automatisieren. Wer in einem Cronjob ein Shell Skript ausführt und die gesamte Ausgabe in eine Datei loggen möchte kann das über folgenden Parameter realisieren: > /pfad/zur/logdatei.log 2>&1

Ausgabe von Cronjob in Datei umleiten

crontab -e
30 22 * * * /usr/scripts/mysql_backup.sh > /usr/scripts/mysql_backup.log 2>&1

> /usr/scripts/mysql_backup.log weist an dass die Standard Ausgabe (stdout) des Skripts backup.sh in die Logdatei mysql_backup.log geschrieben wird

2>&1 weist an dass sowohl die Standard Ausgabe (stdout) als auch die Error Ausgabe (stderr) in die Logfile geschrieben werden

Bessere Variante:

Der cron Eintrag kann auch wie folgt abgekürzt werden “&>” steht für “2>&1″:

30 22 * * * /usr/scripts/mysql_backup.sh &> /usr/scripts/mysql_backup.log

Ausgabe an Log Datei anhängen und nicht neu schreiben

Hinweis: Jede Ausführung des Cronjobs schreibt die Datei mysql_backup.log neu. Möchte man dass die Ausgabe an das Logfile angehängt wird, so muss das Pfeilzeichen > verdoppelt werden: >>

crontab -e
30 22 * * * /usr/scripts/mysql_backup.sh >> /usr/scripts/mysql_backup.log 2>&1

Hier gibt es weitere Tipps zum Erstellen von Cronjobs

Dienstag, 19. Februar 2013 Linux 2 Kommentare Author: Patrick Schoyswohl

Hosting Provider Wechsel zu Contabo

Ich habe mich, aus mehreren Gründen, dazu entschlossen meinen Hosting Provider zu wechseln und meine Entscheidung fiel dabei auf das Hosting Unternehmen Contabo.

Contabo besteht seit 10 Jahren und betreibt sein eigenes Rechenzentrum in München, ist also kein 0815 Reseller wie mittlerweile 100te von anderen selbstbezeichneten “Hosting Provider”.

Ich finde das Preis- Leistungsverhältnis wirklich klasse und so fiel meine Wahl auf den VPS XL Server:

6x 3,2Ghz CPU Cores
16 GB RAM
800GB Speicherplatz

Installiert natürlich mit Debian, ohne Verwaltungs-Schnick-Schnack.

Was will man mehr? ;)

Die Bestellung lief absolut reibungslos ab und ich erhielt am selben Tag noch die Zugangsdaten für meinen neuen Server. Der Umzug ist bereits abgeschlossen und ich muss sagen dass die Geschwindigkeit absolut überzeugt.

Ich kann Contabo wirklich sehr empfehlen.

Donnerstag, 14. Februar 2013 WebServer 10 Kommentare Author: Patrick Schoyswohl
Hosting-Lösungen (VPS, Dedicated Server, Webspace und Colocation) von Contabo

Subscribe to our mailing list

* indicates required Email Adresse *
Werbung schalten

*=Affiliatelink

Blogverzeichnis - Blog Verzeichnis bloggerei.de