Archiv für Juni 2009

Montag, 8. Juni 2009

WordPress 2.8 RC 1: Erste Eindrücke

Ich habe heute WordPress 2.8 RC 1 installiert und muss sagen, ich bin sehr zufrieden mit der neuen Version. Besonders hervorzuheben ist für mich die Möglichkeit dem Administrations-Dashboard mehrere Spalten zu verpassen und somit die Bildschirmbreite besser zu nutzen. Weiterhin ist die neue Widget-Verwaltung ein Traum gegenüber der Alten. Widgets lassen sich nun per Drag’n'Drop in die jeweilige Sidebar ziehen, auch Wechsel von der Einen in die Andere sind so einfach möglich. Etwas gewöhnungsbedürftig ist meiner Meinung nach die neue Plugin Übersicht. Einen Überblick über die neuen Funktionen  und die Änderungen gibt es bei WordPress Deutschland.

Nach der Installation musste ich das CDN Tools Plugin deaktivieren, da dieses den Artikel-/Seiten-/Kommentareditor lahm legt. Leider kann man, da es sich um einen Release Candidate handelt, nicht genau sagen ob das Plugin oder WordPress daran schuld ist. Sollte ich jedoch den Grund finden, werde ich dementsprechend einen Bugreport stellen. Ansonsten läuft alles wie geschmiert und irgendwie fühlbar schneller.

Sonntag, 7. Juni 2009

Mac OS X: Zertifikats-Fehler mit SVN Client

Nachdem mittlerweile mein Subversion (SVN) Server läuft, habe ich einen Client für Mac OS X gebraucht. Beim Test der Zwei für mich in Frage kommenden grafischen Lösungen – SCPlugin, das dem Tortoise SVN Client für Windows ähnelt und svnX – konnte ich auf Grund eines Zertifikats-Fehlers keinen Checkout machen. Der Grund hierfür war, dass ich ein selbst erstelltes Zertifikat verwende und Mac OS X, wie auch andere Betriebssysteme, dies als nicht vertrauenswürdig einstufen.

Nachdem ich im Internet gesucht habe, bin ich bei eyefodder auf eine Lösung gestoßen. Wenn man auf Grund eines Zertifikats-Fehlers keinen Checkout machen kann, dann hat man die Möglichkeit den ersten Checkout im Terminal zu machen. Dies geht mit diesem Befehl:

1
svn co http://domain.tld/Pfad/zum/Repository

Die Frage, ob man den Schlüssel des Zertifikates permanent speichern will, muss mit ja beantwortet werden. Jetzt klappt auch der Checkout mit grafischen SVN Tools, da der Schlüssel im Schlüsselbund gespeichert ist. Alles was man danach machen muss, ist dem grafischen Tool den Zugriff auf den Schlüsselbund zu gewähren.

Freitag, 5. Juni 2009

Subversion Server unter Debian Lenny einrichten

Seit längerer Zeit hatte ich den Plan mir eine Quellcode-Verwaltung zu installieren. Da CVS mittlerweile doch schon etwas antiquiert ist und nicht mehr weiterentwickelt wird, habe ich mich hierzu für Subversion entschlossen. Wie sich Subversion unter Debian Lenny einrichten lässt, möchte ich Euch hier nun näher beschreiben.

Bei meinem Subversion Server habe ich mich entschlossen, die Authentifizierung über den Apache mit Hilfe des dav-Moduls zu realisieren.

Installation

Als erstes müssen die benötigten Pakete installiert werden:

1
aptitude install subversion apache2 libapache2-svn

Konfiguration

Nun muss man das Subversion Verzeichnis für die Repositories erstellen und für den Apache Benutzer www-data lese- und schreibbar machen.

1
2
sudo mkdir /var/svn
sudo chown -R www-data:www-data /var/svn

Das Verzeichnis muss nicht zwingend /var/svn sein und kann beliebig geändert werden.

Server mit SSL absichern

Will man den Subversion Server absichern, so kann man dies mit SSL tun. Hat man den Apache Server schon vorher für https eingerichtet oder will den Subversion Server nicht absichern, so können die nächsten Schritte entfallen.

