Über den Author / Internet / Server / Confixx / Confixx Server aufsetzen (Debian Squeeze HowTo)

Confixx Server aufsetzen (Debian Squeeze HowTo)

~19 Min. Lesezeit

Vorwort

Ich möchte gerne ohne viel Umwege eine Hostingplattform aufsetzen und dazu die Software Parallels Confixx nutzen.

In dieser Version, wurde die Anleitung für Debian Lenny überarbeitet und mit den neuen Paketen ersetzt und die nötigen Konfigurationen angepasst, damit diese mit Squeeze zusammen funktioniert.

Meine Anleitung ist konzipiert, das man innerhalb 1 Stunde ein lauffähiges System hat, mit allen Features die ein moderner Webserver bieten soll.

Dazu habe ich ein HowTo geschrieben, welches hoffentlich keine Frage offen lässt.
Confixx lässt sich laut Installationsskript nur mit POP3 oder IMAP betreiben, doch nach dieser Anleitung wird beides gleichzeitig zur Verfügung stehen!

Grundkenntnisse für Linux sind trotzdem ein Must Have! Bitte beachtet weiterhin das für ein produktives System unbedingt Backups eingerichtet werden müssen (bewahrt einem gelegentlich vor viel Arbeit)! Auf Backups, SSH Sicherheit etc. gehe ich in dem HowTo nicht ein, doch sind andere Artikel verfügbar.

Folgende Installationsanleitung wurde für ein Grundsystem geschrieben und erfordert keine Vorinstallationen / -konfigurationen!

Als Erstes noch ein wichtiger Hinweis. Ich habe diese Anleitung an diversen Stellen mit einem replace Befehl beschrieben. Dieser funktioniert nur, wenn auch ein gegebener Standardwert bereits in der entsprechenden Datei enthalten ist. Daher sollte man immer nach kontrollieren, dass die Änderungen auch entsprechen durchgeführt wurden oder gegebenenfalls die Zeile von Hand nach bearbeiten. Dies ist wichtig, um ein funktionierendes System zu erhalten.

Diese Anleitungstexte hier können, wenn nicht anders vermerkt, 1:1 kopiert und in die Shell eingefügt werden. Man muss nicht Zeile für Zeile abarbeiten! Bitte achtet darauf ob Fehler auftreten. Wenn es Fehler gibt, brecht ab und kontaktiert mich. Weitermachen bringt nichts, sondern kann gegebenenfalls eher das Gegenteil bewirken von dem was man sich wünscht.

Installation

Grundpakete

Als Erstes installiere ich ein Haufen Grundpakete mit apt-get.

apt-get update
apt-get upgrade
apt-get install mc ssh ant ant-gcj ant-optional ant-optional-gcj awstats \
apache2 apache2-mpm-prefork apache2-suexec apache2-utils apache2.2-common \
libapache2-mod-python libapache2-mod-suphp php5-cgi suexec perl \
webalizer openssl build-essential bzip2 chkrootkit cpp cpp-4.4 fakeroot g++ gcc \
gcc-4.4-base gcc-4.4 gcc-4.4-base gzip kernel-package gzip tar g++-4.4 \
make libc6 libc6-dev quota libcurl4-openssl-dev libgtk2.0-0 libgtk2.0-bin \
libgtk2.0-common libnet-ssleay-perl libauthen-pam-perl libio-pty-perl libncurses5 \
spamc libdbd-mysql-perl libmysqlclient-dev libmysqlclient16 libdigest-md5-perl \
libncurses5-dev mysql-client mysql-client-5.1 mysql-common mysql-server \
mysql-server-5.1 libxml-dom-perl libxml-parser-perl proftpd-basic proftpd-mod-mysql \
proftpd-mod-ldap quota locate ntpdate ntp postfix unzip zip spamassassin \
php5-mysql php5-gd php5-mcrypt curl nload courier-pop gamin \
courier-authlib courier-authlib-userdb courier-base courier-imap courier-authdaemon \
libwww-curl-perl php5-curl php5-imap iftop courier-imap-ssl courier-pop-ssl \
courier-pop scponly phpmyadmin postgrey policyd-weight \
libsasl2-2 libsasl2-modules sasl2-bin procmail \
libproc-process-perl libsoap-lite-perl php5 suphp-common -y

Falls man ein eigenen DNS Server betreiben möchte, sind zusätzlich folgende Pakete nötig:

apt-get install bind9 bind9utils

Führen nun folgenden Befehl aus und schauen ob es packete gibt die man entfernen könnte…

apt-get -f install

Entfernen kann man diese mit:

apt-get remove Packet1 Packet2 …

Spamassassin

Zuerst erstellen wir ein neuen User unter welchem Spamd laufen wird, damit nicht nobody genommen wird und damit das Autolearn funktioniert:

adduser spamd

