Blog-Umzug und Probleme mit dem Charset

August 11th, 2008 von Timo Dreger

Ich habe das Blog auf einen anderen Server umgezogen und dabei leider einige Probleme die Datenbank zu übernehmen mit dem richtigen Charset. Irgendwie war die alte Datenbank nicht richtig konform, sodass selbst ein Export nicht richtig funktioniere mit einem definierten Charset.

Ich hab es nun aber doch noch geschafft, indem ich die WordPress-eigene XML Export- und Import-Funktion verwendet habe. So konnte ich dann doch noch alle Beiträge retten.

Sorry für die Probleme mit den kaputten Umlauten und den weiteren kurzen Ausfällen des Blogs gestern und heute.

Geschrieben in Allgemein | 3 Kommentare »

Backup Novell Netware via Backuppc

August 4th, 2008 von Timo Dreger

Im Rahmen eines Projektes sollten mehrere Novell Netware-Server mit Backuppc gesichert werden. Hierzu gibt es leider keinerlei Anleitung im Internet. Daher möchte ich hier mal meine veröffentlichen:

Folgende Konfiguration muss in Backuppc vorgenommen werden:

XferMethod = rsyncd
ClientCharset = cp850
RsyncShareName = SYS, DATA, …
RsyncAuthRequired = NO
RsyncArgs = –numeric-ids –perms –owner –group -D –times –block-size=2048 –recursive

Hierbei muss man beachten, dass man den richtigen Charset einträgt. Standard ist wohl cp850 – kann jedoch bei manchen Systemen auch anders sein. Bei RsyncShareName trägt man beliebige Namen ein (je nachdem, was man gleich im rsyncd auf dem Netware-Server konfiguriert). Wichtig ist auch RsyncArgs anzupassen, da es mit den Standardeinstellungen von BackupPC nicht läuft.

Folgende Konfiguration muss auf dem Netware-Server vorgenommen werden:

Man benötigt z.B. von einer CD die Datei NW65SP5\nw65sp5\PRODUCTS\RSYNCSRV\RSYNC.ZIP
Beim Entpacken werden folgende Ordner angelegt: login, rsync, system:

\rsync\login
\rsync\rsync
\rsync\system
\rsync\login\status_normal.gif
\rsync\login\status_stop.gif
\rsync\rsync\rsync.nlm
\rsync\rsync\rsyncd.motd
\rsync\rsync\rsyncdn.nlm
\rsync\rsync\rsyncst.nlm
\rsync\system\livefile.nlm
\rsync\system\nls
\rsync\system\rsyncnrm.nlm
\rsync\system\rsyncprs.nlm
\rsync\system\nls\12
\rsync\system\nls\13
\rsync\system\nls\4
\rsync\system\nls\6
\rsync\system\nls\12\rsyncnrm.msg
\rsync\system\nls\13\rsyncnrm.msg
\rsync\system\nls\4\rsyncnrm.msg
\rsync\system\nls\6\rsyncnrm.msg

Die Dateien in die vorhandene Struktur des Servers ablegen (z.B. in der Regel):

SYS:/login
SYS:/system
SYS:/system\nls
usw.

Dann geht man auf die Konsole und führt folgende Kommandos aus:

search add sys:\rsync
load rsyncnrm.nlm

Damit fügt man den Pfad von rsync zur Suchpfadvariable hinzu und läd das Rsyncd-Modul.

Jetzt kann man die Konfigurationsdatei anpassen, die beim Laden des Moduls erstellt wurde (SYS:/ETC/rsyncd.conf):

uid = nobody
gid = nobody
max connections = 10
syslog facility = local5
pid file = SYS:/rsync/rsyncd.pid
log file = SYS:/rsync/rsyncd.log
motd file = SYS:/rsync/rsyncd.motd

[SYS]
path = SYS:/
comment = SYS
read only = yes
use chroot = no
timeout = 3600
hosts allow=192.168.1.1
hosts deny=*

Ich habe hier nur mal die Konfiguration für das Volume SYS hinterlegt. Wichtig ist hier: Der Name zwischen den eckigen Klammern ist der Name, welcher bei BackupPC als “RsyncShareName” hinterlegt werden muss. Bei “hosts allow” trägt man die IP-Adresse des BackupPC-Servers ein. Wenn man weitere Volumes sichern möchte, dann muss man den entsprechenden Block einfach kopieren und anpassen.

Anpassung der Datei SYS:/rsync/rsyncstp.ncf

REM Single Server:
REM
REM Replace <IP> with the ip address to which the Rsync Daemon will bind
REM or if no ip address was specified, use 0.0.0.0 for <IP>
sys:rsync/rsyncdn Rsync0.0.0.0:873

Hierbei handelt es sich um das Script, welches beim entladen des Moduls ausgeführt wird.

Anpassung der Datei SYS:/rsync/rsyncstr.ncf

REM Single Server:
REM
REM Rsync will assume that RSYNCD.CONF is in SYS:\ETC
REM and that the certificate being used is SSL CertificateIP
REM
sys:rsync/rsyncst
rsync -v –progress –port=873 –daemon –config=sys:etc/rsyncd.conf

Dies ist das entsprechende Start-Script.

Außerdem sollte man noch die Datei SYS:/system/autoexec.ncf anpassen, damit das Modul beim Starten des Servers mit geladen wird:

