Dieser Text befindet sich inhaltlich auf dem Stand des Jahres 2004 und wird nicht mehr gepflegt oder aktualisiert. Er ist in jeder Hinsicht veraltet und steht nur noch zu Dokumentationszwecken online.
Die neueren sog. "Rootserver", die 1&1 im Juni 2004 mit Suse 9.0 oder 9.1 und Confixx 3.0 bzw. 3.02 ausliefert, scheinen doch noch einige konfigurationsmäßige Schwächen zu haben, insbesondere, wenn es um das Monstrum Confixx und seine Einbindung geht.
Einige Unschönheiten, ja vielleicht sogar Bugs und auch Konfigurationsvorschläge habe ich hier zusammengestellt.
mySQL-Zugriff für Confixx fehlt
Es scheint ein Problem bei den Zugriffsrechten für Confixx auf die
mySQL-Datenbank zu geben, das sich unter anderem in der Fehlermeldung
#2127: Access denied for user: 'root@localhost' (Using password: NO)
in
der Confixx-Weboberfläche (Administrator) äußert.
Ausgelöst wird das Problem offenbar beim Versuch, ein Backup einer Kunden-mySQL-Datenbank über die Restore-Funktion von Confixx wieder einzuspielen. Die Folge ist, dass die in Confixx vorgenommenen Änderungen vom Counterscript nicht mehr in das System übernommen werden, aber offenbar in der Confixx-Datenbank als "erledigt" abgehakt werden. Das hat dann die unschöne Folge, dass bspw. Domains in der Confixx-Oberfläche existieren, die entsprechenden vhosts für den Webserver aber nicht angelegt werden.
Abhilfe: In /root/confixx/confixx_main.conf
$mysqlUserServer = 'localhost';
$mysqlUserUser = 'root';
$mysqlUserPw = 'MEINPASSWORT'
setzen. Die übrigen Variablen wie $dbServer
, $dbUser
usw. werden dabei
nicht verändert. Als MEINPASSWORT
ist das mySQL-root-Passwort
einzusetzen, nicht etwa das Root-Passwort des Servers!
Das mySQL-root-Passwort findet man in /root/.my.cnf
.
.shtml-Dateien werden nicht geparst
Im Auslieferungszustand werden, egal ob in Confixx SSI für diesen Kunden
aktiviert ist oder nicht, .shtml
-Dateien nicht geparst, sondern als Text
ausgeliefert.
Abhilfe: In /etc/apache2/mod_mime-defaults.conf
vor den Zeilen
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml
das Kommentarzeichen #
entfernen.
Confixx-Oberfläche erscheint statt nichtexistenten (Sub-)Domains
Wenn für eine Subdomain oder Domain zwar ein DNS-Eintrag (A-Record) existiert, der auf die IP des Servers zeigt, aber die Domain in Confixx nicht eingerichtet ist, erscheint im Auslieferungszustand stattdessen der Login-Bildschirm für Confixx, was man ziemlich sicher nicht haben möchte.
Ursache dafür ist, dass der Apache immer dann, wenn er eine bestimmte
Domain als VirtualHost nicht findet, auf die für den ersten
VirtualHost konfigurierten Daten zugreift. Confixx sieht das auch vor,
"versteckt" allerdings dummerweise diesen Eintrag in
/etc/apache2/confixx_vhost.conf
und übersieht dabei, dass in
/etc/apache2/confixx_mhost.conf
auch bereits VirtualHost-Einträge
vorkommen und letztere Datei als erste ausgeführt wird.
Zur Abhilfe fügt man daher in /etc/apache2/confixx_mhost.conf
ganz
am Anfang (oder in /etc/apache/httpd.conf
vor dem include
-Befehl,
mit dem /etc/apache2/confixx_mhost.conf
eingebunden wird, folgendes
hinzu:
NameVirtualHost _123.321.123.321_:80
<VirtualHost _123.321.123.321_:80>
DocumentRoot /srv/www/confixx/html/gesperrt
php_admin_value open_basedir /srv/www/confixx/html/gesperrt
php_admin_value file_uploads 0
</VirtualHost>
Für SSL will man das dann genauso handhaben; damit https://
für Confixx
aber noch funktioniert, fügt man folgenden Block an derselben Stelle wie
oben ein:
NameVirtualHost _123.321.123.321_:443
<VirtualHost _123.321.123.321_:443>
DocumentRoot /srv/www/confixx/html/gesperrt
SSLEngine on
SSLCipherSuite ...
SSLCertificateFile ...
SSLCertificateKeyFile ...
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
Statt ...
müssen freilich die Daten aus dem Abschnitt für Confixx
übernommen werden, und 123.321.123.321
ist jeweils durch die richtige IP
zu ersetzen. Danach mittels /etc/init.d/apache2 reload den
Webserver neu starten.
Wichtig: Änderungen in /etc/apache2/confixx_vhost.conf
sind sinnlos,
weil diese Datei von Confixx bei jeder Änderung, die den Webserver
betrifft, neu generiert wird!
Falls nunmehr statt der Confixx-Oberfläche eine Fehlermeldung generiert wird, findet sich eine Lösung direkt im folgenden Abschnitt.
Fehlermeldungen statt "Gesperrt!"-Seite
Falls Confixx bei gesperrten oder nicht-existen (Sub-)Domains statt einer
Fehlerseite PHP-Fehlermeldungen ausspuckt, so liegt die Ursache in der
Datei /srv/www/confixx/html/gesperrt/index.php
.
Zur Abhilfe kann man diese durch eine einfachere, funktionierende Variante ersetzen:
<?
####### Confixx(R) 2.0 Professional
### Copyright Yippi-Yeah! E-Business GmbH 2001-2003
####### http://www.confixx.de - info@yippi-yeah.com
# include("../settings.inc.php");
if (!isset($HTTP_HOST)) $domain = $_SERVER["HTTP_HOST"]; else $domain = $HTTP_HOST;
?>
<HTML>
<HEAD>
<META content="text/html; charset=<? echo $lang_html_charset; ?>" http-equiv=Content-Type>
<LINK href="<?=$strSkinName?>/style.css" rel=stylesheet type=text/css>
</HEAD>
<BODY bgColor=#ffffff bottomMargin=0 leftMargin=0 topMargin=0 MARGINHEIGHT="0" MARGINWIDTH="0">
<table class="tblbgcolor" align="left" border="0" cellpadding="3" cellspacing="0" bordercolorlight="#CCCCCC" bordercolordark="#FFFFF
F">
<tr>
<TD vAlign=top><p> </p></TD>
<TD valign="top">
<P align="center"> </P>
<P align="center"><img src="logogross.gif" width="382" height="101"></P>
<P align="center">The domain "<? echo $domain; ?>" is not available.</P>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Natürlich ist hier auch ansonsten der Phantasie Spielraum gelassen.
Spamfilter lässt sich nicht abschalten
Zwar lässt sich der Spamfilter im Reseller-Menü von Confixx für einzelne
Kunden deaktivieren; das führt aber leider nicht dazu, dass diese Kunden
ihre Mail ungefiltert erhalten, sondern nimmt ihnen nur die Möglichkeit,
Einstellungen des Spamfilters zu ändern. Die Ursache liegt hier in der
Implementation in Confixx: es wird einfach in
/etc/mail/spamassassin/local.cf
eine Reihe von
all_spam_to
-Wildcard-Einträgen ähnlich wie die folgenden vorgenommen:
[...]
all_spam_to *@domain-eins.example
all_spam_to *@www.domain-eins.example
all_spam_to *@sub.domain-eins.example
all_spam_to *@www.sub.domain-eins.example
[...]
So weit, so gut - leider wird die Mail am Ende ja ggf. in ein Postfach
ausgeliefert, und dieses Postfach heisst dann webXpY@localhost
- und das
wird von obigen Ausdrücken natürlich genau nicht erfasst. Abhilfe dafür ist
mir bislang nicht eingefallen, für Vorschläge habe ich ein offenes Ohr.
Es bleibt natürlich als vorübergehende Abhilfe immer noch die
"Holzhammermethode", SpamAssassin ganz abzustellen. Am einfachsten dürfte
es sein, in /etc/procmailrc
folgende Zeilen auszukommentieren:
:0fw
* < 256000
| /usr/bin/spamc -f
vhost im access-Log des Webservers mitloggen
Normalerweise wird von Confixx im access-Log des Webservers nicht
mitgeloggt, für welchen vhost der Zugriff war; das kann sich recht
störend auswirken. Zwar ist in der Definition in
/etc/apache2/confixx_vhost.conf
der vhost vorgesehen, gefolgt von
einem besonderen Trenner:
LogFormat "%V:#:%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" confixx
CustomLog |/root/confixx/pipelog.pl confixx
Jedoch wird diese Information offensichtlich von pipelog.pl
nicht nur
ausgewertet, sondern auch abgeschnitten.
Als Abhilfe bietet es sich daher an, ein anderes LogFormat zu
definieren. Dazu bindet man eine eigene Konfigurations-Datei, die bspw.
special.conf
heißen kann, nach der confixx_vhost.conf
(die
wiederum von der confixx_mhost.conf
eingebunden wird) ein, also entweder
ganz am Ende der confixx_mhost.conf
oder der httpd.conf
. In diese
special.conf
kommt dann bspw. folgendes:
LogFormat "%V:#:%V %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" confixx
Das ergänzt den vhost für die einzelnen access
-Logs der Nutzer.
Alternativ oder zusätzlich kann man das auch für das Gesamt-access
-Log des
Servers ergänzen, das sich in /var/log/apache2/access_log
findet. Dazu
wird in /etc/apache2/mod_log_config.conf
an passender Stelle ergänzt:
LogFormat "%V %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" special_vhost
Aktiviert wird das dann in /etc/sysconfig/apache2
, indem die Zeile mit
APACHE_ACCESS_LOG
folgendermaßen gesetzt wird:
APACHE_ACCESS_LOG="/var/log/apache2/access_log special_vhost"
Dieser Text befindet sich inhaltlich auf dem Stand des Jahres 2004 und wird nicht mehr gepflegt oder aktualisiert. Er ist in jeder Hinsicht veraltet und steht nur noch zu Dokumentationszwecken online.
Lizenz
Dieser Inhalt ist unter der Creative Commons-Lizenz BY-NC-SA 4.0 DE lizenziert; er darf unter Namensnennung des Autors nicht-kommerziell weitergegeben und auch bearbeitet werden, soweit das neue Werk gleichfalls wieder dieser Creative-Commons-Lizenz unterliegt. Die Einzelheiten ergeben sich aus dem Lizenzvertrag.