Anschliessend schaltet man den SpamAssassin scharf mit folgendem Commando:

replace 'ENABLED=0' 'ENABLED=1' -- /etc/default/spamassassin
replace 'OPTIONS="--create-prefs --max-children 5 --helper-home-dir"' 'OPTIONS="-u spamd --create-prefs --max-children 5 --helper-home-dir --setuid-with-sql"' -- /etc/default/spamassassin

Nun passen wir Postfix an, damit das Zusammenspiel funktioniert:

echo "" >> /etc/postfix/master.cf
echo "spamassassin unix - n n - - pipe" >> /etc/postfix/master.cf
echo " user=spamc argv=/usr/bin/spamc -f -e" >> /etc/postfix/master.cf
echo " /usr/sbin/sendmail -oi -f ${sender} ${recipient}" >> /etc/postfix/master.cf

replace 'smtp inet n - - - - smtpd' 'smtp inet n - - - - smtpd -o content_filter=spamassassin' -- /etc/postfix/master.cf
replace '#smtps inet n - - - - smtpd' 'smtps inet n - - - - smtpd -o content_filter=spamassassin' -- /etc/postfix/master.cf

Damit SSL auf dem SMTP funktioniert, muss noch die Datei /etc/postfix/master.cf manuell bearbeitet werden.

