Debian Lenny
Ausgehend von einer Minimalinstallation wird hier Aufbau eines Servers beschrieben. Dazu werden die einzelnen nachinstallierten Pakete mit deren Aufgabe für das System beschrieben.
Als Referenz dient ein Debian Lenny 5.0.6 i386. Abweichende Schritte für amd64 werden später ergänzt.
Inhaltsverzeichnis |
Partitionierung
Für das Testsystem steht eine virtuelle Maschine (KVM) mit 1 CPU, 512 MB RAM und 2 GB HDD zur Verfügung. Deshalb wird die all-in-one-Variante gewählt und der Vorschlag des Installers übernommen. Von den 2 GB werden 150 MB für SWAP verwendet, der Rest unter / gemountet. Für ein Produktivsystem ist eine Aufteilung in /boot, /, /usr, /home, /var, /tmp und SWAP empfehlenswert. Je nach Verwendung sind weitere Partitionen für /opt, /srv oder auch Teile von /var sinnvoll. Entsprechende Größenangaben folgen später.
Installation
- im BIOS sollte die Zeit auf UTC gestellt sein
- Installer: advanced -> Expert
- Standardsprache: english, US, UTF-8
- additional locales: en_US, en_US.ISO, de_DE, de_DE.UTF-8, de_DE.ISO
- Tastatur: german (außer man kennt die Tastaturbelegung einer englischen Tastatur auswendig oder hat eine solche angeschlossen)
- Module: usb-storage (kann), PC-Card nein
- Installer Components (für Spezialfälle)
- network console - für eine Installation per SSH
- openssh-client - falls man während der Installation schon per SSH raus will
- ppp, wireless - wenn der Rechner nur direkt an (DSL-)Modem oder WLAN hängt
- Partitionierung: geführt, ganze Platte, all-in-one (für die Testumgebung , s.o.)
- Kernel: 2.6.26-686, initrd: generic
- login as root: no -> sudo-Umgebung
- Debian-Mirror: Germany->ftp.de.debian.org (TU Dresden)
- Proxy: http://192.168.122.1:3142 (apt-cacher auf dem KVM-Host)
- non-free, security, volatile: yes
- Software selection: auch das Standardsystem entfernen
- grub2, MBR
- finish installation, SysClock: UTC
Damit ist die Grundinstallation abgeschlossen und das System kann neu gestartet werden. In diesem Zustand hat das System gerade mal 428 MB HDD und 126 MB RAM belegt.
Grundlegende Tools
Diese werden einfach mit
aptitude install <PACKAGENAME>
nachinstalliert. Meist ziehen die Pakete noch einige Abhängigkeiten nach, womit man sich nicht um jedes einzelne benötigte Paket kümmern muß.
- vim
- Der etwas bessere Editor im Vergleich zum vi. Ansonsten kann hier auch jeder beliebige Editor installiert werden.
- mc
- Ein Dateimanager im Norton Commander-Stil, beinhaltet den Editor mcedit. Nichts für Puristen. ;-)
- htop
- Das etwas andere 'top'
- lsof
- zum anzeigen offener Dateien und Verbindungen
- openssh-server
- für den Remotezugriff
- apt-file
- für die Suche nach Dateien von noch nicht installierten Paketen
- bash-completion
- vervollständigt auch die Optionen von den Kommandos, muß aber in der /etc/bash.bashrc noch aktiviert werden ('#' in Zeile 32-34 entfernen)
- psmisc
- enthält u.a. pstree und killall
- less
- weniger ist mehr ;-) (der bessere Pager)
Benutzerverwaltung mit LDAP
LDAP ist die Basis für eine spätere Verwaltung der Benutzer für verschiedene Bereiche über eine Weboberfläche bzw. für die Nutzung der Daten von verschiedenen Rechnern aus. Mit LDAP können auch Adressbücher und weitere Verzeichnisdienste verwaltet werden.
Benötigt werden folgende Pakete:
- slapd
- der OpenLDAP-Server
- ldap-utils
- die OpenLDAP-Client-Tools
- ldapscripts
- Kommandozeilentools für die Verwaltung von Benutzern im LDAP
- libnss-ldapd
- NSS-LDAP ist die LDAP-Informationsquelle für den NameSeviceSwitch
- libpam-ldap
- PAM-LDAP ist für die Authentifizierung der Benutzer via LDAP zuständig und wird durch libnss-ldapd automatisch installiert.
- phpldapadmin
- die bequeme Art, das LDAP-Verzeichnis vom Browser aus zu verwalten.
Ein Beispieleintrag für einen Unix-Benutzer:
dn: uid=testuser,ou=people,dc=lenny,dc=local cn: testuser gecos: TestUser gidnumber: 1001 homedirectory: /home/testuser loginshell: /bin/bash objectclass: account objectclass: posixAccount uid: testuser uidnumber: 1001 userpassword: {SSHA}V3N3EuLiYKurgaM5tJ61+ArsJRi0my/E
Das Gecos-Feld und die Login-Shell sind hierbei optional, alle anderen sind Pflichteinträge.
Ein Beispieleintrag für eine Unix-Gruppe:
dn: cn=testuser,ou=group,dc=lenny,dc=local cn: testuser description: TestUser gidnumber: 1001 memberuid: benutzer2 objectclass: posixGroup
Hier ist nur Description optional. Über MemberUID werden dieser Gruppe weitere Mitglieder hinzugefügt.