Kategorien
Amazon AWS Server Administration

Analyse: Amazon EC2 als günstige Root Server Alternative zur Entwicklung

Auf der Suche nach einem günstigem Root-Server zum Entwickeln und betreiben von meinen Webseiten bin ich über Amazon EC2 gestolpert und will im folgenden berechnen, ob sich der Betrieb finanziell lohnt im Vergleich zu einem normalen Root Server.

Die Amazon EC2 Preistabelle findet man hier.

Update:

Noch billiger sind die Reserved Instances, bei denen man für einen bestimmten Zeitraum (1 oder 3 Jahre) eine Instanz zu einem festen Preis mietet.

So bezhalt man z.B. für eine Linux Nano Instanz mit Sitz in Frankfurt jährlich nur 40$ oder für 3 Jahr 79$. Unschlagbar billig.

Das klingt erstmal günstig, aber richtig teuer wird Amazon, wenn es um große Systeme mit viel Traffic geht, da ist es günstiger selber ein Datacenter zu betreiben.

Achtung: EC2 Micro Instance ist ein Jahr kostenlos für Neukunden.

Amazon rechnet im Gegensatz zum normalen Root Server Anbietern in Stunden ab, da es sich um einen elastischen Cloud Service handelt. Es sollte bei der Rechnung immer im Hinterkopf gehalten werden, dass EC2 den Riesenvorteil einfach zu skalieren, indem man neue Instanzen dazuschaltet bei Bedarf.

Ein Rechenbeispiel für einen EC2 Entwicklungserver mit Standort Europa (Irland):

Preisvarianten für eine Micro Instance, die besonders günstig, aber nicht besonders leistungsfähig sind mit 613 MB RAM, aber vollkommen ausreichend für den Betrieb kleinerer Webseiten und als Entwicklungserver:

1. On-Demand Instances: 0,020$ pro Stunde

2. Reserved Instances mit geringer Auslastung: 0,015$ pro Stunde + $23*

3. Reserved Instances mit mittlerer Auslastung: 0,01$ pro Stunde + $54*

4. Reserved Instances mit hoher Auslastung: 0,008$ pro Stunde + $62*

Kategorien
Apache Webserver WordPress

WordPress Sicherheit: sicheres Login

Die sicherste Methode seinen Block zu schützen vor unerlaubten Login ist die Verwendung einer .htpasswd Authentifizierung.

Die Standard Login Seite von WordPress ist nicht sicher, weil Hacker Programme besitzen, die wahrlos Passwörter ausprobieren. Wenn dann noch der Login Namen bekannt ist, weil bei WordPress der Namen des Authors unter den meisten Blog Posts steht, sollte man Wert auf Sicherheit legen.

Auf jeden Fall sollten die automatischen Fehlermeldungen abgeschaltet werden bei falschen Passwort oder falschem Login, welche gefährliche Hinweise geben. Dafür muss nur in die functions.php folgender Code eingegeben werden:

add_filter( 'login_errors', create_function('$a', "return null;"));

Ich empfehle einen .htpasswd Schutz für das /wp-admin/ – Verzeichnis anzulegen.

Die .htaccess Datei gehört auch in das Root – Verzeichnis, bspw:

<Files "wp-login.php">
AuthName "backend"
AuthType Basic
AuthUserFile Root-Pfadwordpress/.htpasswd
require valid-user
</Files>

Der notwendige Root-Pfad kann folgender Maßen bestimmt werden:

echo getcwd(); 

In die .passwd kommen Login und passwort in gehachter Form. Am besten den htpasswd Generator dafür benutzen und die Daten vorher notieren.

Die Leserechte sollten auf 0444 gesetzt werden für diese beiden Dateien, damit Sie nicht überschrieben oder gelöscht werden können.

Sinnvoll ist auch die Leserechte für kritische Dateien und alle php-Dateien einzuschränken in der „Haupt“ .htaccess:

<FilesMatch "(\.htaccess|\.htpasswd|wp-config\.php|liesmich\.html|readme\.html)">
  order deny,allow
  deny from all
</FilesMatch>

Dies ist besonders wichtig, um Hacker-Bots abzuwähren, die folgender Maßen vorgehen:

Sie suchen im Netz auf Seiten nach bestimmten WordPress-Seiten und verwendeten unsicheren Plugins, z.B. habe ich solche Anfragen protokoliert, was auf Sicherheitslücken der Plugins hindeutet:

"wp-content/themes/clockstone/readme.txt" 
"wp-content/plugins/complete-gallery-manager/readme.txt"

(Diese Themes bzw. Plugins werden bei nicht benutzt)

Kategorien
Apache Webserver PHP SEO Webdeveloper Tools

Profiling mit XDebug und Webgrind

Wenn die Performance einer Webseite nachgibt, stellt man sich oft die Frage, an welche Funktion/Modul liegt der Performanceverlust? Die Lösung ist das Profiling einer Webseite.

Profiling beschäftigt sich der Analyse der Funktionsaufrufe eine Webseite. Es kann dadurch analysiert werden, welche Teile sehr lange brauchen oder welche Funtionen doppelt aufgerufen werden.

Profiling sollte nicht auf einem Produktivsystem ausgeführt werden, weil die Performance einbricht und Ausgaben sichtbar sind. Übrigends: Wer seine Webseite schneller macht, SEO optimiert gleichzeitig.

Kategorien
Apache Webserver

Netbeans keine .svn Dateien anzeigen, aber alle anderen .Dateien

Unter Netbeans: Extras > Optionen > Verschiedenes > Dateien

Regex ändern in

^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|.svn)$|~$

 

Kategorien
Apache Webserver PHP

PHP mit htaccess debuggen: Error Log

Um die möglichen bei Usern im Betrieb  auftretenden Fehler einer Webseiten zu loggen, empfiehlt sich ein Error Log in der htaccess einzurichten außerhalb des öffentlichen Teils der Webseite. Diese muss via FTP mit Schreibrechten versehen werden.

php_flag log_errors on

php_value error_log /srv/www/vhosts/domain/non-public/PHP_errors.log

php_flag ignore_repeated_errors on

php_flag ignore_repeated_source on

php_value error_reporting 1

Dabei werden keine sich wiederholenden und nur fatal run-time Fehler geloggt.