Archive for the ‘ Wordpress ’ Category

WordPress: Zeilenumbruch in Codeblöcken

Einige WordPress Themes haben die Angewohnheit, Textbereiche ,die als Codeblock getagged sind, nicht korrekt um zu brechen, dies führt dazu, dass die Code-Zeilen in die Menüs oder ähnliches hineinragen. Dies lässt sich durch eine entsprechende CSS-Formatierung jedoch umgehen.

pre {
 border:1px solid #ccc;
 background:#fafafa;
 padding:10px 20px;
 margin:0 0 1em 0;
 overflow:auto;
 white-space: pre-wrap;       /* css-3 */
 white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
 white-space: -pre-wrap;      /* Opera 4-6 */
 white-space: -o-pre-wrap;    /* Opera 7 */
 word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

WordPress: Ordner Berechtigungen korrigieren

Nachdem ich gestern so pfiffig war und die Berechtigungen meines gesamte Webverzeichnisses rekursiv mit falschen Werten überschrieben habe, durfte ich diese nun wieder alle zurück setzten.

find -type f -exec chmod 644 {} \;
find -type d -exec chmod 755 {} \;

Das Verzeichniss wp-content sowie das Upload Verzeichniss müssen jedoch mit anderen Berechtigungen versehen werden.

WordPress: automatische Aktualisierung

Seit WordPress 2.7 gibt es die Möglichkeit WordPress sowie die verwendeten Plugins per Webinterface aktualisieren zu lassen, jedoch hatte ich damit immer meine Probleme. Nun bin ich im Internet per Zufall darauf gestoßen, dass für die Update Funktionalität lediglich in der wp-config.php zwei  Zeilen ergänzt werden müssen.

vim /../wp-config.php
putenv("TMPDIR=/var/.../wp-content/tmp");
define('WP_TEMP_DIR', ABSPATH . 'wp-content/tmp');

Anschließend müssen die Berechtigungen für das tmp Verzeichnis noch so angepasst werden, dass der User unter dem WordPress läuft auf dieses Verzeichnis auch Schreibberechtigungen hat. Anschließend sollte einem Online Update nichts mehr im Wege stehen.

wp_plugin_update

WordPress: Version 2.7 mit neuen Schlüsseln

Ich glaube manchmal sollte man wirklich die Informationen zu neuen Programm Versionen lesen. Ich bin gerade darüber gestolpert, dass WordPress 2.7 ein neuer Schlüssel zur Verschlüsselung der Kennwörter etc. eingeführt wurde. Jedoch muss dieser individuelle Schlüssel selbst aktiviert werden. Siehe -> http://talkpress.de/artikel/wordpress-27-kriegt-einen-fetten-schluesselbund

SysCP: HTTPS Zertfikiat für Apache2

Da ich heute etwas Zeit hatte habe ich mal hingesetzt und eine Möglichkeit gesucht, unter SysCP ein SSL Zertfikat für eine Domain zu betreiben. Als erstes habe ich ein SSL Verzeichnis für den Apache2 erstellt

mkdir /etc/apache2/ssl/

Anschließend eine Zertfifikatsanfoderung für die Domain o-o-s.de gestellt.

openssl req -newkey rsa:1024 -subj /CN=o-o-s.de -nodes -keyout private.key -out server.csr

Nun bei http://www.cacert.org anmleden und die Domain verifizieren lassen. Dazu wird eine eMail an postmaster@o-o-s.de geschickt in der sich ein Link befindet um den Besitz der Domain zu verifizieren. Anschließend die Zertifikatsanforderung die mittels openssl erstellt wurde (server.csr) online auf cacert.org unter dem Punkt Domain in das Edit Feld eingefügt. War bis hierhin alles korrekt, bekommt man anschließend das Zertfikat angezeigt bzw. zugeschickt.

Achten Sie darauf, dass die Zeilen —–BEGIN CERTIFICATE REQUEST—– und—–END CERTIFICATE beim einfügen vorhanden sein müssen.
Das angezeigte SSL-Zertfikat kann anschließend in die Datei /etc/apache2/ssl/server.crt kopiert werden.

Nun noch ein paar Dateien umkopieren:

cd /etc/apache2/ssl/
wget http://wiki.cacert.org/wiki/SimpleApacheCert?action=AttachFile&do=get&target=CAcert_chain.pemmv ~/private.key /etc/apache2/ssl/
rm ~/server.csrcp /etc/apache2/ssl/private.key /etc/ssl/private/
chown root.ssl-cert /etc/ssl/private/private.key
chmod 0640 /etc/ssl/private/private.key
cp /etc/apache2/ssl/CAcert_chain.pem /etc/ssl/certs/
cp /etc/apache2/ssl/server.crt /etc/ssl/certs

 

Das CAcert_chain.pem file konnte ich komsicherweise nicht über wget ziehen. Alternativ kann man diese Adresse auch einfach im Browser eingeben. 

Nun die Datei /etc/apache2/sites-available/default-ssl erstellen. In dieser Datei wird nun der HTTPS aufruf hinterlegt.

<VirtualHost 82.210.7.84:443>
  # SSL (START)
  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl/server.crt
  SSLCertificateKeyFile /etc/apache2/ssl/private.key
  SSLCertificateChainFile /etc/apache2/ssl/CAcert_chain.pem
  # SSL (ENDE)
  ServerName o-o-s.de
  ServerAlias www.o-o-s.de
  ServerAdmin e-Mail
  DocumentRoot "/var/kunden/webs/cscholz/o-o-s.de/"
  php_admin_flag safe_mode Off
  Alias /webalizer "/var/kunden/webs/cscholz//webalizer/o-o-s.de"
  ErrorLog "/var/kunden/logs/cscholz-o-o-s.de-error.log"
  CustomLog "/var/kunden/logs/cscholz-o-o-s.de-access.log" combined
  php_admin_flag safe_mode Off
</VirtualHost>

Nun die Date aktivieren:

a2ensite default-ssl

In der Datei /etc/apache2/ports.conf noch den Port 443 freischalten 

Listen 80
Listen 443

Das SSL-Modul aktivieren:

a2enmod ssl

und den Apache neustarten:

/etc/init.d/apache2 restart

WordPress über HTTPS

Um die WordPress Administration über https laufen zu lassen, muss das rewrite Modul von Apache2 aktiviert werden: 

a2enmod rewrite

Nun unter SysCP für die WordPress Domain die vhost Einträge um folgende erweitern.
(Entweder manuell: /etc/apache2/sites-available/99_syscp_vhosts.conf
 am besten aber über die SysCP Domain Verwaltung)

  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^/wp-(admin|login|register)(.*) - [C]
    RewriteRule ^/(.*) https://o-o-s.de/$1 [QSA,L]
  </IfModule>

Wer sich diese Handarbeit sparen möchte, kann auch einen fertigen Plugin benutzen:

http://haris.tv/2007/04/24/admin-ssl-new-wordpress-plugin/

Achtung, nicht jedes Theme kommt mit diesem Plugin klar.

Links:
http://syscp.org/wiki/contrib/Installation/de/debian/etch
http://codex.wordpress.org/Administration_Over_SSL