Archiv

Archiv für die Kategorie ‘Apache – PHP’

[error] Unable to configure RSA server private key

10. September 2010 Keine Kommentare

Heute zeigte mir ein Apache2 Webserver mit geplantem SSL Support folgende Meldung an:


[Fri Sep 10 12:29:02 2010] [error] Unable to configure RSA server private key
[Fri Sep 10 12:29:02 2010] [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch

Das hat zumeist den Grund, dass Key und SSL Zertifikat nicht zusammenpassen. Um zu prüfen ob Key (.key), Zertifikat (.crt) und Zertifikatrequest (.csr) genau zusammenpassen kann man folgende Befehle ausführen:

openssl x509 -noout -modulus -in dateiname.crt | openssl md5
openssl rsa -noout -modulus -in dateiname.key | openssl md5
openssl req -noout -modulus -in dateiname.csr | openssl md5

Nur wenn alle 3 md5 Hashes genau zusammenpassen ist alles richtig gelaufen. In meinem Fall wurde die .csr Datei falsch übertragen und es kam ein Zertifikat dabei heraus, dass nicht genau zum Key passte. Der Apache2 quittierte dann beim Starten mit oben genannter Meldung den Dienst.

KategorienApache - PHP

PHP Sessionverwaltung mittels Cronjob

1. Mai 2008 1 Kommentar

Da viele Webseiten auf per PHP generierten Sessiondateien basieren, die im in der php.ini angegebenen session.save_path abgespeichert werden, muss man sich Gedanken machen wie man diese wieder los werden möchte.

PHP erstellt Sessions, aber löscht diese nicht. Warum weiß niemand. Also muss ein Cronjob her der dies übernimmt:

# Öffnen der Zieldatei für unseren Cronjob
nano /etc/cron.d/php
# Einfügen einer Zeile dieser Art
09,39 *     * * *     root   for i in /home/www/*/phptmp; do find $i -type f -cmin +1440 -print0 | xargs -r -0 rm; done

Dieser Cronjob schaut in jedem Verzeichnis unter /home/www/ ob es in einem Unterverzeichnis einen Ordner namens „phptmp“ gibt. Diesen verwende ich immer für die Sessions => php.ini session.save_path = /home/www/beispiel.de/phptmp

Dort werden alle Dateien die älter sind als 1440 Minuten = 1 Tag gesucht und anschließend gelöscht.

Wer dies nicht tut und gleichzeitig eine große Webapplikation im laufen hat, wird bald merken was es bedeutet dass die minimale Dateigröße in einem Linux Dateisysteme immer der bei der Partitionierung angegebenen Blockgröße entspricht (ext3 default = 1024 Byte).

KategorienApache - PHP

mod_security für einen Vhost deaktivieren

20. März 2008 Keine Kommentare

Um den mod_security Engine dessen Installation ich hier beschrieben habe, für einen Vhost zu deaktivieren bzw. abzuschalten, gibt es je nach Version zwei Varianten:

mod_security (1) benutzt folgenden Befehl (z.B. in einer .htaccess Datei):

SecFilterEngine Off

Danach ist mod_security ab diesem Ordner aufwärts deaktiviert.

Bei mod_security2 muss zwingend die apache Konfiguration bemüht werden, da eine Deaktivierung über .htaccess nicht mehr möglich ist.

// Nachtrag

Beide Varianten funktionieren auch direkt in der Apache Konfiguration und lassen sich auch im IfModule Syntax angeben:

Für mod_security Version 2:

<IfModule mod_security2.c>
SecRuleEngine Off
</IfModule>

Für mod_security Version 1:

<IfModule mod_security.c>
SecFilterEngine Off
</IfModule>
KategorienApache - PHP