OpenSSL installieren und das Apache Modul aktivieren:

1
2
aptitude install openssl ssl-cert
a2enmod ssl

Der /etc/apache2/ports.conf, wenn nicht vorhanden, dies hinzufügen:

1
2
3
<IfModule mod_ssl.c>
    Listen 443
</IfModule>

Nun muss eine Konfiguration für den Virtualhost mit SSL eingerichtet werden. Dazu kann man einfach die Standart Konfiguration kopieren und anpassen:

1
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl.domain.tld

Nun muss in der neuen Datei

1
<VirtualHost *:80>

mit

1
<VirtualHost *:443>

ersetzt werden. Und oberhalb von

1
</VirtualHost>

dies eingefügt werden:

1
2
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/ssl.domain.tld.pem

Danach muss man das SSL-Zertifikat erstellen:

1
2
mkdir /etc/apache2/ssl
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/ssl.domain.tld.pem

Schließlich muss die neue Site noch aktiviert werden.

1
2
a2ensite ssl.new.site
/etc/init.d/apache2 reload

Eure Konfiguration könnt Ihr testen, indem Ihr https://domain.tld in Euren Browser eingebt.

Einrichten des Apache Moduls dav_svn

Zum Einrichten von dav_svn, muss die Datei /etc/apache2/mods-available/dav_svn.conf zwischen den Location-Tags, folgendermaßen ergänzt werden:

1
2
3
4
5
6
7
8
9
DAV svn
SVNParentPath /var/svn

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd

Require valid-user
SSLRequireSSL      # this line must be added if you want SSL enabled

Danach kann das Modul aktiviert werden:

1
2
a2enmod dav_svn
/etc/init.d/apache2 restart

Jetzt muss noch ein Benutzer für DAV eingerichtet werden. Der erste Benutzer wird so eingerichtet:

1
htpasswd -c /etc/apache2/dav_svn.passwd benutzer1

Weitere Benutzer so:

1
htpasswd /etc/apache2/dav_svn.passwd benutzer1

Erstes Repository erstellen

Jetzt kann man das erste Subversion Repository erstellen:

1
2
svnadmin create /var/svn/test
chown -R www-data:www-data /var/svn/test

Ein Checkout kann so gemacht werden:

1
svn co https://domain.tld/svn/test

Ich hoffe meine Anleitung hat Euch ein Stück weit geholfen. Über Kommentare und Verbesserungsvorschläge freue ich mich jeder Zeit. :-)

Mittwoch, 3. Juni 2009

WordPress Geschwindigkeit: Google Analytics mit jQuery einbinden

Ich habe vorgestern bei Sergej Müller gelesen, wie man die Webseiten-Performance beim Einsatz von Google Analytics mit jQuery verbessern kann. Dies lässt sich natürlich auch mit WordPress basierten Webseiten machen. Dazu sollte man auf die Verwendung eines Google Analytics Plugin verzichten und den benötigten Javascript Code von Hand in das Theme schreiben.
Der Javascript Code für Google Analytics muss noch ein bisschen verändert werden, so dass die benötigten externen Javascript Dateien mit Hilfe von jQuery geladen werden. Dazu bindet man am Besten folgenden Code in die footer.php ein:

1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery.getScript(
        'http://www.google-analytics.com/ga.js',
        function() {
        var pageTracker = _gat._getTracker('UA-XXXXXX-X');
            pageTracker._trackPageview();
        });
});
</script>

UA-XXXXXX-X ist hierbei mit dem eigenen Tracking-Code zu ersetzen.

Was macht nun der jQuery Programm Code?

Dieser Code wird erst ausgeführt, wenn das wenn das Grundgerüst der Webseite komplett geladen wurde. Das Laden der Tracking Scripte läuft quasi im Hintergrund und behindert nicht den Aufbau der Webseite – sie lädt also fühlbar schneller. Sind die Google Analytics Server nicht erreichbar, so wird das Script auch nicht ausgeführt und es gibt keine Javascript Fehler.

Wie Sergej in den Kommentaren schreibt, macht das Ganze nur Sinn, wenn jQuery sowieso im Theme oder von einem Plugin verwendet wird. Danke für den Hinweis.