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.cfreplace '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]jaGeben 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_PWLä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: confixxSoll 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: SERVERNAMEWohin soll Parallels Confixx installiert werden? [/root/confixx]:
Auswahl: /root/confixxWo sollen die Homeverzeichnisse der Kunden liegen? [/var/www]:
Auswahl: /var/wwwWelcher Gruppe sollen die Benutzer der Endkunden angehören? [ftponly]:
Auswahl: ftponlyWelches 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: webWelcher Webserver wird verwendet?
(1) apache1.3
(2) apache2.0
Bitte wählen Sie [1..2]:2
Auswahl: apache2.0Wo liegt die Apache Konfigurationsdatei (httpd.conf)? [/etc/apache2/apache2.conf]:
Auswahl: /etc/apache2/apache2.confWelche 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]:1Wo liegt das Apache stop/start Script? [/etc/init.d/apache2]:
Auswahl: /etc/init.d/apache2Wo sollen die Apache-Logfiles liegen? [/var/log/apache2]:
Auswahl: /var/log/apache2Welche PHP-Engine möchten Sie mit Parallels Confixx zusammen verwenden?
(1) mod_php
(2) suphp
Bitte wählen Sie [1..2](1):2
Auswahl: suphpWo befindet sich die globale php.ini-Datei? [/etc/php5/cgi/php.ini]:
Auswahl: /etc/php5/cgi/php.iniWo möchten Sie die php.ini-Dateien der Benutzer ablegen? [/etc/apache2/confixx_phpini]:
Auswahl: /etc/apache2/confixx_phpiniMö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: SERVERNAMESoll SSL als Feature angeboten werden? [ja|NEIN]:ja
In welchem Verzeichnis sollen die SSL-Keys der Kunden
liegen? [/etc/ssl.key]:
Auswahl: /etc/ssl.keyIn welchem Verzeichnis sollen die SSL-Crts der Kunden
liegen? [/etc/ssl.crt]:
Auswahl: /etc/ssl.crtIn welchem Verzeichnis soll sich die vhosts der Benutzer befinden? [/etc/apache2/confixx_vhosts]:
Auswahl: /etc/apache2/confixx_vhostsMö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.plWo 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/awstatsWelche Datei würde zum Erzeugen von awstats.template.conf verwendet werden? [/etc/awstats/awstats.conf]:
Auswahl: /etc/awstats/awstats.confWollen 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/bind9Wie lautet der Pfad zur named.conf? [/etc/bind/named.conf]:
Auswahl: /etc/bind/named.confIn welcher Datei die DNS Konfiguration gespeichert werden? [/etc/bind/named.confixx]:
Auswahl: /etc/bind/named.confixxIn welchen Ordner sollen die Zonefiles des Nameservers gespeichert werden? [/var/cache/bind/confixxdns]:
Auswahl: /var/cache/bind/confixxdnsWie lautet die IP Ihres primären Nameservers? [xx.xx.xx.xx]:
Auswahl: xx.xx.xx.xxWie lautet die IP Ihres sekundären Nameservers? [yy.yy.yy.yy]:
Auswahl: yy.yy.yy.yyMö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]: SERVERNAMESoll 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: confixxWelcher Gruppe soll der Benutzer „confixx“ angehören? [confixx]:
Auswahl: confixxWo soll das Homeverzeichnis des Benutzers „confixx“ angelegt
werden? [/var/www/confixx]:
Auswahl: /var/www/confixxWie soll der Benutzername des Administrators für das
Parallels Confixx Web-Interface lauten? [Administrator]:
Auswahl: AdministratorWie soll das Passwort für „Administrator“ lauten? (6-12 Zeichen)[ ]:DEIN PW
Auswahl: DEIN PWMöchten Sie scponly benutzen – eine sichere Shell für remote-Zugriff?
scponly muss in diesem Fall installiert sein. [ja|NEIN]:jaMö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: chrootSoll 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: postfixWo liegt die Postfix Config-Datei (main.cf)? [/etc/postfix/main.cf]:
Auswahl: /etc/postfix/main.cfWo liegt die Postfix Aliases-Datei? [/etc/aliases]:
Auswahl: /etc/aliasesWo soll die fertige Parallels Confixx-VirtUserTableDB-Datei liegen? [/etc/postfix/confixx_virtualUsers]:
Auswahl: /etc/postfix/confixx_virtualUsersWo soll die fertige Parallels Confixx-LocalDomains-Datei liegen? [/etc/postfix/confixx_localDomains]:
Auswahl: /etc/postfix/confixx_localDomainsWelche 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: MaildirWo sollen die Homeverzeichnisse der POP3-Benutzer liegen? [/home/email]:
Auswahl: /home/emailBitte geben Sie die UID Ihres MTAs ein [8]:108
Auswahl: 108Bitte geben Sie die GID Ihres MTAs ein [0]:111
Auswahl: 111Welcher Gruppe sollen alle Parallels Confixx POP3-Benutzer angehören? [poponly]:
Auswahl: poponlyWelche Art von Eingangsmailserver verwenden Sie?
(1) IMAP
(2) POP3
Bitte wählen Sie [1..2](2):2
Auswahl: POP3Welchen Port überwacht der Eingangsmailserver (POP3)? [110]:
Auswahl: 110Wollen 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: ProFTPDWo liegt die FTP-Konfigurationsdatei für ProFTP? [/etc/proftpd.conf]: /etc/proftpd/proftpd.conf
Auswahl: /etc/proftpd/proftpd.confWo liegt die FTP-Logdatei? [/var/log/xferlog]: /var/log/proftpd/xferlog
Auswahl: /var/log/proftpd/xferlogWollen 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.cfWo liegt das SpamAssassin stop/start Script? [/etc/init.d/spamassassin]:
Auswahl: /etc/init.d/spamassassinWollen Sie Ihren Benutzern Cronjobs zur Verfügung stellen? [ja|NEIN]:ja
Wollen Sie Ihren Kunden den Zugriff auf MySQL-Datenbanken
ermöglichen? [ja|NEIN]:jaGeben Sie den Kunden-MySQL-Server ein [localhost]:
Auswahl: localhostWo 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'] = '=md5("Eds-9".time())?>'; ?>" -- /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
Apache2
Anschliessend muss man den Apache2 Dienst neustarten:
/etc/init.d/apache2 restart
Confixx
Und nun spätestens kann man http://SERVERNAME aufrufen und die Confixx Lizenz einspielen.
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:
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é
Wau.. vielen Dank für die super Anleitung und die emense Arbeit die Du hattest.
Grüss René
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 ;)
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.
Was genau kommt als Fehler?
es kommt Fehler: Verbindung fehlgeschlagen.
Werde die Installation nochmal wiederholen.
Und wieder das gleiche Problem. Confixx ist nach der Installation nicht aufrufbar.
Wie ich nun entdeckt habe startet php nicht.
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
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.
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.
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.
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.