Archiv

Archiv für Februar, 2008

Externer Zugriff auf Confixx Datenbanken

24. Februar 2008 Keine Kommentare

Wer seine unter Confixx eingerichtete Datenbank über das Internet erreichen will, muss 2 Dinge manuell erledigen.

1. Den MySQL Server konfigurieren

bind_address = ip-im-internet
# skip-networking

Da skip-networking den Zugriff über TCP/IP komplett verhindert, muss dies auskommentiert werden.

2. Den MySQL User anpassen

Unter PhpMyAdmin gibt es unter “Rechte” eine Übersicht aller Benutzer. Confixx legt diese so an dass der Zugriff auf die MySQL Datenbank nur über 127.0.0.1 also localhost möglich ist.
Um eine Verbindung aus dem Internet zu erlauben gibt man also im Feld “Host” des Benutzers die feste IP an welche verbinden darf oder ein % für alle IP Adressen.


Anmerkung

Je nach Confixx Version kann man den externen Zugriff natürlich auch direkt über das Panel unter “Einstellungen” -> “MySQL” für jede einzelne Datenbank (de)aktivieren.

PHP mit IMAP-Support – *Update* IMAP-SSL-Support

21. Februar 2008 Keine Kommentare

Wenn man versucht PHP mit IMAP-Support zu kompilieren, dann stößt man oft auf folgendes Problem.

...utf8_mime2text() has new signature, but U8T_CANONICAL is missing....

Wohl die einfachste Variante das Problem sauber und schnell zu lösen ist einfach IMAP auf dem Server zu installieren. Hierbei kommt es allerdings häufig zu Problem, weshalb ich nun ein wenig näher auf die Installation eingehen möchte.

Um IMAP zu installieren, benötigen wir erstmal die Sources, welche hier zu finden sind. Danach entpacken und Kompilieren wir das Ganze mal.

wget ftp://ftp.cac.washington.edu/imap/imap.tar.Z
tar xfvz imap.tar.Z
cd imap-2007
make slx (hier nun beispielsweise mit slx)

Sollte das Kompilieren wegen fehlendem SSL nicht gehen, dann müsst ihr schauen, dass Openssl sowie entsprechende Libs (libssl) bereits auf dem System installiert sind. Sollten diese bereits vorhanden sein, dann kann es sein, dass Ihr den Pfad im Makefile noch anpassen müsst.

Dafür öffnet ihr das passende Makefile und sucht nach der Stelle “SSLDIR”. Das Ganze könnte dann so aussehen (nach der Änderung):

SSLDIR=/usr/include/openssl
SSLCERTS=$(SSLDIR)/certs
SSLKEYS=$(SSLCERTS)
SSLINCLUDE=$(SSLDIR)
SSLLIB=/usr/lib

Wenn das Kompilieren abgeschlossen ist, muss man die Dateien noch an die richtigen Stellen im System kopieren. Ich habe hier nun “/usr/local/imap” verwendet.

# Ordner anlegen
mkdir /usr/local/imap-2007
mkdir /usr/local/imap-2007/include
mkdir /usr/local/imap-2007/lib
 
# Verzeichnis noch wechseln
cd c-client
 
# Dateien kopieren
cp *.h /usr/local/imap-2007/include
cp c-client.a /usr/local/imap-2007/lib/libc-client.a

Danach kann man die Configureanweisung von PHP 4 bzw. PHP 5 einfach um folgenden Eintrag erweitern und dann steht der späteren Verwendung von IMAP mittels PHP nichts mehr im Wege.

--with-imap=/usr/local/imap-2007

*Update*

Wer auch IMAP-SSL mittels PHP verwenden möchte sollte noch folgende Zeile beim Configure übergeben

--with-imap-ssl=/usr/include/openssl

Ein kleiner Tip noch für Leute die Debian 64bit verwenden.
Hier muss man IMAP mit dem Zusatzparamater -fPIC kompilieren. Dies kann bewerkstelligt werden, indem man den Paramter im Makefile den GCCFLAGS hinzufügt.

Große Uploads – PHP

20. Februar 2008 Keine Kommentare

Um große Dateien per Browser an PHP zu übergeben (z.B. für PhpMyAdmin ) müssen in der Regeln diverse Anpassung an der php.ini Datei gemacht werden.

upload_max_filesize = 32M 
post_max_size = 32M
max_execution_time = 300
max_input_time = 600
memory_limit = 64M

Diese Direktiven würden ermöglichen eine 32MB per Browser an den Webserver zu senden.
Dies kommt natürlich auf den Upload Speed der Internetverbindung an, um nicht die max_execution_time zu überschreiten.

Ein genereller Betrieb mit diesen Einstellungen ist jedoch nicht zu empfehlen, da vor allem die Laufzeit der PHP Scripte normalerweise um den Faktor 10 kürzer eingeschränkt werden sollten.