Unterschiede zwischen den Revisionen 93 und 115 (über 22 Versionen hinweg)
Revision 93 vom 2012-07-30 15:55:22
Größe: 20658
Kommentar:
Revision 115 vom 2012-11-05 10:42:55
Größe: 26496
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 131: Zeile 131:
+/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 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
Zeile 141: Zeile 141:
 /skole/tjener/home0 /srv/nfs4/home0 none bind 0 0
+/skole/tjener/home1 /srv/nfs4/home1 none bind 0 0
+/skole/tjener/group0 /srv/nfs4/group0 none bind 0 0
+/skole/tjener/group1 /srv/nfs4/group1 none bind 0 0
+/skole/tjener/transfer /srv/nfs4/transfer none bind    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
Zeile 171: Zeile 171:
 1. NFS Verzeichnisse re-exporieren:{{{  1. NFS Verzeichnisse re-exportieren:{{{
Zeile 191: Zeile 191:
$ update-alternatives --config editor: vim.basic
}}}
$ update-alternatives --config editor
}}}
Hier dann {{{vim.basic}}} auswählen.
Zeile 224: Zeile 225:
{{{ 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.{{{
Zeile 229: Zeile 230:
deb http://packages.it-zukunft-schule.de/debian squeeze-backports main
Zeile 231: Zeile 233:
$ apt-get update && apt-get install itzks-keyring && apt-get update $ apt-get update && apt-get install itzks-keyring itzks-systems-config && apt-get update && apt-get install x2go-keyring deb-multimedia-keyring && apt-get update
Zeile 242: Zeile 244:
Hinweis: Das Paket {{{itzks-systems-config}}} enthält bereits in {{{/etc/apt/sources.list.d/mozilla.list}}} den richtigen Eintrag.
Zeile 245: Zeile 249:
$sudo apt-get install iceweasel $sudo apt-get install -t squeeze-backports itzks-systems-mainserver
Zeile 271: Zeile 275:

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 [[Technik/Installation/GOsaLDAP|hier]].
Zeile 293: Zeile 299:
Zeile 318: Zeile 323:
   i. Gruppen hinzufügen: {{{admins}}}, {{{gosa-admins}}}, {{{jradmins}}}, {{{nonetblk}}}    i. Gruppen hinzufügen: {{{admins}}}, {{{gosa-admins}}}, {{{jradmins}}}, {{{nonetblk}}}, {{{teachers}}}, {{{students}}}
Zeile 325: Zeile 330:
===== 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.
Zeile 326: Zeile 339:

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:.
Zeile 342: Zeile 357:
  * Allgemain, Basisverzeichnis: \\tjener\%uid, als Laufwerksbuchstaben [ U: ] auswählen
 
===== Konten für IT-Dienstleister anlegen =====

FIXME!

===== Container für
Computer bereitstellen =====

Basis-OUs für Computer und Drucker erstellen:
  * 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:
Zeile 353: Zeile 365:

 In ou=Computers Container für Computer (z.Bsp. Räume) erstellen, die sich an den Begebenheiten der Schule orientieren:

  * z.Bsp.
    * ou=Computer-Raum 1
    * ou=Computer-Raum 2
    * ou=Bibliothek
  * immer erstellen:
    * ou=Notebooks (mobile Geräte innerhalb der Schule)
    * ou=Fachschaften (Geräte, die in den Fachschaften der Schule kursieren)
Zeile 380: Zeile 382:
==== Verschiedene DHCP-Gruppen für unterschiedliche PXE-Boot-Menüs anlegen ====

FIXME: Genaue Beschreibung erstellen

Unterhalb von ,,Subnetz 10.0.0.0" neue DHCP-Gruppen mit GOsa² erstellen...

{{{
next-server: disklserver
Name: diskless-workstations, Pfad: /diskless+x2go/pxelinux.0
Name: ubuntu-workstations, Pfad: /ubuntu+x2go/pxelinux.0
Name: x2go-thinclients, Pfad: /x2go-tce/pxelinux.0
Name: diskless-and-localdisk-workstations, Pfad: /diskless+localdisk+x2go/pxelinux.0
Name: skolelinux-workstations, Pfad: /skolelinux+x2go/pxelinux.0
Name: windows-workstations, Pfad: /windows+x2go/pxelinux.0
}}}
Zeile 397: Zeile 383:

==== Killer Script deaktivieren ====

Das Killer Script tötet leider (vergl. Debian Bug [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648219|#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 ====

 Die Passwort-Synchronisation via Samba Domain Clients braucht für squeeze-r0 einen Patch (vergl. Debian-BTS [[http://bugs.debian.org/656296|#656296]]):{{{
Index: etc/samba/smb-debian-edu.conf
===================================================================
--- etc/samba/smb-debian-edu.conf (Revision 78303)
+++ etc/samba/smb-debian-edu.conf (Arbeitskopie)
@@ -95,6 +95,18 @@
 # PAM setup
    obey pam restrictions = no
 
+# passwd sync
+
+ # sync LDAP password
+ ldap passwd sync = yes
+
+ # sync Kerberos password via kadmin.local
+ unix password sync = yes
+ passwd program = /usr/sbin/kadmin.local -q 'cpw %u'
+ passwd chat = "Authenticating as principal*"\n"Enter password for principal *"%u"*:*" %n\n \n"Re-enter password for principal *"%u"*:*" %n\n \n"Password for *"%u"@* changed."\n
+ # dangerous: reveals clear text password in Samba log files...
+ passwd chat debug = no
+
 # Printer settings
 
    load printers = yes
@@ -182,10 +194,6 @@
    read raw = yes
    write raw = yes
 
- # make sure samba password changes reach NT+LM hashes, userPassword and Kerberos
- pam password change = yes
- unix password sync = no
-
    # no offline cache of shares
    csc policy = disable
}}}
Zeile 433: Zeile 470:
acl INSIDE dstdomain .intern
always_direct allow INSIDE
never_direct allow all
Zeile 470: Zeile 510:
FixMe: Genaue Doku schreiben. 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:

 * README.tftp befolgen (s.o.)
 * Firmware Binaries aus Debian squeeze non-free im PXE D-I integrieren:{{{
$ sudo /usr/share/debian-edu-config/tools/pxe-addfirmware
}}}

Installationshinweise: Debian Edu / Skolelinux Haupt-Server ''TJENER''

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.

  • Grafisch unter dem Login locadm am Server virt-man-01 anmelden

  • Das Programm virt-manager starten

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, z.Bsp. Login für einen der ITZkS-Mitarbeiter oder den Schul-Admins

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
  • TJENER herunterfahren
  • das Programm virt-manager öffnen

  • Konfiguration der VM tjener.intern öffnen

  • im weißen Bereich (Geräteliste) rechte Maustaste klicken: Hardware hinzufügen: ein neues Unterfenster
  • im weißen Bereich (Gerätetypen) Klick auf Storage
    • Verwalteten oder anderen Speicher wählen markieren, dann Klick auf Button Durchsuchen: neues Unterfenster

      • Auswahl des Storage Pools vm-fast-vg

      • dort: tjener.intern_sdb auswählen, Klick auf Datenträger wählen

      • Unterfenster schließt
    • Gerätetyp: Virtio Disk
    • Cache mode: default
    • Storage format: <leer lassen>

    • Klick auf Button Abschließen

  • TJENER wieder starten

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 das alte Logical Volume für Home-Verzeichnisse (als root) auflösen:

    $ 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

  • bereits vorbereitet: Basisinstallation ipFire (Skole-Gateway auf der IP 10.0.0.1 aka gateway.intern)

  • Anschließen von ipFire
    • rot: an Schul-/Firmennetz o.ä. Netz mit DHCP-Server

    • grün: zusammen mit der Skole-Netzwerk Bridge (eth1, br1), auf der TJENER kommuniziert an eine gemeinsame Netzwerkswitch

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

  • Für das Nachinstallieren von Software, muss TJENER's Proxy mit dem Internet kommunizieren können. Testen (und APT-Cache initialisieren) mit:

    $ sudo apt-get update

    Für den anfänglichen Betrieb reicht es, die folgende Software nachzuinstallieren:

    $ sudo apt-get install gnome-session gnome-terminal iceweasel iceweasel-l10n-de gedit xinit gosa-plugin-connectivity gosa-plugin-squid autossh tree nmap nload

    Hinweis: Wer möchte, kann jetzt grafisch unter GNOME weiter arbeiten:

    $ startx

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 itzks-systems-config && 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:

  • ou=Computers
  • ou=Printers

Neue Windows-PCs erstellen in ou=Computers

  • Die folgende Änderung an /etc/smbldap-tools/smbldap.conf anwenden:

    --- smbldap.conf.orig
    +++ smbldap.conf
    @@ -124,7 +124,7 @@
     # Where are stored Computers
     # Ex: computersdn="ou=Computers,dc=IDEALX,dc=ORG"
     # Warning: if 'suffix' is not set here, you must set the full dn for computersdn
    -computersdn="ou=winstations,ou=systems,${suffix}"
    +computersdn="ou=winstations,ou=systems,ou=Computers,${suffix}"
     
     # Where are stored Groups
     # Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG"

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

  • Die Passwort-Synchronisation via Samba Domain Clients braucht für squeeze-r0 einen Patch (vergl. Debian-BTS #656296):

    Index: etc/samba/smb-debian-edu.conf
    ===================================================================
    --- etc/samba/smb-debian-edu.conf       (Revision 78303)
    +++ etc/samba/smb-debian-edu.conf       (Arbeitskopie)
    @@ -95,6 +95,18 @@
     # PAM setup
        obey pam restrictions = no 
     
    +# passwd sync
    +
    +   # sync LDAP password
    +   ldap passwd sync = yes 
    +
    +   # sync Kerberos password via kadmin.local
    +   unix password sync = yes
    +   passwd program = /usr/sbin/kadmin.local -q 'cpw %u'
    +   passwd chat = "Authenticating as principal*"\n"Enter password for principal *"%u"*:*" %n\n \n"Re-enter password for principal *"%u"*:*" %n\n \n"Password for *"%u"@* changed."\n
    +   # dangerous: reveals clear text password in Samba log files...
    +   passwd chat debug = no
    +
     # Printer settings
     
        load printers = yes
    @@ -182,10 +194,6 @@
        read raw = yes
        write raw = yes
     
    -   # make sure samba password changes reach NT+LM hashes, userPassword and Kerberos 
    -   pam password change = yes
    -   unix password sync = no
    -
        # no offline cache of shares
        csc policy = disable

Squid-Proxy auf proxy-only Modus umstellen

  • Im ITZkS-Setup übernimmt die Firewall (gateway.intern) das Cachen und Filtern von Webinhalten. Hierfür wird der Squid-Proxy auf TJENER in den Modus proxy-only versetzt.

    $ editor /etc/squid/squid.conf
    #       WELCOME TO SQUID 2.7.STABLE9
    #       ----------------------------
    #
    #       This is the default Squid configuration file. You may wish
    #       to look at the Squid home page (http://www.squid-cache.org/)
    #       for the FAQ and other documentation.
    #
    
    [...]
    
    #  TAG: cache_peer
    #       To specify other caches in a hierarchy, use the format:
    #
    #               cache_peer hostname type http-port icp-port [options]
    #
    #       For example,
    #
    #       #                                        proxy  icp
    #       #          hostname             type     port   port  options
    #       #          -------------------- -------- ----- -----  -----------
    #       cache_peer parent.foo.net       parent    3128  3130  proxy-only default
    #       cache_peer sib1.foo.net         sibling   3128  3130  proxy-only
    #       cache_peer sib2.foo.net         sibling   3128  3130  proxy-only
    
    [...]
    
    acl INSIDE dstdomain .intern
    always_direct allow INSIDE
    never_direct allow all
    cache_peer gateway.intern       parent    3128  0  proxy-only default
    
    [...]

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:

  • README.tftp befolgen (s.o.)
  • Firmware Binaries aus Debian squeeze non-free im PXE D-I integrieren:

    $ sudo /usr/share/debian-edu-config/tools/pxe-addfirmware

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 (zuletzt geändert am 2022-01-06 15:18:14 durch MikeGabriel)