XKeyScore: Warum nicht selbst Email-Provider (Website-Betreiber, Cloud-Anbieter) sein?

Ubuntu 12.04 ServerMit einem VServer kann man relativ einfach und für wenig Geld einen Server betreiben, der fast vollständig unter der eigenen Kontrolle liegt. Ich habe seit 2006 einen solchen Server (das V steht für „virtuell“, es ist also kein eigenes Stück Hardware, sondern eine virtuelle Maschine) bei Strato. Dort betreibe ich unter Linux einen Email-Server und mehrere Webseiten (natürlich auch dieses Blog) sowie das Backend für meine App ScribMaster. Ebenso läuft dort ein Cloud-Speicher (owncloud), auf den ich von meinem Desktop, Tablet und Handy aus zugreifen kann. Der Server wird in Deutschland (Frankfurt) gehostet und ich habe ROOT-Zugriff. Ich mache das nicht, weil ich Angst um meine Privatsphäre habe, sondern eher weil ich gerne alles so einrichte, wie es mir passt und aus Spaß an der Technik. GMail ist sicherlich komfortabler, aber so kann ich vom Spam-Schutz über das Web-Interface alles bis ins kleinste selbst konfigurieren und aufsetzen. Der Vorteil wird aber auch schnell zum Nachteil, da man sich auch wirklich kümmern muss.

Jahrelang habe ich dabei auf SuSE Linux als Betriebssystem mit einem Plesk für die einfachere Konfiguration gesetzt, jetzt ist allerdings die verwendete Version so alt, dass mal wieder was neues fällig wird, schon allein aus Sicherheitsgründen. Das Plesk lässt sich schon lange nicht mehr updaten und verursacht auch manchmal einfach mehr Ärger, als dass es Arbeit spart (beispielsweise gab es im Laufe der Zeit doch einige gravierende Sicherheitslücken), so dass ich mich jetzt dazu entschieden habe, ein frisches Ubuntu 12.04 LTS (Long Time Support) ohne Plesk aufzusetzen. Ubuntu 12.04 wird nach Erscheinen noch fünf Jahre mit Updates (vor allem Sicherheitspatches) versorgt.

Um nicht alles selbst konfigurieren zu müssen, installiere ich noch ein ISPConfig, das ist eine komfortable Weboberfläche ähnlich zu Plesk, aber Open Source und etwas durchsichtiger, wenn man doch mal etwas manuell konfigurieren will. Ich habe mich dabei an diese Anleitung gehalten: Der perfekte Server.

Meinen ursprünglicher Plan, alles händisch einzurichten habe ich aufgrund der sehr komplexen Email-Server Konfiguration aufgegeben. Mit ISPConfig lassen sich mehrere Email-Postfächer einfacher einrichten und verwalten.

Über das Config-Panel von Strato kann man jederzeit eine von einigen zur Auswahl stehenden Linux-Distributionen zur Neuinstallation auswählen. Der Hostname und das (initiale) Root-Passwort kann man ebenfalls dort ablesen, so dass man schnell mit diesen Daten per SSH beispielsweise mithilfe von Putty eine Verbindung aufbauen kann. Ohne Plesk ist das Ubuntu noch recht nackt, es besitzt noch nicht einmal einen eingerichteten Webserver. Das wollen wir ändern!

Die folgenden Abschnitte sind nicht ganz vollständig und dienen eher dazu, dass ich noch nachvollziehen kann, was ich wie eingerichtet habe. Trotzdem sollte man damit und mit den verlinkten Tutorials einen eigenen Server aufsetzen können.

(Alle Befehle werden als „root“-User eingegeben!)

Erstmal sollten wir unsere Quellen aktualisieren:

apt-get update

Webserver und grundlegende Pakete

Nun können wir den Webserver Apache, PHP 5 und ein paar weitere Pakete installieren:

apt-get install -q -y apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert
apt-get install -q -y libapache2-mod-php5 php5 php5-common php5-sqlite php5-fpm php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-jk vlogger

Mit dem Skript a2enmod  lassen sich Apache-Module einfach aktivieren. Wir benötigen die Apache-Module suexec, rewrite, ssl, actions und include:

a2enmod suexec rewrite ssl actions include expires
service apache2 restart

FTP

PureFTPd und quota können mit dem folgenden Befehl installiert werden:

apt-get install -q -y pure-ftpd-common pure-ftpd-mysql quota quotatool

Die Datei /etc/default/pure-ftpd-common muss noch angepasst werden:

vi /etc/default/pure-ftpd-common

Es muss sichergestellt werden, dass der start mode standalone ist und VIRTUALCHROOT=true gesetzt sind:

[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

Mysql

Der mysql-Server muss noch eingerichtet werden. Hier wird man noch nach einem Root-Passwort für mysql gefragt:

apt-get install mysql-client mysql-server

Java

Falls man Java inkl. Tomcat benötigt, wird hierüber eine inoffizielle neue Quelle hinzugefügt und darüber Java bezogen:

apt-get -q -y install python-software-properties
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get -q -y install oracle-java7-installer

Jetzt noch kurz die Oracle-Lizenz bestätigen, weiter geht’s:

apt-get install oracle-java7-set-default

(Jetzt neu anmelden, damit die Umgebungsvariablen gesetzt werden)

So kann man den Tomcat installieren:

apt-get install tomcat6

Mail-Server

Probleme verhindern, bash anstatt dash:

dpkg-reconfigure dash

Systemzeit:

apt-get install ntp ntpdate
apt-get install postfix postfix-mysql postfix-doc  openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve

Nameserver (DNS)

sudo apt-get install bind9 dnsutils

ISPConfig 3

Hiermit wird endlich das ISPConfig installiert, mit dem sich alles weitere einrichten lässt. Standardmäßig läuft es über Port 8080, das lässt sich aber auch während der Installation anpassen.

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

Als nächstes einfach das Installations-Skript starten:

php -q install.php

 Verbesserter Spamschutz

Der Standard-Spamschutz von ISPConfig lässt bei mir zu viel durch. In der Datei /etc/postfix/main.cf lässt sich noch diese Zeile so anpassen, dass der Spamschutz von spamhaus.org abgefragt wird:

smtpd_sender_restrictions = reject_rbl_client sbl-xbl.spamhaus.org, reject_non_fqdn_sender, reject_unknown_sender_domain, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf

Mail-Migration von courier zu dovecot

Diese Migration musste ich durchführen, da ISPConfig in der beschriebenen Variante auf ein dovecot-Mailsystem setzt. Man findet die Skripte/Anleitung hier.

Maildir packen:

./courier-dovecot-migrate.pl --to-dovecot --recursive Maildir/ --convert

Maildir dann mit allen Ordnern in das neue Maildir kopieren. Versteckte Ordner nicht vergessen. Dateiberechtigungen auf den neuen User ändern (auch für die versteckten Ordner!)

Server klonen

Hiermit klont man die installierten Pakete eines Servers für einen anderen Server.
Auf erstem Server

dpkg --get-selections > /private-backup/installed-packets.txt

ausführen. Die Datei installed-packets.txt auf zweitem Server installieren:

dpkg --set-selections < installed-packets.txt apt-get install

(Hinweise und Verbesserungsvorschläge nehme ich gerne entgegen.)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.