Benötigte Komponenten/Programme * BACKCLICK kann sowohl auf mehreren Server verteilt installiert werden, als auch auf einem einzelnen Server. Welche Installation sinnvoll ist, hängt von der Menge der zu versendenden Newsletter und der gewünschten Versandgeschwindigkeit ab. Wenn BACKCLICK auf nur einem Server installiert werden soll, dann ist dieser sowohl Application-Server, Datenbank-Server als auch Mailengine-Server. Nachfolgend finden Sie eine Liste von Programmen, die auf den entsprechenden Servern installiert werden müssen. Die Konfiguration der einzelnen Programme wird in den entsprechenden Kapiteln dieser Anleitung beschrieben.
Datenbank-Server:
Application-Server:
Mailengine-Server:
Sprache des Betriebssystems einstellen:
Die Sprache wird mittels Yast eingestellt: System -> Select Language -> Primary Language muss auf German gestellt werden. Danach auf Details gehen „Locale Settings for User root“ , muss auf „Yes“ gestellt werden und „Use UTF-8 Encoding“ muss deaktivert werden. Dann alles abspeichern, ausloggen und neu einloggen.
Hostnamen des Servers einrichten:
Der Hostname wird mittels Yast konfiguerit, dabei wird folgendermaßen vorgegangen:
Netzwergeräte -> Netzwerkkarte -> Hostname/DNS -> „Hostname“ und „Domänenname“ einstellen (Beispiel: Hostname simev01; Domainname: de) -> „Hostnamen über DHCP ändern“ muss deaktiviert werden -> speichern.
Es muss das Script /etc/init.d/boot.localnet editiert werden, damit der Hostname des Rechners dann immer zusammengesetzt erscheint: In der Datei nach „XHOSTNAME.%%“ suchen und „.%%“ entfernen (es sind zwei Stellen vorhanden).
Danach erst einmal den Server neu booten.
Webmin installieren und konfigurieren:
Das aktuelle Release unter http://www.webmin.com/download.html herunter laden und installieren. Es muss nichts weiter gemacht werden. Webmin stellt sich automatisch so ein, dass es beim Boot des Servers startet und ebenfalls nach der Installation gestartet. Es empfiehlt sich den Port für Webmin per SSH auf seinen Rechner zu tunneln.
Konfiguration
Webmin muss noch auf Deutsch eingestellt werden und das Template auf ein „angenehmes“ eingestellt werden. Sprache: „Webmin“ -> „Change Language and Theme“ -> „personal choice“ bei Sprache auf „German (DE)“ stellen und beim Theme „personal choice“ auf „MSC.Linux Theme“ stellen und dann auf „Make Changes“ klicken, um die Änderung zu übernehmen. Jetzt wird Webmin noch so konfiguriert, dass es nur Verbindungen von localhost annimmt (daher das Tunneln): „Webmin“ -> „Webmin-Konfiguration“ -> „IP-Zugriffskontrolle“ –> „Zugriff nur von aufgelisteten Adressen erlauben“ aktivieren und in die Textarea „127.0.0.1“ eintragen. Danach auf „Speichern“ klicken.
MySQL installieren und konfigurieren:
MySQL in der Version 4.x von http://www.mysql.de (Linux x86 generic RPM (dynamicly linked)) herunterladen und installieren. Es müssen sowohl der Server, als auch der Client installiert werden.
Konfiguration
Soll MySQL extra optimiert werden, dann muss die Konfigurations-Datei (/Scripte/Konfigurationsscripte/MySQL) entsprechend auf den Server gespielt werden und die Konfiguration an die Speichergegebenheiten angepasst werden. Dies empfiehlt sich nur, wenn der Datenbank entsprechend viel RAM hat und als einzelner Server läuft. Danach müssen die ganzen Benutzer eingerichtet werden, die Zugriff auf die Datenbank haben sollen (geht über Webmin). Hier muss jeder Server einen separaten Benutzer bekommen. Es ist darauf zu achten, dass MySQL beim Booten des Servers automatisch startet.
Damit Felder in der Datenbank mit großem Inhalt beschrieben werden können muss der Parameter max-allowed-packet auf 16M gesetzt werden. Dies kann entweder im Startscript („/etc/init.d/mysqld“) oder in der Konfigurations-Datei gemacht werden.
IP-Tables konfigurieren (Firewall):
Die Konfiguration der Firewall wird mittels Webmin vorgenommen („Netzwerk“ -> „Linux-Firewall“). Hier wird jetzt „Block all exept SSH, INDENT ping and high ports on interface:“ ausgewählt. Das Interface bleibt einfach „eth0“. Dann klickt man auf „Setup Firewall“. Jetzt sind die wichtigsten Regeln schon definiert.
Einrichten der Datenbank für BACKCLICK:
Das SQL-Script 'backclick.sql' in /Skripte/SQL dann in mysql importieren (mysql -u root -p < backclick.sql).
Sprache des Betriebssystems einstellen:
Dies geschieht analog zur Einstellung der Sprache des Datenbank-Servers.
Hostnamen des Servers einrichten:
Dies geschieht analog zur Einstellung der Sprache des Datenbank-Servers.
Webmin installieren und konfigurieren:
Dies geschieht analog zur Einstellung der Sprache des Datenbank-Servers.
IP-Tables konfigurieren (Firewall):
Die Grundkonfiguration funktioniert wie bei dem Datenbank-Server, es müssen allerdings zwei Regeln mehr eingerichtet werden, die es ermöglichen, den Zugriff per SMTP und per POP3 auf den Server zu erlauben.
Zugriff auf SMTP erlauben
Um den Zugriff auf SMTP zu erlauben, klonen wir der Einfachheit halber eine bestehende Regel. Dazu Klicken Sie auf das Wort „Accept“ in der Regel, in der „auth“ zu finden ist. Ganz an das Ende der Seite scrollen und auf „clone rule“ klicken. Der „Rule comment“ muss angepasst werden und dann muss bei „Destination TCP or UDP port“ anstatt „auth“ „smtp“ eingegeben werden. Dann auf „erstellen“ klicken. Zum übernehmen der Regel auf „Apply Configuration“ klicken.
Zugriff auf POP3 erlauben
Geschient in gleicher Weise wie bei SMTP, allerdings wird bei „Destination TCP or UDP port“ „pop3“ eingetragen.
Postfix installieren und konfigurieren:
Der Postfix sollte unter Suse-Linux schon installiert sein. Ist dies nicht der Fall, so müssen alle anderen SMTP-Server deinstalliert werden und dann der Postfix installiert.
Konfiguration
Es gibt die Möglichkeit den Postfix so zu konfigurieren, dass er seine gesamten Verzeichnisse in eine RAM-Disk legt, was die Annahmegeschwindigkeit der Mails extrem steigert. Steht nicht genügend Arbeitsspeicher zur Verfügung, so sollte davon abgesehen werden, dass der Postfix eine RAM-Disk benutzt. Die Größe der RAM-Disk sollte mindestens 1GB betragen, besser sind 2GB. Ob die RAM-Disk groß genug ist, kann man annähernd anhand der durchschnittlichen Größe der Mails, der Anzahl der Abonnenten und der Anzahl der zur Verfügung stehenden Mailenginge-Server berechnen. Kommt man zu dem Schluss, dass eine RAM-Disk eingerichtet werden soll, so genügt es das Start-Script für den Postfix (/Skripte/Scripte/Startscripte/Suse-Linux/postfix-ramdisk) unter /etc/init.d auf den Server zu kopieren und gegebenenfalls noch die Größe der RAM-Disk anzupassen.
Mit Hilfe von Webmin nimmt man dann noch die letzten Konfigurationsschritte vor. Webmin-Menü -> Server -> Postfix-Konfiguration -> Allgemeine Einstellungen.
Soll der Server auch als MX-Server fungieren, dann muss die Domain, unter der versendet wird eingetragen werden („Für welche Domänen soll E-Mail empfangen werden“) und die Netzwerkschnittstelle zum Empfangen von Mails muss auf „Alle“ gestellt werden.
Da als POP3-Server der Dovecot mit der Konfiguration „MailDir“ verwendet wird, muss der Postfix so konfiguriert werden, dass er die Mails auch im MailDir ablegt. Dazu editieren Sie mittels Webmin die Konfigurations-Datei vom Postfix: „Server“ -> „Postfix“ -> „Edit Config Files“. Hier suchen Sie nach dem Wort „home_mailbox“. Es kommt zweimal als auskommentierter Parameter vor. Dort, wo „#home_mailbox = Maildir/“ steht, entfernen Sie die Raute und klicken dann auf „Speichern“.
Jetzt muss der Postfix mittels „/etc/init.d/postfix stop“ angehalten werden und danach mittels „/etc/init.de/postfix-ramdisk start“ wieder neu gestartet werden.
Installation und Konfiguration von Java:
Java wird unter http://java.sun.com herunter geladen und auf den Server kopiert (das File, welchen lediglich auf „.bin“ endet). Die Datei wird dann nach /usr/local auf den Server kopiert und ausgeführt. Nachdem Java sich selbstständig entpackt hat, wird ein symbolischer Link angelegt (/usr/local/java). Das Binary-File kann gelöscht werden. Es wird die Datei java.sh (/Scripte/Konfigurationsscripte/System/java.sh) nach „/etc/profile.d“ kopiert und in die aktuelle Shell eingebunden. Jetzt sollte der Befehl „java -version“ die installierte Version des Java-SDK ausgeben.
Spamassassin installieren und konfigurieren:
Spamassassin wird mittels Yast installiert und anschließend muss die Konfiguration angepasst werden. In der Datei „/usr/share/spamassassin/20_compensate.cf“ müssen die Zeilen auskommentiert werden, in denen das Wort „ALL_TRUSTED“ zu finden ist. Jetzt muss nur noch die Datei „/root/.spamassassin/user_prefs“ durch die Datei user_prefs (/Scripte/Konfigurationsscripte/Spamassassin/user_prefs) ausgetauscht werden . Den Spamassassin einfach neu starten und er ist fertig installiert und konfiguriert.
Dovecot installieren und konfigurieren:
Dovecot wird mittels Yast installiert und dann unter Webmin konfiguriert. Die Konfiguration liegt unter „Server“ -> „Dovecot IMAP/POP3 Server“. Dort muss eingestellt werden, dass als Protokoll nur „POP3“ verwendet wird und bei der Authentifizierung ein Plaintext-Login möglich ist. Das Protokoll wird unter „Networking and Protocols“ eingestellt. Dort wird nur „POP3“ ausgewählt. „SSL Verbindungen akzeptieren“ wird auf „Nein“ gestellt. Danach einfach auf „Speichern“ klicken.
Unter „User and Login Options“ wird eingestellt, dass bei „Authentication methods“ „Plain-text“ möglich ist und dann auf „Speichern“ klicken. Unter „Mail Files“ wird bei „Mail file location“ „Inbox and folders in ~/Maildir“ ausgewählt. Bei „UIDL format wird „UW ipop3d“ ausgewählt und danach auf „Speichern“ geklickt.
Jetzt muss unter „SSL Configuration“ nur noch eingestellt werden, dass bei einem Plaintext-Login nicht auf SSL bestanden wird. Dazu wird bei „Disallow plaintext authentication in non-SSL mode“ „Nein“ ausgewählt und danach auch „Speichern“ geklickt.
Der Dovecot soll beim Booten direkt starten. Dazu wählen Sie in der Konfigurationsübersicht „Starten beim booten“ „Ja“ aus. Jetzt nur noch auf „Konfiguration zuweisen“ klicken und der POP3-Server ist fertig konfiguriert.
Zeitsynchronisation einrichten:
Da die Uhren auf allen Servern immer dazu neigen irgendwann falsch zu gehen, wird die Uhrzeit einmal am Tag an einem NTP-Server synchronisiert. Installieren Sie das Paket „ntp“, falls dies noch nicht geschehen ist. Standardmäßig wird dieser Dienst beim Booten gestartet. Dies muss deaktiviert werden. Danach muss der Cronjob angelegt werden, der die zeit synchronisiert: „0 3 * * * /usr/sbin/ntpdate ptbtime1.ptb.de >> /var/log/ntpd.log 2 >> /var/log/ntpd.log“.
Da der Dovecot sich autmatisch beendet, nachdem die Zeit synchronisiert wurde, muss dieser nach der Zeitsynchronisation wieder gestartet werden: „5 3 * * * /etc/init.d/dovecot restart“. Damit ist die Zeitsynchronisation fertig eingerichtet und der Server sollte immer die aktuelle Uhrzeit anzeigen.
Tomcat Installation und Konfiguration:
Der Tomcat, welcher als Servletcontainer dient, um BACKCLICK zu bedienen wird unter http://tomcat.apache.org in der Version 5.x herunter geladen und unter „/usr/local“ entpackt. Zusätzlich wird noch ein symbolischer Link von dem gerade entpackten Verzeichnis nach „/usr/local/tomcat“ angelegt. Jetzt wird noch das Startscript für den Tomcat nach /etc/init.d“ kopiert (/Scripte/Startscripte/Suse-Linux/tomcat).
Damit der Tomcat für BACKCLICK ausreichen Ressourcen bekommt, müssen Sie die Konfigurationsdatei angepassen. Die Konfigurationsdatei befindet sich unter „/usr/local/tomcat/conf/server.xml“. Sie suchen in der Datei nach der Stelle, wo der Connector auf Port 8080 definiert ist, und erhöhen dort den Wert maxThreads auf 550. Dies sorgt dafür, dass der Tomcat die ankommenden Verbindungen alle bearbeitet, anstatt sie einfach zu refusen, wenn sehr schnell hintereinander Anfragen an den Tomcat gestellt werden.
Der Tomcat läuft standardmäßig auf Port 8080. Damit er auch auf die Anfragen auf Port 80 reagiert, muss eine Redirect Regel in den IP-Tables definiert werden. Dazu wird im Webmin folgendes Menü aufgerufen: „Netzwerk“ -> „Linux-Firewall“. Hier wählt man dann „Network address translation (nat)“ aus und klickt auf „Add Rule“. Hier wird jetzt die Regel mit folgenden Werten angelegt :
„Rule comment“ -> einen Kommentar der Wahl eingeben
„Action to take“ -> „Redirect“
„Target port for redirect” -> „Port range” „8080”
„Incoming Interface“ -> „equals“ „eth0“
„Network protocol” -> „equals” „TCP”
„Destination TCP or UDP port” -> „equals” „Ports” „80”
Danach klicken Sie zunächst auf 'Erstellen' und anschließend einmal auf 'Apply Configuration'.
JacORB Installation und Konfiguration:
Der JacORB wird immer der zuletzt getesteten aktuellen Version installiert (aktuell ist dies die Version 2.3). Der jacORB ist dem http://www.jacorb.org/ zu entnehmen (alternativ eine auf der Festplatte liegende aktuelle Version) und auf dem Server zu installieren. Dazu wird dieser nach „/usr/local/JacORB“ entpackt. Jetzt sind nur noch die beiden Konfigurationsdateien anzupassen. Je nach dem, ob der Application-Server der einzige Server ist, oder ob noch weitere Server für BACKCLICK verwendet werden, muss entweder die öffentliche IP des Servers konfiguriert werden, oder die 127.0.0.1. Hier wird davon ausgegangen, dass BACKCLICK auf mehrere Server verteilt installiert wird. Folgende Einstellungen müssen vorgenommen werden:
/usr/local/JacORB/etc/orb.properties:
jacorb.config.dir=/usr/local/JacORB
ORBInitRef.NameService=corbaloc::x.x.x.x:2222/StandardNS/NameServer-POA/_root
ORBInitRef.ImplementationRepository=corbaloc::x.x.x.x:55569/the_ImR/ImRPOA/ImR
jacorb.imr.table_file=/usr/local/JacORB/table.dat
jacorb.imr.backup_file=/usr/local/JacORB/backup.dat
jacorb.imr.ior_file=/usr/local/JacORB/ImR_Ref
jacorb.imr.endpoint_port_number=55570
/usr/local/JacORB/etc/jacorb.properties:
ORBInitRef.NameService=corbaloc::x.x.x.x:2222/StandardNS/NameServer-POA/_root
jacorb.logfile=/usr/local/JacORB/jacorb.log
jacorb.codeset=off
jacorb.native_char_codeset=ISO8859_1
jacorb.native_wchar_codeset= ISO8859_1
jacorb.imr.table_file=/usr/local/JacORB/table.dat
jacorb.imr.backup_file=/usr/local/JacORB/backup.dat
jacorb.imr.ior_file=/usr/local/JacORB/ImR_Ref
jacorb.imr.endpoint_host=x.x.x.x
jacorb.imr.endpoint_port_number=55570
jacorb.naming.ior_filename=/usr/local/JacORB/NS_ref
BACKCLICK Installation und Konfiguration:
BACKCLICK immer in dem letzten aktuellen Release nach „/usr/local/bc_api“ (die API) entpacken und die Administrationsoberfläche nach „/usr/local/tomcat/webapps/bc“. Danach werden die Konfigurationsfiles angepasst („/usr/local/bc_api/BACKCLICK.conf“ und „/usr/local/tomcat/webapps/bc/WEB-INF/web.xml“). Die Datei „/usr//local/JacORB/bin/jaco.sh“ muss als symbolischer Link nach „/usr/local/bc_api/jaco.sh“ angelegt werden. Das Startscript (/Scripte/Startscripte/Suse-Linux/backclick_app) muss nach „/etc/init.d/backclick“ gelegt werden.
Nun kann BACKCLICK mittels „/etc/init.d/backclick start“ gestartet werden, ebenso der Tomcat mittels „/etc/init.d/tomcat start“. BACKCLICK ist nun unter der konfigurierten URL (Beispiel: http://onlinedemo.backclick.de/bc) erreichbar. Nach der Installation können Sie sich mit den Benutzernamen „bcadmin“ und dem Passwort „bcadmin“ einlogge, und die restliche Konfiguration (Systemeinstellungen/Grundeinstellungen) vornehmen. Wenn die entsprechenden Benutzeraccounts auf dem Server, auf welchem der POP3-Server läuft, eingerichtet wurden, können ebenfalls schon die Verteilerlisten angegeben werden. Ist der Application-Server dieser Server, achten Sie darauf, dass bei der Serveradresse als IP NICHT localhost eingetragen wird, sondern die öffentliche IP des Servers, da sonst die ausgelagerten Mailengines auf diesen zugreifen können.
DNS-Einstellungen:
Die DNS-Einstellungen können prinzipiell bei ihrem Providervorgenommen werden. Allerdings hat sich gezeigt, dass lieber auf einen externen NameServer-Dienstleister zurückgegriffen werden sollte, da es bei ihrem Provider nicht möglich ist alle Nameserver-Einträge zu bearbeiten. So können z.B. die MX-Einträge nicht separat angegeben werden und keine SPF-Records gesetzt werden. Bei einem externen Dienstleister ist dies jedoch möglich. Es sollte jeder Server, auf dem eine Mailengine installiert ist, als MX-Server eingetragen werden. Allerdings mit einer niedrigeren Priorität, als der eigentliche MX-Server, der die gesamten Bounces annehmen soll.
Backupscript:
Das Backupscript macht täglich ein Backup von der Datenbank und den statischen Files von BACKCLICK. Dazu muss eventuell vorher ein vorhandener FTP-Backup-Space aktiviert werden. Im Script selber müssen Verzeichnisse, Benutzerdaten usw. angepasst werden. Danach einfach einen Cron-Job anlegen, der einmal täglich ein Backup macht und BACKCLICK dann neu startet. Das Backupscript ist im unter /Scripte/Backup zu finden.
PHP-CheckScript:
Das Script, welches überprüft, ob BACKCLICK ereichbar ist und im Fall der Nichterreichbarkeit BACKCLICK neu startet befindet sich unter /Scripte. Dies muss eingerichtet werden (URL des Tests anpassen) und es muss ein Cron-Job eingerichtet werden, der das Script in regelmäßigen Abständen immer aufruft:
*/3 0-3,5-23 * * * /usr/bin/php /usr/local/bc_api/scripts/bc_check.php >> /var/log/bc.log 2 >> /var/log/bc.log
Das Script findet man im unter „/Scripte/PHP-Checkscript“.
Sprache des Betriebssystems einstellen:
Dies geschieht analog zur Einstellung der Sprache des Datenbank-Servers.
Hostnamen des Servers einrichten:
Dies geschieht analog zur Einstellung der Sprache des Datenbank-Servers.
Webmin installieren und konfigurieren:
Diese Einstelleungen werden analog zur Einstellung der Sprache des Datenbank-Servers vorgenommen.
IP-Tables konfigurieren (Firewall):
Die Grundkonfiguration funktioniert wie bei dem Datenbank-Server, die Definition einer Regeln, die es ermöglicht, den Zugriff per SMTP und per POP3 auf den Server zu erlauben, ist hier notwendig.
Zugriff auf SMTP erlauben
Um den Zugriff auf SMTP zu erlauben, klonen Sie eine bestehende Regel. Dazu klicken Sie auf das Wort „Accept“ in der Regel, in der „auth“ zu finden ist. Ganz an das Ende der Seite scrollen und auf „clone rule“ klicken. Der „Rule comment“ muss angepasst werden und bei „Destination TCP or UDP port“ anstatt „auth“ „smtp“ eingegeben werden. Klicken Sie auf „erstellen“. Zum Übernehmen der Regel auf „Apply Configuration“ klicken.
Postfix installieren und konfigurieren:
Siehe Postfixkonfiguration Applicationserver.
Installation und Konfiguration von Java:
Siehe Javainstallation Applicationserver.
Zeitsynchronisation einrichten:
Siehe Zeitsynchronisation Applicationserver.
JacORB Installation und Konfiguration:
Der JacORB wird immer der zuletzt getesteten aktuellen Version installiert (aktuell ist dies die Version 2.3). Der JacORB ist aus dem /Scripte zu entnehmen (alternativ eine auf der Festplatte liegende aktuelle Version) und auf dem Server zu installieren. Dazu wird dieser nach „/usr/local/JacORB“ entpackt. Jetzt sind nur noch die beiden Konfigurationsdateien anzupassen. Sie müssen überall die IP des Application-Servers eintragen, bis auf bei dem Konfigurations-Parameter OAIAdress. Bei OAIAdress muss die IP des Servers der Mailengine eingetragen werden. Die Konfigurationsscripte sind unter /Scripte/JacORB zu finden.
/usr/local/JacORB/etc/orb.properties:
jacorb.config.dir=/usr/local/JacORB
ORBInitRef.NameService=corbaloc::x.x.x.x:2222/StandardNS/NameServer-POA/_root
ORBInitRef.ImplementationRepository=corbaloc::x.x.x.x:55569/the_ImR/ImRPOA/ImR
jacorb.imr.table_file=/usr/local/JacORB/table.dat
jacorb.imr.backup_file=/usr/local/JacORB/backup.dat
jacorb.imr.ior_file=/usr/local/JacORB/ImR_Ref
jacorb.imr.endpoint_port_number=55570
OAIAdress=x.x.x.x
/usr/local/JacORB/etc/jacorb.properties:
ORBInitRef.NameService=corbaloc::x.x.x.x:2222/StandardNS/NameServer-POA/_root
jacorb.logfile=/usr/local/JacORB/jacorb.log
jacorb.codeset=off
jacorb.native_char_codeset=ISO8859_1
jacorb.native_wchar_codeset= ISO8859_1
jacorb.imr.table_file=/usr/local/JacORB/table.dat
jacorb.imr.backup_file=/usr/local/JacORB/backup.dat
jacorb.imr.ior_file=/usr/local/JacORB/ImR_Ref
jacorb.imr.endpoint_host=x.x.x.x
jacorb.imr.endpoint_port_number=55570
jacorb.naming.ior_filename=/usr/local/JacORB/NS_ref
OAIAdress=x.x.x.x
BACKCLICK Installation und Konfiguration:
BACKCLICK sollte nach Möglichkeit immer in dem letzten aktuellen Release nach „/usr/local/bc_api“ (die API) entpackt werden, ebenso die Administrationsoberfläche nach „/usr/local/tomcat/webapps/bc“. Danach wird das Konfigurationsfile angepasst („/usr/local/bc_api/BACKCLICK.conf“). Die Datei „/usr//local/JacORB/bin/jaco.sh“ muss als symbolischer Link nach „/usr/local/bc_api/jaco.sh“ angelegt werden. Das Startscript (/Scripte/Startscripte/Suse-Linux/backclick_mail) muss nach „/etc/init.d/backclick“ gelegt werden.
Nun kann BACKCLICK mittels „/etc/init.d/backclick start“ gestartet werden.
DNS-Einstellungen:
Siehe Applicationserver.
Täglicher Neustart von BACKCLICK:
Ein täglicher Neustart von BACKCLICK muss eingerichtet werden, damit die Verbindung zum Application-Server erneuert wird. Dazu wird einfach der folgende Cron-Job eingerichtet:
0 3 * * * /etc/init.d/backclick restart