SEARCH ADD SYS:\RSYNC
load rsyncnrm.nlm

Das wars auch schon. Nun kann man testen, ob BackupPC ein Backup per Rsync vom Netware-Server ziehen kann. Ich hoffe ich konnte mit der Anleitung dem ein oder anderen weiterhelfen, der vor dem selben Problem wie ich stand.

Geschrieben in Allgemein | 3 Kommentare »

SysCP Auslieferung der Seiten (Webinterface) in UTF-8

August 3rd, 2008 von Timo Dreger

Leider liefert SysCP das Webinterface zur Verwaltung alle Seiten in ISO-8859-1 aus. Wenn man das auf UTF-8 ändern will (ist wichtig, wenn die Datenbank auf UTF-8 läuft, da sonst die Umlaute nicht korrekt dargestellt werden), muss man diese Sachen ändern:

Datei lib/init.php (Zeile 22):

header(“Content-type: text/html; charset=utf-8″);

Datei lib/functions.php (Zeile 408 und 452):

function htmlentities_array($subject, $fields = ”, $quote_style = ENT_COMPAT, $charset = ‘utf-8′)

function html_entity_decode_array($subject, $fields = ”, $complete = false, $quote_style = ENT_COMPAT, $charset = ‘utf-8′)

Eventuell weichen die Zeilen bei euch ab. Sucht einfach nach den entsprechenden Sachen – als Charset stand überall vorher ISO-8859-1

Update: Bitte auch die Hinweise in den Kommentaren beachten!

Geschrieben in Allgemein | 2 Kommentare »

PHP4 via cgi neben PHP5 betreiben

August 3rd, 2008 von Timo Dreger

Wenn man noch manche Seiten hat, die nicht unter PHP5 laufen, kann man PHP4 noch via cgi einbinden und für die einzelne Seite aktivieren:

apt-get install php4-cgi php4-mysql

(eventuell braucht man noch weitere Pakete, einfach mit installieren).

Ein paar erforderliche Apache-Module aktivieren:

a2enmod actions
a2enmod suexec

In der /etc/apache2/apache2.conf braucht man noch folgendes:

ScriptAlias /cgi-bin/ “/usr/lib/cgi-bin/”
AddType application/x-httpd-php4 .php4
Action application/x-httpd-php4 “/cgi-bin/php4”

Hiermit werden automatisch alle .php4-Dateien an den PHP4-Interpreter übergeben. Das ist allerdings etwas aufwendig alle Dateien umzubenennen. Deswegen kann man das einfach wie folgt in den jeweiligen Vhost der Domain eintragen:

<VirtualHost *:80>
<Directory /var/www/www.domain.de >
Options +ExecCGI
</Directory>
AddType application/x-httpd-php4 .php
</VirtualHost>

Jetzt nurnoch apache neustarten und es läuft.

Wenn jemand eine bessere Lösung kennt um PHP4 und PHP5 parallel zu betreiben, darf er gerne ein Kommentar schreiben.

Geschrieben in Allgemein | 3 Kommentare »

Kurz und Knackig (02.08.2008)

August 2nd, 2008 von Timo Dreger

Geschrieben in Allgemein | Keine Kommentare »

Theme zerschossen

August 2nd, 2008 von Timo Dreger

Leider hat das Update auf die aktuelle WordPress-Version unser schönes XaraNet-Theme zerschossen. Ich hab deshalb nun erstmal das Standard-Theme aktiviert. Ich bitte noch um etwas Gedult ;-)

Update: Es scheint wieder alles rund zu laufen. Wenn noch jemand einen Fehler entdeckt bitte kurz melden. Danke!

Geschrieben in Allgemein | Keine Kommentare »

Apache, PHP und MySQL auf UTF-8 umstellen

August 2nd, 2008 von Timo Dreger

Aus aktuellem Anlass eine kurze Anleitung, wie man Apache, PHP5 und MySQL5 auf UTF-8 (in diesem Beispiel bei Debian) sicherstellt. Das ganze ist sehr kurz und knapp gehalten. Wenn man weitere Informationen benötigt, sollte man geziehlt nach den einzelnen Dingen suchen:

Apache

Änderung in der Datei /etc/apache2/apache2.conf vornehmen:

AddDefaultCharset utf-8

PHP

Änderung in der Datei /etc/php5/apache2/php.ini vornehmen:

[PHP]
default_charset = “utf-8″
[mbstring]
mbstring.language = utf-8
mbstring.internal_encoding = utf-8
mbstring.http_input = utf-8
mbstring.http_output = utf-8

MySQL

Änderungen in der Datei /etc/mysql/my.cnf vornehmen:

[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
character-set-server = utf8
collation-server= utf8_general_ci
init_connect = ‘SET collation_connection = utf8_general_ci’
init_connect = ‘SET NAMES utf8′
[mysqldump]
default-character-set = utf8
[mysqlimport]
default-character-set = utf8
[mysql]
default-character-set = utf8

Wichtig ist natürlich, dass man alle Dateien UTF-8 kodiert (ändern geht mit dem Linuxtool iconv) und auch die Datenbanken alle auf UTF-8 laufen.

Geschrieben in Allgemein | 5 Kommentare »