Installationshinweise: Debian Edu / Skolelinux Haupt-Server TJENER (squeeze)

Download von Debian Edu (squeeze)

Für die Installation von Debian Edu (squeeze) wird ein aktuelles DVD-Installationsmedium benötigt:
http://ftp.skolelinux.org/skolelinux-cd/

Bitte vor Download einen Blick auf die Debian Edu (squeeze) Status-Seite im Debian-Wiki werfen:
http://wiki.debian.org/DebianEdu/Status/Squeeze

/!\ Wichtig: Der Skolelinux-Hauptserver wird immer von der Debian Edu DVD installiert!!!

Das ISO-Image in /home/locadm/iso-images ablegen.

Erstellen der VM: tjener.intern

Der Haupt-Server des Debian Edu / Skolelinux Netzwerks wird als virtuelle Maschine auf dem Virtualisierungs-Server virt-man-01 bereitgestellt/installiert.

Anlegen einer neuen VM / Basisinstallation TJENER

  1. In virt-manager auf das Symbol Neue Virtuelle Maschine erstellen klicken

    • Name: tjener.intern

    • Installation von lokalem Installations-Medium
    • ISO-Abbild: das heruntergeladene Debian Edu DVD-Image
    • Betriebssystem: Linux, Debian squeeze
    • Speicher: 2Gb
    • CPUs:2

    • Speicher (=virtuelle Festplatte) wählen: Klick auf den Button Durchsuchen: Volume Group: vm-slow-vg, Logical Volume: tjener.intern_sda

    • Netzwerkschnittstelle unter erweiterte Optionen auswählen: specify shared device name:br1

    • Fertigstellen
  2. Eine virtuelle Monitorkonsole erscheint, es wird der Boot-Screen der Debian Edu CD angezeigt...
    • 64-bit Install (Boot-Screen der Installations-DVD)
    • Warten, Debian Edu Installer lädt...

    • Sprache und Tastatur: Deutsch (3x auswählen und bestätigen)
    • Debian Edu Installationsprofil: Hauptserver
    • Automatische Partitionierung: Ja
    • Erfassung der Paketverwendung (popularity-contest: Ja

    • Kennwort für den Super-User root festlegen

    • Initialen Benutzer anlegen. Vollständiger Name: LDAP Administrator, Benutzername: ldapadm

Extra-Storage (LVM) bereitstellen

Für Home-Verzeichnisse stellt der Virtualisierungsserver virt-man-01 eine RAID mit schnellen SAS-Festplatten bereit. Diese wurden bei der Installation von virt-man-01 bereits vorbereitet.

auf VIRT-MAN-01

auf TJENER

Diese Arbeiten werden als root auf der Textkonsole durchgeführt. Kein grafisches Login für diese Arbeiten verwenden!!!

Der Abschnitt beschreibt die Einbindung der schnellen SAS-Festplatten, sowie das Anlegen von Verzeichnissen für Gruppen und den Dateiaustausch.

  1. Home-Verzeichnisse: Das Logical Volume /dev/vm-fast-vg/tjener.intern_sdb erscheint im TJENER als /dev/vdb. Vorgesehen ist /dev/vdb für die Bereitstellung der Home-Verzeichnisse. Die folgenden Arbeiten sind an /dev/vdb durchzuführen:

    1. Partitionieren:

      root@tjener:~# fdisk -l /dev/vdb
      
      Disk /dev/vdb: 429.5 GB, 429496729600 bytes
      16 heads, 63 sectors/track, 832203 cylinders
      Units = cylinders of 1008 * 512 = 516096 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk identifier: 0xbc67acb0
      
         Device Boot      Start         End      Blocks   Id  System
      /dev/vdb1               1      832203   419430280+  8e  Linux LVM
    2. Die Partition /dev/vdb1 als Physical Volume markieren:

      $ pvcreate /dev/vdb1
    3. Dann auf /dev/vdb1 eine Volume Group erstellen:

      $ vgcreate vg_home /dev/vdb1
    4. In der Volume Group zwei Logical Volumes anlegen:

      $ lvcreate vg_home -n skole+tjener+home0 -L 40G
      $ lvcreate vg_home -n skole+tjener+home1 -L 40G
    5. Diese Logical Volumes werden mit dem Ext3-Dateisystem formatiert:

      $ mkfs.ext3 /dev/vg_home/skole+tjener+home0
      [...]
      $ mkfs.ext3 /dev/vg_home/skole+tjener+home1
      [...]
  2. Homeverzeichnis des initialen Benutzers verschieben auf das neuen Logical Volume /dev/vg_home/skole+tjener+home0:

    $ mount /dev/vg_home/skole+tjener+home0 /mnt
    $ cp -av /skole/tjener/home0/* /mnt
    $ umount /dev/vg_home/skole+tjener+home0
  3. Logical Volumes für Gruppen und Dateiaustausch anlegen:

    $ lvcreate vg_system -n skole+tjener+group0 -L 20G
    $ lvcreate vg_system -n skole+tjener+group1 -L 20G
    $ lvcreate vg_system -n skole+tjener+transfer -L 40G
    $ mkfs.ext3 /dev/vg_system/skole+tjener+group0
    [...]
    $ mkfs.ext3 /dev/vg_system/skole+tjener+group1
    [...]
    $ mkfs.ext3 /dev/vg_system/skole+tjener+transfer
    [...]
  4. Zusätzliche Mountpoints und NFS-Mountpoints anlegen:

    $ mkdir -p /skole/tjener/home1 /skole/tjener/group{0,1} /skole/tjener/transfer /srv/nfs4/home1 /srv/nfs4/group{0,1} /srv/nfs4/transfer
  5. Die Datei /etc/fstab anpassen:

    root@tjener:~# diff -u /etc/fstab.orig /etc/fstab
    --- /etc/fstab.orig     2012-07-06 14:15:36.000000000 +0200
    +++ /etc/fstab  2012-07-06 14:17:19.000000000 +0200
    @@ -11,10 +11,18 @@
     # /boot was on /dev/vda1 during installation
     UUID=<unique-identifier> /boot           ext3    defaults        0       2
     /dev/mapper/vg_system-skole+backup /skole/backup   ext3    defaults        0       2
    -/dev/mapper/vg_system-skole+tjener+home0 /skole/tjener/home0 ext3    nosuid          0       2
    +/dev/mapper/vg_home-skole+tjener+home0 /skole/tjener/home0 ext3    nosuid,usrquota,acl,user_xattr          0       2
    +/dev/mapper/vg_home-skole+tjener+home1 /skole/tjener/home1 ext3    nosuid,usrquota,acl,user_xattr          0       2
    +/dev/mapper/vg_system-skole+tjener+group0 /skole/tjener/group0 ext3 nosuid,grpquota,acl,user_xattr 0 2
    +/dev/mapper/vg_system-skole+tjener+group1 /skole/tjener/group1 ext3 nosuid,grpquota,acl,user_xattr 0 2
    +/dev/mapper/vg_system-skole+tjener+transfer /skole/tjener/transfer ext3 nosuid,usrquota,acl,user_xattr 0 2
     /dev/mapper/vg_system-usr /usr            ext3    defaults        0       2
     /dev/mapper/vg_system-var /var            ext3    defaults        0       2
     /dev/mapper/vg_system-var+spool+squid /var/spool/squid ext3    defaults        0       2
     /dev/mapper/vg_system-swap_1 none            swap    sw              0       0
     /dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
     /skole/tjener/home0         /srv/nfs4/home0    none    bind,nosuid,usrquota,acl,user_xattr     0       0
    +/skole/tjener/home1          /srv/nfs4/home1    none    bind,nosuid,usrquota,acl,user_xattr    0       0
    +/skole/tjener/group0         /srv/nfs4/group0   none    bind,nosuid,grpquota,acl,user_xattr    0       0 
    +/skole/tjener/group1         /srv/nfs4/group1   none    bind,nosuid,grpquota,acl,user_xattr    0       0 
    +/skole/tjener/transfer       /srv/nfs4/transfer none    bind,nosuid,usrquota,acl,user_xattr    0       0
  6. Jetzt TJENER neu starten und nach dem Neustart den Speicherplatz des alten Logical Volumes für Home-Verzeichnisse (als root) freigeben:

    $ lvchange -a n /dev/mapper/vg_system-skole+tjener+home0
    $ lvremove /dev/mapper/vg_system-skole+tjener+home0
  7. Die Datei /etc/fsautoresizetab anlegen:

    # regex             minfree  max extendby
    /.*                      10% 20g 10%
    /usr                     10% 10g defaults
    /var                     10% 10g defaults
    /var/spool/squid         10% 40g defaults
    /var/opt/ltsp/swapfiles   5% 30g defaults
    /skole/tjener/home[0-9]+  10% 250g defaults
    /skole/tjener/group[0-9]+ 10% 150g defaults
    /skole/backup            10% 150g defaults
  8. Die neuen Verzeichnisse via NFS exportieren (anhängen an /etc/exports):

    /srv/nfs4/home1 @ltsp-server-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check) @workstation-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check) @server-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check)
    /srv/nfs4/group0 @ltsp-server-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check) @workstation-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check) @server-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check)
    /srv/nfs4/group1 @ltsp-server-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check) @workstation-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check) @server-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check)
    /srv/nfs4/transfer @ltsp-server-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check) @workstation-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check) @server-hosts(sec=krb5p:krb5i:krb5:sys,rw,sync,no_subtree_check)
  9. NFS Verzeichnisse re-exportieren:

    $ exportfs -ar

TJENER mit dem Internet verbinden

Software nachinstallieren auf TJENER

Die folgenden Schritte werden nach Anmeldung mit dem Initialen Benutzer an der Text-Console, später unter GNOME durchgeführt. Gearbeitet auf TJENER wird indirekt durch die von virt-manager bereit gestellte VNC-Konsole zur VM.

Fine-Tuning TJENER nach Basisinstallation / vor Software-Installation

  1. Login als root

  2. Standard-Editor festlegen (an der Unix-Console)

    $ update-alternatives --config editor

    Hier dann vim.basic auswählen.

  3. Das Programm Midnight Commander starten (Kommando: mc):

    • F9 drücken
    • Optionen -> Konfiguration: [x] Internen Editor benutzen

    • Optionen -> Einstellungen speichern

    • F10: Midnight Commander beenden
  4. Den Midnight Commander Editor (Kommando: mcedit) starten:

    • F9 drücken
    • Menüpunkt: Optionen -> Allgemein

    • "Backspace durch Tabs" auswählen
    • "Tabs mit Leerzeichen auffüllen" auswählen
    • "Return rückt automatisch ein" abwählen
    • F10: Editor beenden

Software nachinstallieren aus Debian squeeze

Paket-Quellen ITZkS hinzufügen

Auf dem Hauptserver muss jetzt die APT-Quelle von IT-Zukunft Schule hinzugefügt werden. Von dort wird u.a. das Paket itzks-systems-config installiert, welches weitere APT Quellen dem System hinzufügt.

$ editor /etc/apt/sources.list.d/itzks.list

"""
deb http://packages.it-zukunft-schule.de/debian squeeze main
deb http://packages.it-zukunft-schule.de/debian squeeze-backports main
"""

$ apt-get update && apt-get install itzks-keyring && apt-get update && apt-get install x2go-keyring deb-multimedia-keyring && apt-get update

Paket-Quellen für Debian Mozilla Team hinzufügen

Auf der Seite des Debian Mozilla Packaging Teams befinden sich die entsprechenden Download Optionen für den Release-Zweig des Debian Mozilla Teams.

Auf der o.g. Seite werden die folgenden Optionen für die Konfigurationsansicht ausgewählt: « I am running Debian squeeze and I want to install Iceweasel version release . »

Die Konfigurationshinweise auf der Seite befolgen, entsprechende APT Quelle zum TJENER hinzufügen und den Debian Mozilla Archive Key dem TJENER hinzufügen.

Hinweis: Das Paket itzks-systems-config enthält bereits in /etc/apt/sources.list.d/mozilla.list den richtigen Eintrag.

Software nachinstallieren aus Debian squeeze-backports

Einige Programme sollen auf TJENER aktueller sein als in Debian squeeze.

$sudo apt-get install -t squeeze-backports itzks-systems-mainserver

X2Go installieren

$ editor /etc/apt/sources.list.d/x2go.list

"""
deb http://packages.x2go.org/debian squeeze main
"""

$ apt-get update && apt-get install x2go-keyring && apt-get update

Aus diesen Quellen werden die folgenden Pakete installiert:

$ apt-get install x2goserver-xsession x2gognomebindings x2godesktopsharing x2goclient pyhoca-gui

Fernwartungs-Zugang einrichten

Die Einrichtung eines Fernwartungs-Zugangs mit autossh wird hier beschrieben.

GOsa²-Baumstruktur erweitern/ergänzen

Spätestens jetzt muss grafisch unter GNOME weiter gearbeitet werden, damit in GOsa² die im folgenden beschriebenen Anpassungen durchgeführt werden können.

Die hier beschriebenen Anpassungen sind Änderungen an GOsa², die nötig sind, um die Haupserver-Installation zu Ende führen zu können. Eine vollständige Übersicht über alle ITZkS-Anpassungen finden sich hier.

Namensschema für neue User-IDs festlegen

In /etc/gosa/gosa.conf das Namensschema für neue User-IDs anpassen:

root@tjener:~# diff -u /etc/gosa/gosa.conf.orig /etc/gosa/gosa.conf
--- /etc/gosa/gosa.conf.orig    2012-07-06 12:53:39.000000000 +0200
+++ /etc/gosa/gosa.conf 2012-07-06 12:54:21.000000000 +0200
@@ -421,7 +421,7 @@
              useSaslForKerberos="false"
              rfc2307bis="false"
              personalTitleInDN="false"
-             idGenerator="{%givenName[3-6]}{%sn[3-6]}"
+             idGenerator="{%sn[3-6]}{%givenName[3-6]}"
              strictNamingRules="true"
              mailAttribute="mail"
              gosaSharedPrefix=""

Teilbaum IT-Administration anlegen

OU: IT-Administration
  1. Aufrufen von Iceweasel, einloggen in GOsa² unter http:///www/gosa (mit initialem User aus der Debian Installation des TJENERs).

  2. Abteilungen -> Aktionen: Anlegen > Abteilung

    1. Name der Abteilung: IT-Administration

    2. Beschreibung: IT-Dienstleister am/an der <Name der Schule>

    3. mit Button Ok bestätigen

User-Template: newitstaff
  1. Benutzer -> Aktionen: Anlegen > Vorlage

    1. Reiter: Allgemein

      1. Name der Vorlage: newitstaff

      2. Basis: /IT-Administration
      3. Organisation: IT-Zukunft Schule Team

      4. Telefon: +49 (431) 24855-0

      5. Ort: Kiel

      6. Land: Schleswig-Holstein

      7. Adresse:

        c\o Logo EDV-Systeme GmbH
        Holtenauer Str. 96
        24105 Kiel
    2. Reiter: Unix

      1. Klick auf Button: POSIX Einstellungen hinzufügen

      2. Basisverzeichnis: /skole/tjener/home1/%uid

      3. Gruppen hinzufügen: admins, gosa-admins, jradmins, nonetblk, teachers, students

    3. Reiter: Samba

      1. Klick auf Button: Samba Einstellungen hinzufügen

      2. Basisverzeichnis: \\tjener\%uid, Basislaufwerk: U:

      3. Anmeldeskript: logon-teachers.bat

      4. Profilpfad: \\tjener\%uid\.ntprofile

Konten für IT-Dienstleister anlegen

Mithilfe der Vorlage newitstaff sind jetzt für jedes ITZkS-Teammitglied Benutzerkonten anzulegen.

User-Template: newteacher

In der Vorlage für neue Lehrer/innen-Accounts (newteacher) muss das Default HOME-Verzeichnis von /skole/tjener/home0/%uid auf /skole/tjener/home1/%uid umgesetzt werden.

Samba Home-Laufwerk von H: auf U: versetzen

Oft begegnen uns in Schulen Windows-PCs mit einer Reihe Card-Reader Slots. Diese Card-Reader-Slots reservieren per Default etliche Laufwerksbuchstaben (oft bis H:, I: oder gar J:). Auf PCs dieser Art führt Laufwerk H: als Netzwerklaufwerk für das Benutzerverzeichnis zu Problemen. Daher verlegen wir das HOME-Verzeichnis unter Windows auf das Netzlaufwerk U:.

  1. Die folgende Änderung an /etc/samba/smb-debian-edu.conf anwenden:

    --- smb-debian-edu.conf.orig
    +++ smb-debian-edu.conf
    @@ -104,7 +104,7 @@
     
     # Network logon
     
    -   logon drive = H:
    +   logon drive = U:
        logon script = debian-edu-login.bat
     
        # store profiles in the users' HOME shares
  2. In GOsa² die Template NewTeacher and NewStudents anpassen:

    • Reiter: Samba
    • Allgemein, Basisverzeichnis: \\tjener\%uid, als Laufwerksbuchstaben [ U: ] auswählen

OU: Computers und Printers

Desweiteren sind die Basis-OUs für Computer und Drucker zu erstellen:

Neue Windows-PCs erstellen in ou=Computers

Konfigurationsanpassungen (ITZkS-spezifisch) am TJENER

Killer Script deaktivieren

Das Killer Script tötet leider (vergl. Debian Bug #648219) laufende x2goagent Instanzen. Auf dem ITZkS Tjener wird das killer Skript daher aktiviert. Der Hauptserver wird in IT-Zukunft Schule nur von Systemadministrator/innen genutzt, insofern ist das deaktiveren von killer hier unkritisch.

root@tjener:/# diff -u /etc/cron.hourly/killer.orig /etc/cron.hourly/killer
--- /etc/cron.hourly/killer.orig        2012-08-24 13:10:14.000000000 +0200
+++ /etc/cron.hourly/killer     2012-08-24 13:10:20.000000000 +0200
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-if [ -x /usr/sbin/killer ] ; then /usr/sbin/killer; fi
+#if [ -x /usr/sbin/killer ] ; then /usr/sbin/killer; fi

Passwort-Synchronisation via Samba fixen

Squid-Proxy auf proxy-only Modus umstellen

Nur Admin-User dürfen sich auf TJENER einloggen

Schul-Admins und IT-Dienstleister tragen wir in der LDAP-Gruppe admins ein. Die Gruppe wird automatisch bei der Hauptserver-Installation angelegt (und darf im LDAP-Baum nicht verschoben werden).

/!\ Wichtig: Der Haupt-Server TJENER darf ein Login nur für Schul-Admins und Dienstleister erlauben. Hierfür müsen die Dateien /etc/security/access.conf und /etc/pam.d/sshd angepasst werden:

--- /etc/security/access.conf.orig
+++ /etc/security/access.conf
@@ -120,3 +120,6 @@
 #
 # All other users should be denied to get access from all sources.
 #- : ALL : ALL
+
++ : admins root : ALL
+- : ALL : ALL

--- /etc/pam.d/sshd.orig        2012-07-30 17:51:12.000000000 +0200
+++ /etc/pam.d/sshd     2012-07-30 17:51:26.000000000 +0200
@@ -15,7 +15,7 @@
 
 # Uncomment and edit /etc/security/access.conf if you need to set complex
 # access limits that are hard to express in sshd_config.
-# account  required     pam_access.so
+account  required     pam_access.so
 
 # Standard Un*x authorization.
 @include common-account

Erweiterte ACLs und Quotas auf Dateisystemen

Alle Mountpoints, auf denen Bentuzer/innen im Debian Edu Schreibzugriff erhalten sollten in der Lage sein, erweiterte ACLs zu verstehen. Hierfür müssen für die entsprechenden Mountpoints Eintragungen in /etc/fstab vorgenommen werden. Ferner aktivieren wir auf allen solchen Mountpoints Filesystem-Quotas (ohne diese wirklich zu nutzen, Quotas dienen im ITZkS-Projekt vornehmlich dem schnellen Überblick über User- oder Gruppen-basierte Auslastungen der Dateisysteme). Auch hierfür müssen Eintragungen in /etc/fstab vorgenommen werden.

Die im folgenden aufgeführten Einträge sollten in TJENER's /etc/fstab bereits existieren, es müssen lediglich die Optionen acl und usrquoate bzw. grpquota nachgetragen werden:

# /etc/fstab: static file system information.
[...]
/dev/mapper/vg_home-skole+tjener+home0 /skole/tjener/home0 ext3    nosuid,usrquota,acl          0       2
/dev/mapper/vg_home-skole+tjener+home1 /skole/tjener/home1 ext3    nosuid,usrquota,acl          0       2
/dev/mapper/vg_system-skole+tjener+group0 /skole/tjener/group0 ext3 nosuid,grpquota,acl 0 2
/dev/mapper/vg_system-skole+tjener+group1 /skole/tjener/group1 ext3 nosuid,grpquota,acl 0 2
/dev/mapper/vg_system-skole+tjener+transfer /skole/tjener/transfer ext3 nosuid,usrquota,acl 0 2
[...]
/skole/tjener/home0          /srv/nfs4/home0    none    bind,usrquota,acl       0       0
/skole/tjener/home1          /srv/nfs4/home1    none    bind,usrquota,acl    0       0
/skole/tjener/group0         /srv/nfs4/group0   none    bind,grpquota,acl    0       0 
/skole/tjener/group1         /srv/nfs4/group1   none    bind,grpquota,acl    0       0 
/skole/tjener/transfer       /srv/nfs4/transfer none    bind,usrquota,acl    0       0

Zusätzlich müssen die Pakete acl und quota auf TJENER installiert werden:

$ sudo apt-get install acl quota

Nach einem Neustart des Hauptservers sind dann die Volumes entsprechend gemountet. Während des nächsten Systemstarts werden dann auch die Verzeichnisquoten wie in /etc/fstab eingetragen überprüft. Dieser Vorgang wird etwas Zeit in Anspruch nehmen.

PXE-basierten Debian Installer anpassen

Eine für ITZkS vorkonfigurierte (deutsche) PXE Boot-Umgebung für den Debian Installer auf TJENER ist im Paket itzks-systems-mainserver enthalten. Nach Installation des Pakets muss dieser Anleitung gefolgt werden:

$ zcat /usr/share/doc/itzks-systems-mainserver/examples/README.tftp.gz

Diese Installationsanleitung ist auch online verfügbar: http://code.it-zukunft-schule.de/gitweb?p=itzks-systems.git;a=blob;f=examples/mainserver/README.tftp

Die einzelnen Schritte sind:

Weitere Notizen

### SCRATCHPAD!!! ###

        GOSA:
        login: Superadmin
        Systeme:
                Bsp: client-0101.intern
                IP: 10.0.2.101
                MAC: 
                DHCP, DNS aktivieren
                
                ltspserver00.intern
                IP: 10.0.2.10
                MAC:
                DHCP, DNS aktivieren
        LTSPserver Einträge in GOSA     
        Benutzer anlegen:
                Teacher
                Namen
                Kennung bestätigen
                Basis: Teacher
                OK
                PW setzen

IT-Zukunft Schule: Technik/Installation/VM/HauptServerTjener/Squeeze (zuletzt geändert am 2013-09-18 07:24:27 durch MikeGabriel)