Dabei müssen beim SMTPS Block die 3 Zeilen mit -o wie unten eingetragen sein (# entfernen):

smtps inet n – – – – smtpd -o content_filter=spamassassin
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING

Und starten SpamAssassin neu:

/etc/init.d/spamassassin restart

Quota

Für Confixx aktiviere ich noch die Quota bei der Festplatte, also /etc/fstab öffnen und unter options die gegebene Festplatte mit „,usrquota“ ergänzen.

/dev/md2 / ext3 errors=remount-ro,usrquota 0

Mit folgenden Befehlen kann man das Feature testen:

mount -o remount /
quotacheck -avugm
quotaon -avug

Als nächstes kommt die Chroot Umgebung:

dpkg-reconfigure scponly

Mit Ja bestätigen.

suPHP

Für das suPHP passen wir in der Datei /etc/suphp/suphp.conf noch an:

replace 'logfile=/var/log/suphp/suphp.log' 'logfile=/var/log/apache2/suphp.log' -- /etc/suphp/suphp.conf
replace 'allow_file_group_writeable=false' 'allow_file_group_writeable=true' -- /etc/suphp/suphp.conf
replace 'allow_directory_group_writeable=false' 'allow_directory_group_writeable=true' -- /etc/suphp/suphp.conf
replace 'umask=0077' 'umask=0022' -- /etc/suphp/suphp.conf

Greylisting & Postfix

Greylisting ist eine geniale Möglichkeit sich selbst gegen Spam zu schützen. Greylisting macht, dass der Mailserver wo ein Mail gerne verschickt sich beim Ziel meldet und abgewimmelt wird mit einem Fehler. Sobald er es ein 2tes Mal versucht, wird das Mail angenommen.
Spammails, wo über Skripte verschickt werden fragen 99%ig nie 2 Mal an und werden so niemals angenommen. Alle richtigen Mailserver liefern das Mail dann halt mit einer kleinen Verzögerung aus.
Ich bekomme lieber ein Mail ein paar Minuten später, dafür keine Spammails.

Für den Graylisting Filter und Postfix nehmen wir noch folgende Einstellungen im der /etc/postfix/main.cf vor, mit den folgenden Befehlen:

replace '#myorigin = /etc/mailname' 'myorigin = /etc/mailname' -- /etc/postfix/main.cf
replace 'mydestination = ' 'mydestination = myorigin, ' -- /etc/postfix/main.cf
echo "smtpd_sasl_auth_enable = yes" >> /etc/postfix/main.cf
echo "smtpd_helo_required = yes" >> /etc/postfix/main.cf
echo "smtpd_sasl_security_options = noanonymous" >> /etc/postfix/main.cf
echo "smtpd_sasl_local_domain = \$myorigin" >> /etc/postfix/main.cf
echo "broken_sasl_auth_clients = yes" >> /etc/postfix/main.cf
echo "smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_unknown_sender_domain, check_policy_service inet:127.0.0.1:12525, permit_sasl_authenticated, check_policy_service inet:127.0.0.1:10023" >> /etc/postfix/main.cf
echo "smtpd_sender_restrictions = permit_mynetworks, permit_tls_clientcerts, reject_unknown_sender_domain, reject_non_fqdn_sender, reject_unauth_pipelining, permit_sasl_authenticated" >> /etc/postfix/main.cf
echo "home_mailbox = Maildir/" >> /etc/postfix/main.cf
replace '#mailbox_command = procmail -a "\$EXTENSION"' 'mailbox_command = procmail' -- /etc/postfix/main.cf

Leider hat die aktuelle Policy-Weight ein Bug, sofern man nicht die Beta2 nutzt, was man wie folgt beheben kann:

sed -i "s/'rbl.ipv6-world.net'/#'rbl.ipv6-world.net'/" /usr/sbin/policyd-weight
/etc/init.d/policyd-weight restart

Grund ist eine zum Testzweck aufgebaute IPv6 Blacklist, welche nicht mehr unterhalten wird und False/Positive Meldungen generiert und damit jede Mail als Spam abstempelt.

Nun erstellen oder bearbeiten wir das File /etc/procmailrc mit folgenden Befehlen:

touch /etc/procmailrc
echo "MAILDIR=\$HOME/Maildir" >> /etc/procmailrc
echo "DEFAULT=\$MAILDIR/" >> /etc/procmailrc
echo "DROPPRIVS=yes" >> /etc/procmailrc
echo "" >> /etc/procmailrc
echo ":0fw: spamc.lock" >> /etc/procmailrc
echo "* < 512000" >> /etc/procmailrc
echo "| spamc" >> /etc/procmailrc
echo "" >> /etc/procmailrc
echo ":0" >> /etc/procmailrc
echo "* ^^rom[ ]" >> /etc/procmailrc
echo "{" >> /etc/procmailrc
echo ' LOG="*** Dropped F off From_ header! Fixing up. "' >> /etc/procmailrc
echo " :0 fhw" >> /etc/procmailrc
echo " | sed -e '1s/^/F/'" >> /etc/procmailrc
echo "}" >> /etc/procmailrc

Für den SASL Dienst führen wir nun folgenden Befehl aus:

adduser postfix sasl
mkdir -p /var/spool/postfix/var/run/saslauthd

Und ändern im File /etc/default/saslauthd die Einstellungen mit folgenden Befehlen:

replace 'START=no' 'START=yes' -- /etc/default/saslauthd
replace 'OPTIONS="-c -m /var/run/saslauthd"' 'OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"' -- /etc/default/saslauthd

Danach erstellen oder bearbeiten wie noch die Datei /etc/postfix/sasl/smtpd.conf mit folgenden Befehlen:

touch /etc/postfix/sasl/smtpd.conf
echo "pwcheck_method: saslauthd" >> /etc/postfix/sasl/smtpd.conf
echo "mech_list: plain login" >> /etc/postfix/sasl/smtpd.conf
echo "saslauthd_path: /var/run/saslauthd/mux" >> /etc/postfix/sasl/smtpd.conf
echo "autotransition: true" >> /etc/postfix/sasl/smtpd.conf
/etc/init.d/saslauthd start
/etc/init.d/postfix restart

Apache2

Mit folgendem Befehl werden noch die Module im Apache2 aktiviert (gegebenenfalls mod_php deaktiviert):

a2dismod php5
for mod in cgi rewrite ssl suexec suphp python include expires; do a2enmod $mod; done

Confixx

Vorbereitungen

Nun lesen wir noch die UID/GID aus von Postfix mit:

cat /etc/passwd | grep postfix

Die Rückmeldung sieht ca. so aus:
postfix:x:108:111::/var/spool/postfix:/bin/false
Wobei die erste Zahl als UID und die 2te als GID notieren sollten, diese brauchen wir anschliessend bei der Confixx Installation.

Als erstes sollte man schauen, das der Server als Servername (hostname -f) ein Host hat, welcher auflösbar ist (zb r0132423.meinrooty.de), denn dieser muss nachfolgend verwendet werden.

Konfiguration

Nun geht es los mit der eigentlichen Confixx Installation.
Eigentlich kann man fast alle Einstellungen einfach durch klicken ohne viel zu denken, nur und die Standardwerte stimmen fast immer, ausser beim Proftpd. Jedenfalls habe ich alle Userinteraktionen hervorgehoben.

Als kleine Anmerkung: Als SERVERNAME kann die eigene Domain oder eine Subdomain verwenden. Standardmässig ist dies die Domain ‚murawski.ch‘. Ich wollte aber das Adminpanel unter einer Subdomain erreichbar haben und habe daher ’subdomain.murawski.ch‘ eingegeben.

Aber nun los:

wget http://download1.parallels.com/Confixx/ConfixxPro3.3/3.3.9/confixx_pro_3.3.9-14_install.tgz
tar xfz confixx_pro_3.3.*.tgz
cd confixx-install

Mit folgendem Befehl geht das Konfigurieren los:

./configure.pl
1 Deutsch
2 normales Parallels Confixx
Dienste sind eingerichtet und beigefügten Lizenzvertrag gelesen
und stimmen Sie ihm zu? [ja|NEIN]ja

Geben Sie den Datenbank-Server für Parallels Confixx ein [localhost]:
Auswahl:

Geben Sie einen Benutzer mit Rootrechten für die Datenbank auf „localhost“
ein [root]:
Auswahl:

Geben Sie das Passwort für den Datenbank-Benutzer „root“ auf „localhost“ ein [ ]:
Auswahl:DEIN_PW

Läuft die Datenbank auf dem Server „localhost“ schon
und sollen die Eingaben jetzt auf ihre Richtigkeit überprüft werden? [JA|nein]:

Geben Sie den Namen für die Parallels Confixx-Datenbank ein [confixx]:
Auswahl: confixx

Soll ein extra Benutzer (nicht „root“)
für die Parallels Confixx-Datenbank angelegt werden (empfohlen)? [JA|nein]:

Geben Sie einen Benutzer für die Datenbank „confixx“ ein [confixx]:
Wie heißt Ihr Server (kompletter Domainname)? [localhost.ch]:SERVERNAME
Auswahl: SERVERNAME

Wohin soll Parallels Confixx installiert werden? [/root/confixx]:
Auswahl: /root/confixx

Wo sollen die Homeverzeichnisse der Kunden liegen? [/var/www]:
Auswahl: /var/www

Welcher Gruppe sollen die Benutzer der Endkunden angehören? [ftponly]:
Auswahl: ftponly

Welches Präfix sollen die Benutzer der Endkunden haben (mind. 1
höchstens 5 Zeichen, nur Buchstaben und Zahlen, erstes Zeichen
Buchstabe)? Das Präfix kann später nicht mehr geändert werden. [web]:
Auswahl: web

Welcher Webserver wird verwendet?
(1) apache1.3
(2) apache2.0
Bitte wählen Sie [1..2]:2
Auswahl: apache2.0

Wo liegt die Apache Konfigurationsdatei (httpd.conf)? [/etc/apache2/apache2.conf]:
Auswahl: /etc/apache2/apache2.conf

Welche IP soll standardmäßig für die virtuellen Hosts verwendet werden?
(1) xx.xx.xx.xx
(2) xx.xx.xx.xx
Bitte wählen Sie [1..2]:1

Wo liegt das Apache stop/start Script? [/etc/init.d/apache2]:
Auswahl: /etc/init.d/apache2

Wo sollen die Apache-Logfiles liegen? [/var/log/apache2]:
Auswahl: /var/log/apache2

Welche PHP-Engine möchten Sie mit Parallels Confixx zusammen verwenden?
(1) mod_php
(2) suphp
Bitte wählen Sie [1..2](1):2
Auswahl: suphp

Wo befindet sich die globale php.ini-Datei? [/etc/php5/cgi/php.ini]:
Auswahl: /etc/php5/cgi/php.ini

Wo möchten Sie die php.ini-Dateien der Benutzer ablegen? [/etc/apache2/confixx_phpini]:
Auswahl: /etc/apache2/confixx_phpini

Möchten Sie php-Spezial verwenden? Falls ja, analysiert Parallels Confixx httpd-Speziale nach php_admin_*-Direktiven und fügt php-Einstellungen zu einer Benutzer-php.ini-Datei hinzu. [JA|nein]:JA

Unter welcher Domain sollen alle Kunden-Seiten erreichbar sein?
z.B. web##.DEINE_DOMAIN. [DEINE_DOMAIN]:SERVERNAME
Auswahl: SERVERNAME

Soll SSL als Feature angeboten werden? [ja|NEIN]:ja

In welchem Verzeichnis sollen die SSL-Keys der Kunden
liegen? [/etc/ssl.key]:
Auswahl: /etc/ssl.key

In welchem Verzeichnis sollen die SSL-Crts der Kunden
liegen? [/etc/ssl.crt]:
Auswahl: /etc/ssl.crt

In welchem Verzeichnis soll sich die vhosts der Benutzer befinden? [/etc/apache2/confixx_vhosts]:
Auswahl: /etc/apache2/confixx_vhosts

Möchten Sie den Weblog-Analyzer von AWstats verwenden? [ja|NEIN]:ja

Wo befindet sich das awstats.pl-Skript? [/usr/lib/cgi-bin/awstats.pl]:
Auswahl: /usr/lib/cgi-bin/awstats.pl

Wo möchten Sie die AWstats-Konfigurationsdateien der Benutzer aufbewahren? HINWEIS: Sie sollten dafür /etc/awstats oder das selbe Verzeichnis, in dem sich awstats.pl befindet, verwenden.
[/etc/awstats]:
Auswahl: /etc/awstats

Welche Datei würde zum Erzeugen von awstats.template.conf verwendet werden? [/etc/awstats/awstats.conf]:
Auswahl: /etc/awstats/awstats.conf

Wollen Sie Ihren Kunden Webalizer-Statistiken zur Verfügung stellen?
Das Programm Webalizer muss hierfür installiert sein. [ja|NEIN]:

Wollen Sie Ihren Kunden FrontPage zur Verfügung stellen?
Die FrontPage Extensions müssen hierfür installiert sein. [ja|NEIN]:

Möchten Sie DNS anbieten? [ja|NEIN]:ja (Falls sie kein eigenen DNS hosten wollen, hier NEIN eintragen)

Soll der primäre Nameserver auf diesem Server liegen? [JA|nein]:

Soll der sekundäre Nameserver auf einem anderen Server liegen? [ja|NEIN]:

Wo befindet sich das Stop/Start-Skript für den DNS-Server? [/etc/init.d/bind9]:
Auswahl: /etc/init.d/bind9

Wie lautet der Pfad zur named.conf? [/etc/bind/named.conf]:
Auswahl: /etc/bind/named.conf

In welcher Datei die DNS Konfiguration gespeichert werden? [/etc/bind/named.confixx]:
Auswahl: /etc/bind/named.confixx

In welchen Ordner sollen die Zonefiles des Nameservers gespeichert werden? [/var/cache/bind/confixxdns]:
Auswahl: /var/cache/bind/confixxdns

Wie lautet die IP Ihres primären Nameservers? [xx.xx.xx.xx]:
Auswahl: xx.xx.xx.xx

Wie lautet die IP Ihres sekundären Nameservers? [yy.yy.yy.yy]:
Auswahl: yy.yy.yy.yy

Möchten Sie DNR anbieten? [ja|NEIN]:

Wollen Sie multilinguale Domainnamen unterstützen? [ja|NEIN]:

Unter welchem Domainnamen sollen die Parallels Confixx Webseiten
erreichbar sein? [DEINE_DOMAIN]: SERVERNAME

Soll für den Virtualhost „acp.DEINE_DOMAIN“ die Standard-IP „xx.xx.xx.xx“
verwendet werden? [JA|nein]:

Wie soll der Benutzer für die Parallels Confixx Webseiten heißen? [confixx]:
Auswahl: confixx

Welcher Gruppe soll der Benutzer „confixx“ angehören? [confixx]:
Auswahl: confixx

Wo soll das Homeverzeichnis des Benutzers „confixx“ angelegt
werden? [/var/www/confixx]:
Auswahl: /var/www/confixx

Wie soll der Benutzername des Administrators für das
Parallels Confixx Web-Interface lauten? [Administrator]:
Auswahl: Administrator

Wie soll das Passwort für „Administrator“ lauten? (6-12 Zeichen)[ ]:DEIN PW
Auswahl: DEIN PW

Möchten Sie scponly benutzen – eine sichere Shell für remote-Zugriff?
scponly muss in diesem Fall installiert sein. [ja|NEIN]:ja

Möchten Sie scponly in einer chroot-Umgebung benutzen? [JA|nein]:JA

Geben Sie den Namen des Verzeichnisses an, in dem Parallels Confixx die chroot-Umgebung erstellen soll (dieses wird in „/var/www“ erstellt). [chroot]:
Auswahl: chroot

Soll der Mailserver auf diesem Server liegen? [JA|nein]:

Welchen MTA (Mail Transfer Agent) benutzen Sie?
(1) postfix
(2) qmail
(3) sendmail
Bitte wählen Sie [1..3]:1
Auswahl: postfix

Wo liegt die Postfix Config-Datei (main.cf)? [/etc/postfix/main.cf]:
Auswahl: /etc/postfix/main.cf

Wo liegt die Postfix Aliases-Datei? [/etc/aliases]:
Auswahl: /etc/aliases

Wo soll die fertige Parallels Confixx-VirtUserTableDB-Datei liegen? [/etc/postfix/confixx_virtualUsers]:
Auswahl: /etc/postfix/confixx_virtualUsers

Wo soll die fertige Parallels Confixx-LocalDomains-Datei liegen? [/etc/postfix/confixx_localDomains]:
Auswahl: /etc/postfix/confixx_localDomains

Welche Art der Mailablage haben Sie?
(1) /var/spool/mail/USER
(2) HOMEDIR/Mailbox
(3) HOMEDIR/Maildir/
Bitte wählen Sie [1..3](1):3
Auswahl: HOMEDIR/Maildir/

Wie heißt das Mailverzeichnis? [Maildir]:
Auswahl: Maildir

Wo sollen die Homeverzeichnisse der POP3-Benutzer liegen? [/home/email]:
Auswahl: /home/email

Bitte geben Sie die UID Ihres MTAs ein [8]:108
Auswahl: 108

Bitte geben Sie die GID Ihres MTAs ein [0]:111
Auswahl: 111

Welcher Gruppe sollen alle Parallels Confixx POP3-Benutzer angehören? [poponly]:
Auswahl: poponly

Welche Art von Eingangsmailserver verwenden Sie?
(1) IMAP
(2) POP3
Bitte wählen Sie [1..2](2):2
Auswahl: POP3

Welchen Port überwacht der Eingangsmailserver (POP3)? [110]:
Auswahl: 110

Wollen Sie Majordomo benutzen – ein Programm zur Verwaltung von Maling-Listen? [ja|NEIN]:

Welchen FTP-Daemon benutzen Sie?
(1) ProFTPD
(2) vsftpd
(3) wu-ftpd
Bitte wählen Sie [1..3]:1
Auswahl: ProFTPD

Wo liegt die FTP-Konfigurationsdatei für ProFTP? [/etc/proftpd.conf]: /etc/proftpd/proftpd.conf
Auswahl: /etc/proftpd/proftpd.conf

Wo liegt die FTP-Logdatei? [/var/log/xferlog]: /var/log/proftpd/xferlog
Auswahl: /var/log/proftpd/xferlog

Wollen Sie Quota benutzen? [ja|NEIN]:ja

Wollen Sie Ihren Benutzern ColdFusion zur Verfügung stellen? [ja|NEIN]:

Möchten Sie die ModPython Unterstützung aktivieren? [ja|NEIN]:ja
Wollen Sie Ihren Benutzern SpamAssassin zur Verfügung stellen? [ja|NEIN]:ja

##############################################
Parallels Confixx SpamAssassin Konfiguration
##############################################

Wo liegt die SpamAssassin Konfigurationsdatei? [/etc/mail/spamassassin/local.cf]:
Auswahl: /etc/mail/spamassassin/local.cf

Wo liegt das SpamAssassin stop/start Script? [/etc/init.d/spamassassin]:
Auswahl: /etc/init.d/spamassassin

Wollen Sie Ihren Benutzern Cronjobs zur Verfügung stellen? [ja|NEIN]:ja

Wollen Sie Ihren Kunden den Zugriff auf MySQL-Datenbanken
ermöglichen? [ja|NEIN]:ja

Geben Sie den Kunden-MySQL-Server ein [localhost]:
Auswahl: localhost

Wo liegt das Verzeichnis mit den MySQL-Datenbanken? [/var/lib/mysql]:

Wollen Sie Ihren Kunden PhpMyAdmin zur Verfügung stellen? [ja|NEIN]:ja

###### PARALLELS CONFIXX INSTALLATION #######

Die Konfiguration wurde erfolgreich abgeschlossen.

Alle Einstellungen wurden in der Datei „/root/src/confixx-install/.config“ gespeichert.
Falls Sie die Konfiguration wiederholen möchten, führen Sie
das Script „./configure.pl“ erneut aus.

Rufen Sie jetzt „/root/src/confixx-install/install.pl“ auf, um die Installation
zu starten.

###########################################

Jetzt gibt es ein Unterbruch, bevor wir wirklich installieren, da leider noch ein paar Anpassungen für Debian nötig sind. In der Datei .config muss man Anpassungen vornehmen, mit folgenden Commands:

replace "\$apacheGroup = '\${APACHE_RUN_GROUP}';" "\$apacheGroup = 'www-data';" -- .config
replace "\$apacheUser = '\${APACHE_RUN_USER}';" "\$apacheUser = 'www-data';" -- .config

Anderenfalls gibt es seltsame Rechteprobleme, weil Confixx diese Variablen nicht richtig ausliest, da diese in neueren Versionen des Apache2-Paketes in der Datei /etc/apache2/envvars gespeichert sind. Confixx dies aber nicht beachtet und dann eine Gruppe ${APACHE_RUN_GROUP} anlegt und die Hostings ihm zuweist.

Bevor wir nun die Installation starten, legen wir noch eine Sicherungsdatei der Konfiguration an, falls wir irgendwann nochmals den Installer brauchen, müssen wir nicht nochmals alles konfigurieren:

cp .config .config-backup

Installation

Und nun starten wir die Installation:

./install.pl

Gegebenenfalls muss man noch weitere Module mit „0“ und Enter bestätigen.
Hier gibt es dann noch ein paar Mal eine Userinteraktion wo man einfach Enter drücken kann. Anschliessend ist Confixx installiert und fertig.

Beachtet bitte, das der obere Schritt NICHT wiederholt werden sollte, da anderenfalls Datenverlust auftritt.

Confixx Optionen

Viele Einstellungen lassen sich mit einem Tool nachjustieren, so nutzen wir dies gleich um eine Einstellung zu ändern:

/root/confixx/admin/admin.pl
2 -> Webserver
11 -> Httpd Options
0 -> zurück
1 -> weiter

Schaltet man noch die Http Optionen an.

Dies kann man problemlos auch noch im Betrieb machen, den Installer sollte man jedoch nicht mehr starten, nachdem Kunden darf sind (anderenfalls mit mir Kontakt aufnehmen, dann sage ich euch wie ihr dies trotzdem machen könnt)

Cronjob

Folgender Cronjob muss dann noch eingetragen werden:

*/1 * * * * /root/confixx/confixx_counterscript.pl

Wie dies geht, findet ihr unter dem Artikel: Cronjobs einrichten und bearbeiten

Und damit Confixx mal die komplette konfiguration schreibt, führen wir den Cronjob Befehl mal manuell mit aktivierter Ausgabe aus (viele Infos):

/root/confixx/confixx_counterscript.pl -dbg -fh

Die Confixx Installation ist nun eigentlich komplett abgeschlossen, aber noch muss man die AWstats Bilder verfügbar machen.

Abschlussarbeiten

AWStats

Die AWstats Bilder hab ich mal aus dem offiziellen Paket extrahiert und hochgeladen:

cd /var/www/confixx/html
wget http://www.murawski.ch/wp-content/uploads/2010/01/awstats-pic.tar.gz
tar xvfz awstats-pic.tar.gz
rm awstats-pic.tar.gz
chown -R confixx:confixx /var/www/confixx/html/awstats-icon

phpMyAdmin

Und noch die Anpassungen für den phpmyadmin:

mkdir -p /var/www/confixx/html/phpmyadmin
chown -R confixx:confixx /usr/share/phpmyadmin /var/www/confixx/html/phpmyadmin
echo "AddType application/x-httpd-php .php" >> /etc/apache2/conf.d/phpmyadmin.conf
find /usr/share/phpmyadmin/ -type d | xargs -n 1 dpkg-statoverride --add --update confixx confixx 755
find /usr/share/phpmyadmin/ -type f | xargs -n 1 dpkg-statoverride --add --update confixx confixx 644

Anschliessend öffnet man die Datei /etc/fstab und fügt folgende Zeile ans Ende ein:

/usr/share/phpmyadmin /var/www/confixx/html/phpmyadmin none ro,bind 0 0

Auf der Shell kann nun der Befehl:

mount -a

ausgeführt werden.

Anschliessend generieren wir noch ein Schlüssel für phpmyadmin wie folgt:

replace '?>' "\$cfg['blowfish_secret'] = ''; ?>" -- /etc/phpmyadmin/config.inc.php

Jetzt müssen wir noch den Alias aktivieren und alles ist erledigt:

replace '#Alias /phpmyadmin /usr/share/phpmyadmin' 'Alias /phpmyadmin /usr/share/phpmyadmin' -- /etc/apache2/conf.d/phpmyadmin.conf

Bei Fehlermeldungen von PhpMyAdmin
Zu PhpMyAdmin habe ich ein separater MiniArtikel bei Fehlermeldungen gemacht: PhpMyAdmin 3.4.9

Apache2

Anschliessend muss man den Apache2 Dienst neustarten:

/etc/init.d/apache2 restart

Address already in use: make_sock: could not bind to address Fehler
Falls der Fehler auftritt, ist noch LISTEN mehrfach in eurer Konfiguration. Standardmässig ist dies in ports.conf enthalten, dennoch schreiben neuere Confixx Varianten dies auch automatisch in die mhosts.conf Datei, was misslich ist. Bei einem Fehler (nur bei genau dem Fehler) einfach folgenden Befehl ausführen:

replace 'Listen' '#Listen' -- /etc/apache2/ports.conf
/etc/init.d/apache2 restart

Confixx

Und nun spätestens kann man http://SERVERNAME aufrufen und die Confixx Lizenz einspielen.

Bei Include Fehlern bei der Confixx Webseite / Confixx zeigt nur weisse Seite / Kein Login Button auf der Confixx Seite
Um diese zu beseitigen muss man gegebenenfalls den include_path anpassen von Confixx. Da Confixx nur mit mod_php läuft und nicht per suphp muss man dies in der /etc/apach2/confixx_mhost.conf anpassen.

Dort sucht man sich ServerName dein.confixx.host und im gleichen VirtualHost ändert man die include_path Variable ab wie folgt:

php_admin_value include_path „.:/var/www/confixx/html/include:/var/www/confixx/html:/var/www/confixx/html/PEAR“

Danach startet ihr den Apache2 Dienst erneut mit:

/etc/init.d/apache restart

Ist dies gemacht, wird es rund 1 Minute Dauern (je nach eingerichteten Cronjob) und die Lizenz ist aktiviert und man kann sich an der Installation erfreuen. 😉

Falls es bei deiner Installation zu Fehlern kommt oder nicht wie gewünscht funktioniert, kannst du gerne mit mir Kontakt über das Kontaktformular aufnehmen. Bitte lade folgendes PrüfTool herunter und führe es aus (Ausführrecht nicht vergessen) und sende mir das Logfile mit.


Weitere Empfehlungen

Auch empfehle ich euch noch folgende 2 Artikel für einen neuen Rootserver umzusetzen, da diese zur Sicherheit beitragen:

About Stefan

avatar

Ein männlicher IT Nerd, durchstöbert das Web nach speziellen Gadgets, unentbehrlicher Software und Alles was man im IT Sektor nicht verpassen darf.

Immer hilfsbereit wenn Probleme zu lösen sind oder das Unmögliche umgesetzt werden sollte.

Weitere interessante Artikel

User Profile migrieren oder backuppen

~0 Min. LesezeitFirmen synchronisieren User Profile über die Domain. Privatpersonen verlieren oft das User Profil, …

Firefox 43 – Platzsparender Hack

~0 Min. LesezeitMan sieht wie schnell die Zeit vergeht, wenn man wiedermal den Platzsparenden Hack …

15 Kommentare

  1. avatar

    Servus,

    erstmal vielen Dank für Deine Anleitung!

    Ich glaube Du hast einen kleinen Fehler in Bezug auf Kunden MySQL Datenbanken:

    Wollen Sie Ihren Kunden den Zugriff auf MySQL-Datenbanken
    ermöglichen? [ja|NEIN]:

    Da Müsste ein ‚ja‘ stehen, sonst ist die Konfiguration an dieser Stelle fertig und es fehlen dann ja noch ein paar Einstellungen.

    Viele Grüße,
    René

  2. avatar

    Wau.. vielen Dank für die super Anleitung und die emense Arbeit die Du hattest.

    Grüss René

  3. avatar

    Ich hatte ja noch die alte Version vom Lenny, wo 6-8 Tage drinsteckten. Dieses Mal musste ich zum Glück nur die Anleitung durchgehen und die neuen Paketnamen eintragen und paar Dinge anpassen. Danke noch für den Fehler, der war auch noch in der alten Anleitung 😉

  4. avatar

    Hallo. Also das ist die erste Anleitung mit der ich auch mal bis zum Schluss komme. Doch irgendwie muss ich etwas falsch gemacht haben. Wenn ich den Server aufrufe mit der vorher angelegten Domain wird kein Confixx angezeigt.

  5. avatar

    Was genau kommt als Fehler?

  6. avatar

    es kommt Fehler: Verbindung fehlgeschlagen.
    Werde die Installation nochmal wiederholen.

  7. avatar

    Und wieder das gleiche Problem. Confixx ist nach der Installation nicht aufrufbar.

  8. avatar

    Wie ich nun entdeckt habe startet php nicht.

  9. avatar

    So jetzt noch die Fehlermeldung. Hatte heute Mittag nicht viel Zeit gehabt.
    Wenn ich den Apache starten möchte kommt diese Fehlermeldung.

    Starting web server: apache2apache2: Could not reliably determine the server’s fully qualified domain name, using s12.serverdomain.de for ServerName
    (98)Address already in use: make_sock: could not bind to address [::]:80
    (98)Address already in use: make_sock: could not bind to address [::]:443

  10. avatar

    Hallo Ich mal wieder. Also ein bekannter hat sich das mal mit mir angeschaut. Er gab mir folgenden Rat.
    /etc/apache2/httpd.conf alles auskommentieren und die 000-default löschen
    Danach war auch das Confixx erreichbar. Habe dann mal den Counterscript noch ausgeführt damit die Lizenz freigeschalten werden kann. Nachdem ich ein Web eingerichtet hatte, wollte ich Dateien per FTP Hochladen. Leider komme ich nun auch nicht auf den FTP.

  11. avatar

    so ich hab jetzt nochmal einen vserver aufgesetzt und irgendwie geht das nicht. Hab dich mal in Skype gespeichert. Würde mich freuen wenn Du dich kurz mit mir in Verbindung setzt.

  12. avatar

    Irgendwas machst du komplett falsch.
    (98)Address already in use: make_sock: could not bind to address [::]:80
    (98)Address already in use: make_sock: could not bind to address [::]:443

    FTP läuft sowieso, sobald proftpd installiert ist. Der Port müsste wenigstens erreichbar sein. Ob User/PW dann geht, kommt darauf an ob der User bereits eingerichtet ist (länger als deine Cronjob Dauer), den der User wird erst aktiviert wenn der Cronjob das nächste Mal gestartet hat.

    Skype bin ich nie einfach so, ICQ durch den Tag.

  13. avatar

    Problemlösung: „UseIPv6 off“ in der /etc/proftpd/proftpd.conf eintragen und den Dienst mit „/etc/init.d/proftpd restart“ neu starten. Der proftpd hat nur den Port auf dem IPv6 Protokoll geöffnet und nicht für das IPv4.
    Die Datei /etc/apache2/httpd.conf muss leer sein, damit der apache2 es ladet, weil Confixx das selber in die Konfiguration reinschreibt. Standardmässig ist die Datei aber leer.

  1. Pingback: Server mit Confixx neu aufsetzten klappt nicht - WHL Community Foren

  2. Pingback: Benutzerdefinierte Filterregeln unter Confixx » IT Blögg