Projekt: Neuer Server – Erste Schritte
Projekt: Neuer Server
Teil 2: Erste Schritte
Teil 3: nginx + php-fpm
Teil 4: MySQL + phpMyAdmin
Teil 5: Postfix + Dovecot
Teil 6: [in Planung]
Teil 7: [in Planung]
Teil 8: Der Abschluss
Zu Beginn kümmern wir uns um grundlegende Dinge, die einen neu aufgesetzten Server etwas brauchbarer machen. Die meisten Schritte sind als optional, aber empfehlenswert, einzustufen.
Das Projekt wird in mehrere Teile aufgeteilt, damit wir den Überblick nicht verlieren. Ich hoffe, dass die einzelnen Teile relativ zügig nacheinander online kommen können und das Projekt abgeschlossen werden kann. Drückt uns also die Daumen, dass wir nicht auf allzu hässliche Hindernisse stoßen. Die Links in der Box rechts werden entsprechend nach Veröffentlichung eines Artikels aktualisiert.
Wir loggen uns also als root ein und ändern zu allererst das Kennwort. Ich empfehle eine möglichst lange Zeichenfolge mit Ziffern und Sonderzeichen, das übliche eben.
# passwd
Der nächste Schritt sollte auf jeden Fall das Updaten des Systems sein. Vorher überprüfen wir noch die eingetragenen Repositories:
# nano /etc/apt/sources.list
Dort tragen wir, neben den von netcup bereits eingetragenen Mirrors noch den von Dotdeb ein, den wir später zum Beispiel für die Installation von nginx benötigen:
deb http://debian.netcup.net/debian squeeze main
deb-src http://debian.netcup.net/debian squeeze main
deb http://packages.dotdeb.org stable all
Da die Pakete von Dotdeb signiert sind müssen wir unserem System noch den GPG-Key bekannt machen, wenn wir nicht bei jedem Aufruf von apt eine Fehlermeldung provozieren wollen:
# wget http://www.dotdeb.org/dotdeb.gpg # cat dotdeb.gpg | apt-key add - # rm dotdeb.gpg
Nun können wir via apt-get das System aktualisieren:
# apt-get update && apt-get upgrade
Als nächstes kümmern wir uns um ein paar Kleinigkeiten wie die Serverzeit und die Ausgabesprache der Shell:
# dpkg-reconfigure tzdata
Dort Europe und Berlin auswählen, jeweils mit [Enter] bestätigen. Nun ist unsere Zeitzone eingestellt.
Eine automatisierte Zeiteinstellung können wir mit ntp erreichen. Bei Bedarf noch die Lieblingsserver in die ntp.conf eintragen:
# apt-get install ntp # nano /etc/ntp.conf
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
# /etc/init.d/ntp restart
Da wir alle sehr faul sind, hätten wir die Ausgabe der Shell noch gerne in deutscher Sprache:
# apt-get install locales # dpkg-reconfigure locales -plow
Dort wählen wir via [Leertaste] die Punkte de_DE ISO-8859-1, de_DE.UTF-8 UTF-8 und de_DE@euro ISO-8859-15 aus. Mit [Enter] bestätigen und in der nächsten Auswahl für einen der drei als Standard entscheiden. Ich persönlich favorisiere UTF-8. Die Änderungen sind nach einem erneuten Login in die Shell sichtbar. Spart euch die Mühe, haben wir eh gleich vor
Jetzt wird es Zeit, dass wir unseren sshd absichern. Ein neuer Benutzer ohne root-Rechte ist hier der erste Schritt. Der Name des Users sollte vielleicht nicht unbedingt leicht zu erraten sein, um eine erste Hürde für Skriptkiddies einzubauen:
# adduser [username]
Diesen User machen wir nun zu dem einzigen, der sich über SSH einloggen darf. Dazu ändern oder fügen wir folgende Zeilen in die ‘/etc/ssh/sshd_config‘ ein:
# nano /etc/ssh/sshd_config
Mit der ersten Zeile ändern wir den Port, über den wir SSH erreichen. Hier wählt optimalerweise einen zufälligen zwischen 49152 und 65535 aus und merkt ihn euch für zukünftige Logins. Die zweite und dritte Zeile sorgen dafür, dass sich der root-User nicht mehr und ausschließlich unser eben angelegter User einloggen kann:
Port 52942
PermitRootLogin no
AllowUsers [username]
Nun noch den Daemon neu starten:
# /etc/init.d/ssh restart
Im Anschluss in einem neuen Terminalfenster den Login mit dem neuen User versuchen. So sperrt ihr euch nicht komplett aus, sollte es nicht gleich geklappt haben. Denkt daran, beim Login nun den neuen Port zu nutzen!
Funktioniert der Login, kann im neuen Terminalfenster per ‘su‘ auf root gewechselt und das alte Fenster geschlossen werden.
