Herzlich Willkommen auf meiner Homepage.

Der erste Teil dieser Site stellt die von mir angebotenen, kommerziellen Dienstleistungen vor. Der zweite Teil, myLinux.de, beschäftigt sich ausschließlich mit dem von mir betriebenen OpenSource Projekt myLinux Server.

Welcome to my Homepage.

The first part of this Site, Dienstleistungen, presents the commercial services offered by me. It is presently only available in German. The second part is exclusively related to the OpenSource project myLinux Server. An english version of this part, myLinux.en, is under construction.

Dienstleistungen

Software-Entwicklung
  • Schwerpunktmäßig verwendete Programmiersprachen:
    C/C++, Perl, PHP, JavaScript, Java, Pascal / Delphi, Visual Basic, Assembler, Fortran
  • Hauptsächlich verwendete Datenbanken:
    mySQL, Oracle, SQL Server
    Sprachen: SQL, PL/SQL (Oracle), Transact SQL (SQL Server)
Installation,
Konfiguration,
Administration
  • Linux (SuSE Linux, Linux from Scratch)
  • Windows (3.x, 9x, NT, 2000, XP)
  • OpenSource Systeme wie openLDAP, Samba, Apache, mySQL, sendmail, Cyrus IMAPD
Schulungen
  • Linux (Systemkonfiguration, KDE)
  • openLDAP (Zugriffsrechte, Nutzung in Authentifizierungssystemen)
  • openSSL (Aufbau einer Public Key Infrastructure)
  • Samba (Anbindung in Windows-Netze, mit oder ohne Windows Domain Controller; Authentifizierungsmethoden, insbesondere LDAP)
  • Apache (Webdienste, Verschlüsselung, Authentifizierungsmethoden - insbesondere LDAP, Zugriffsrechte)
  • mySQL
  • sendmail (Administration, Troubleshooting, Konfiguration, Authentifizierungsmethoden; insbesondere Konfiguration und Authentifizierung über LDAP)
  • Cyrus IMAPD (Administration, Troubleshooting, Konfiguration, Authentifizierungsmethoden; insbesondere Authentifizierung über LDAP)

Weitere Informationen sind in den folgenden Seiten enthalten:

Lebenslauf

Name: Oberg
Vorname: Michael
Adresse: Saarstraße 16
50677 Köln
Geburtsdatum: 31.07.1964
Geburtsort: Hilden
Familienstand: ledig
Schulausbildung: Einschulung 01.08.1970 Grundschule Haan
24.10.1970 - 31.08.1975 Grundschule Dönberg (Wuppertal)
01.09.1975 - 25.01.1985 Gymnasium Herder-Schule (Wuppertal)
26.02.1985 Abitur
Berufsausbildung: Studium der Mathematik Wintersemester 1986 - Wintersemester 1998
Schwerpunkt:
Numerische Mathematik
Nebenfach:
Physik (Wintersemester 1986 - Wintersemester 1988)
Informatik (Sommersemester 1989 - dieses Nebenfach wurde erst mit der Gründung des "Instituts für Angewandte Informatik" eingeführt)
Abschluß als Diplom-Mathematiker 22.12.1998
Zeugnis:
Seite 1 Seite 2
Bemerkung: In diesem Studium habe ich mehr als zehn Jahre lang EDV-Erfahrung sammeln können, so im Bereich Compilerbau, kontrolliertes numerisches Rechnen, u.a. auch mit Coprozessorsteuerung (Assembler), Programmierung von Parallelrechnern (CM2, CM5), Großrechnern und vieles mehr. Ich entschied mich schließlich gegen eine akademische Laufbahn, um mehr direkten Kontakt zu den eigentlichen EDV-Anwendern - den Geschäftskunden - zu bekommen.
Berufsausübung: Januar 1999 - Februar 2000 Verfassen des Informatik-Lehrbuches "Computer und Sprache", erschienen im Oktober 2000 bei "Deutscher Universitäts-Verlag GmbH Wiesbaden", ISBN 3-8244-0537-7
25.04.2000 Eintritt in die "ThinkWare Beratung und Entwicklung GmbH" in Köln
Tätigkeit: Systemingenieur / Projektleiter
Projekte (unter anderem): Konzeption des internen ThinkWare-Netzwerkes auf Basis von Linux-Servern; Mitarbeit bei der Erstellung von Netzwerkmanagement-Systemen für zwei große Mobilfunkanbieter; Mitarbeit bei der Erstellung des Reporting-Systems eines Protokolltester-Systems im Auftrag eines Zulieferers der TK-Branche; Konzeption und Mitarbeit bei der Erstellung des Troubleticket-Systems eines großen Mobilfunkanbieters (siehe auch Projekte)
01.09.2002 Liquidation von ThinkWare
23.09.2002 Beginn der Konzeption der "myLinux Server" Distribution in Absprache mit der Fourier Information GmbH in Köln; geplante Freigabe unter der GPL Ende September 2003 (siehe auch Projekte sowie myLinux)

Projekte

Zeitraum: April 2000 bis Juni 2000
Kunde: Telekommunikation
Team: 2 Personen
Beschreibung: Interface für eine Metadatenbank eines Netzwerkmanagement-Systems, die als API für Zugriffe auf die Datenbanken verschiedener anderer Subsysteme dienen sollte
Software: Oracle 7.3 (unter Windows NT 4.0 Server und SuSE Linux 6.4), PL/SQL, Toad

Zeitraum: sporadisch, während November 2000 bis Juni 2002
Kunde: ThinkWare-internes Projekt
Team: 1-3 Personen
Beschreibung: Reorganisation des vorher rein Windows-NT-4.0-basierten ThinkWare-Netzwerkes auf Basis von Linux-Servern
Software: SuSE Linux 6.4/7.0, Windows NT 4.0 Server/Workstation, Samba, sendmail, Cyrus IMAPD, Apache, PHP, Horde/IMP, openLDAP (damals nur Adressbuch), mySQL, myODBC, Microsoft Access 97 (als Interface für mySQL), Oracle 8.0.5

Zeitraum: Juli 2000 bis November 2000
Kunde: Telekommunikation
Team: ca. 20 Personen in Köln, noch weitere Standorte vorhanden
Beschreibung: Erstellung von Testspezifikationen für Alarm-Mapper in einem TeMIP-basierten Netzwerk-Management-System
Software: MS Word 97

Zeitraum: Oktober 2000 und November 2000
Kunde: -
Beschreibung: Besuch von TeMIP-Schulungen in Nizza und Sofia Antipolis, Frankreich; TeMIP Fundamentals, TeMIP Development Toolkit
Software: TeMIP, TeMIP Iconic Map, C++, C++-Framework Visual TeMIP
Seite 1 Seite 2

Zeitraum: Dezember 2000 bis Januar 2001, parallel zu anderen Projekten auch bis September 2001
Kunde: Telekommunikation
Team: ca. 20 Personen in Köln, noch weitere Standorte vorhanden
Beschreibung: Initial Upload für ein TeMIP-basiertes Netzwerk-Management-System - d.h. die Übernahme von Datenbeständen aus den älteren Netzwerkmanagement-Systemen für Teilnetze/Techniken in die Datenbank des neuen, zentralen Systems
Software: Perl 5, TeMIP, TNDL (TeMIP Network Data Loader)

Zeitraum: Februar 2001 bis August 2001
Kunde: Telekommunikation
Team: ca. 20 Personen in Köln, noch weitere Standorte vorhanden
Beschreibung:
  • Erstellung einer grafischen Oberfläche zum Remote-Aufruf älterer Netzwerk-Management-Systeme von der TeMIP-Oberfläche aus
  • Administration der UNIX-Server und -Workstations für das Netzwerk-Management-System
  • Konfiguration von Exceed X-Servern unter Windows
Software: Perl 5, Perl/Tk, TeMIP Iconic Map, Tru64 UNIX 4.0F, Hummingbird Exceed, Windows NT 4.0

Zeitraum: Oktober 2001 bis November 2001
Kunde: Telekommunikation
Team: 1 Person
Beschreibung: Customization und Einrichtung eines von einer Partnerfirma gekauften, einfachen Troubleticket-Systems mit Webinterface
Software: Microsoft Internet Information Server 4.0/5.0, Active Server Pages / Visual Basic, Microsoft SQL Server 2000, Internet Explorer 5.0/5.5, Microsoft Office 2000 Web Components, HTML/DHTML, CSS, JavaScript

Zeitraum: Dezember 2001 bis Januar 2002
Kunde: ThinkWare-internes Projekt
Team: 1 Person
Beschreibung: Erstellung eines Programmgenerators für PHP-Skripte (in Vorbereitung auf einen erwarteten Kundenauftrag, die Erstellung eines stark erweiterten Troubleticket-Systems)
Software: Perl 5, PHP 4.0, Apache, Internet Information Server, mySQL, HTML, CSS, JavaScript, Internet Explorer 5.0/5.5, Netscape Navigator 4.5/4.7x/4.8

Zeitraum: Februar 2002 bis März 2002
Kunde: Telekommunikation
Team: 3 Personen
Beschreibung: Konzeptionierung und Mitarbeit an der Programmierung eines Troubleticket-Systems mit Webinterface als Ersatz für das oben genannte (Oktober 2001 bis November 2001) Tool
Vorteile gegenüber dem alten System u.a.:

  • weitgehende Betriebssystemunabhängigkeit, abgesehen von der Datenbank
  • schnelle Anpassbarkeit an veränderte Kundenwünsche durch Verwendung eines Programmgenerators (siehe Dezember 2001 bis Januar 2002)
  • deutlich erweiterter Funktionsumfang, angepaßt an die Kundenwünsche
  • stark verbesserte Performance
Software: PHP 4.0, Internet Information Server, Microsoft SQL Server 2000, HTML, CSS, JavaScript, Internet Explorer 5.0/5.5

Zeitraum: März 2002 bis Juni 2002
Kunde: Zulieferer für die TK-Branche
Team: 3 Personen
Beschreibung: Mitarbeit an einem Reporting-System auf Basis von Business Objects für ein Protokollmeßgerät (Ghepardo v. Sunrise Protel)
Software: Business Objects, VBA, Oracle 8.1.6/8.1.7, PL/SQL, Toad, PHP, Windows NT 4.0 Server

Zeitraum: Juni 2002 bis Juli 2002
Kunde: Telekommunikation
Team: 3 Personen
Beschreibung: Erweiterung des unter Februar 2002 bis März 2002 genannten Troubleticket-Systems
Ziele:

  • Erweiterung des Funktionsumfangs, insbesondere im Hinblick auf die Nutzung durch mehrere Abteilungen
  • Vorbereitung auf die Portierung des Webservers nach Linux
  • Anbindung von zwei Fremdsystemen: ein HTML-Plugin in ein Visual Basic Programm, außerdem Datenübernahme aus einer mySQL-Datenbank (zunächst über myODBC geplant, dann via XML)
Software: PHP 4.0, Apache, Internet Information Server, Microsoft SQL Server 2000, mySQL, HTML, CSS, JavaScript, Internet Explorer 5.0/5.5, Visual Basic, myODBC, XML

Zeitraum: August 2002
Kunde: ThinkWare-internes Projekt
Team: 3-5 Personen
Beschreibung: Mitarbeit an der Erstellung eines Workforce Management Systems
Client-Server-Architektur mit einer Oracle-Datenbank und Java/Swing-Clients; unter anderem sollte auch eine Anbindung an das oben genannte Troubleticket-System geschaffen werden
Bemerkung: Projekt wurde wegen der Insolvenzerklärung von ThinkWare abgebrochen.
Software: Java SDK 1.3.1, Swing, JDeveloper, JDBC, Oracle 8.1.7, Microsoft SQL Server 2000

Zeitraum: September 2002 bis Februar 2003
Kunde: Fourier Information GmbH
Team: 1 Person
Beschreibung: Konzeption und Erstellung einer Linux-Server-Distribution basierend auf SuSE Linux
Siehe auch Fourier Information GmbH / Lösungen / myLinux Server
Software: SuSE Linux 7.1, Windows NT 4.0 Workstation, Microsoft Outlook 2000, openLDAP, openSSL, PAM, Samba, sendmail, Cyrus IMAPD, Apache, PHP, SquirrelMail, LDAPExplorer, mySQL, Ghostscript, Bind 8/9, DHCPD, Berkeley FTPD, Perl 5, Bash

Zeitraum: März 2003
Kunde: Fourier Information GmbH
Team: 1 Person
Beschreibung: Entwicklung von Methoden zur schnellen Erfassung von Netzwerkkonzepten bei Kundengesprächen und Weiterverwendung dieser Informationen bei der Erstellung von Migrationsplänen und Test- bzw. Abnahmedokumenten
Software: Tiki, Perl 5, Microsoft Word 2000

Zeitraum: April 2003 bis Juni 2003
Kunde: Fourier Information GmbH
Team: 2 Personen
Beschreibung: Umstellung des Fourier-Netzwerkes auf eine Testinstallation des myLinux Server; Erweiterungen des myLinux Server; Mitarbeit an der neuen Homepage der Fourier Information GmbH; Einrichtung einer Knowledge-Datenbank für Fourier
Software: SuSE Linux 7.1, Windows NT 4.0 Workstation, Microsoft Outlook 2000, openLDAP, openSSL, PAM, Samba, sendmail, Cyrus IMAPD, Apache, PHP, SquirrelMail, LDAPExplorer, mySQL, Ghostscript, Bind 8/9, DHCPD, Berkeley FTPD, Perl 5, Bash, Tiki

Zeitraum: Juli 2003 bis September 2003
Kunde: Fourier Information GmbH
Team: 1 Person
Beschreibung: Neukonzeption der myLinux Server Distribution auf Basis von Linux from Scratch und Beyond Linux from Scratch (siehe auch myLinux)
Software: Linux from Scratch, openLDAP, openSSL, openSSH, PAM, Samba, sendmail, Cyrus IMAPD, Apache, PHP, SquirrelMail, LDAPExplorer, mySQL, Ghostscript, Bind 9, DHCPD, Perl 5, Bash

Preise

Schulungen: 60 Euro / Stunde
Installation/Konfiguration/Administration: 60 Euro / Stunde
Software-Entwicklung: 70 Euro / Stunde

Diese Angaben verstehen sich als Nettopreise.

myLinux

Der myLinux Server ist ein Gnu/Linux-Betriebssystem, dessen Authentifizierungsmechanismen und teilweise auch dessen Konfiguration auf dem Verzeichnisdienst LDAP basieren.

Die Verbindung von persönlichen Informationen wie Telefonnummern, Anschrift etc. mit Authentifizierungsmechanismen, Zugriffsrechteverwaltung und digitalen Signaturen über die zentrale, unternehmensweit gültige Datenbank eines Verzeichnisdienstes wird von mehr und mehr Unternehmen als vorteilhaft oder gar notwendig empfunden.

Unter anderem bieten die folgenden kommerziellen Systeme derartige Features:

Im Bereich der freien OpenSource Projekte verwendet beispielsweise der Groupware Server Kolab (http://kolab.kroupware.org/) diese Technik.

Der Anspruch, konsequent alle Dienste eines Linux-Servers auf LDAP-Authentifizierung umzustellen, ist zur Zeit noch wenig verbreitet. Seit September gibt es ein entsprechendes Produkt von SuSE, den SuSE Linux Standard Server 8. Wie bei allen SuSE-Projekten ist eine Dokumentation der Entwicklung dieses Servers nicht verfügbar.

Der langfristige Anspruch des Projektes myLinux ist es, eine freie und vollständig dokumentierte Implementation eines solchen Systems zu schaffen.

LDAP

Das Herzstück des myLinux Server ist openLDAP. Dieser Verzeichnisdienst übernimmt die folgenden Aufgaben:

Adressbuch

Jeder Mailclient mit LDAP-Unterstützung (beispielsweise Microsoft Outlook, Outlook Express, Lotus Notes, Netscape Messenger, Eudora, Pegasus, KMail, Ximian Evolution, ...) kann zumindest die in LDAP gespeicherten eMail-Adressen verwenden und nach Name/Vorname suchen, wahrscheinlich auch weitere Daten abfragen (Telefonnummern, Anschriften etc., bis hin zu Verlinkungen von Einträgen wie "Manager" und "Mitarbeiter"). Optimiert wurde das LDAP-System für Microsoft Outlook (siehe Schemas).

Außerdem ist ein Download des Adressbuchinhalts als HTML-Tabelle bzw. Microsoft Excel Sheet über ein CGI-Skript (ldap2html.pl) möglich. Dieses kann auch für eine "Web Query" von Microsoft Excel oder Microsoft Access benutzt werden.

Authentifizierung

Zugriffsrechte

EMail-Konfiguration

Siehe auch sendmail.

Dedizierter Zugriff auf LDAP

Zugriffe werden per Default in drei Klassen unterteilt:

Siehe auch slapd.conf.

Eine Verwaltung der LDAP-Einträge ist unter Verwendung des LDAP-Explorers möglich.

Schemas

Das Patchfile inetorgperson.patch erweitert das Schema /etc/openldap/schemas/inetorgperson.schema um die Microsoft Outlook-Attribute c (country), URL (Homepage), otherFacsimiletelephoneNumber (private Faxnummer), reports (Mitarbeiter) und comment. Damit werden alle Attribute unterstützt, die auch von Microsoft LDAP / Active Directory über Microsoft Exchange 2000 zur Verfügung gestellt werden.

Dies sind übrigens nicht alle Attribute, die auch für Outlook-Kontakte zur Verfügung stehen.

Weitere benötigte Schemas sind samba.schema für Samba und sendmail.schema für sendmail, die jeweils mit diesen Programmen ausgeliefert werden. Die Schemas werden im Kopf der Datei slapd.conf aktiviert.

Siehe dazu auch den Abschnitt configure LDAP im Skript COMPILE-MYLINUX.

sendmail

Anders als die meisten Linux-Programme wird die Übersetzung von sendmail nicht über ein configure-Skript vorbereitet, sondern durch Einrichtung der Konfigurationsdatei site.config.m4. Hier werden folgende Features aktiviert:

Damit die sendmail-Konfigurationsdaten in der LDAP-Datenbank gespeichert werden können, muß das Schema sendmail.schema in LDAP eingebunden werden; siehe auch Schemas.

Die Konfiguration von sendmail erfolgt über die Datei sendmail.mc. Diese Datei ist auch im Livesystem für Konfigurationsänderungen vorhanden, und zwar unter /usr/src/sendmail/cf/cf/sendmail.mc.

Die Verbindung zwischen der SASL-Authentifizierung und sendmail wird durch die Konfigurationsdatei /usr/lib/sasl2/Sendmail.conf hergestellt. Hier wird die Verbindung zum LDAP-Server konfiguriert, es wird angegeben, welche Konfigurationsdaten in der LDAP-Datenbank gespeichert werden, es wird eine Verbindung zum LDA Cyrus IMAPD hergestellt, und die Pfade zu den SSL-Zertifikaten werden angegeben.

Die Verbindung zu Cyrus benötigt außerdem einen Patch: sendmail-cyrus.patch. Hier wird der Pfad zum lmtp-Socket umgestellt; siehe dazu auch die Datei cyrus.conf unter Cyrus IMAPD.

Zur Übersetzung von sendmail siehe den Abschnitt sendmail im Skript COMPILE-BLFS sowie den zweiten Übersetzungszyklus im Abschnitt sendmail im Skript COMPILE-MYLINUX.

Cyrus IMAPD

Zur Übersetzung von Cyrus IMAPD siehe die Abschnitte cyrus-sasl-2.1.14 und cyrus-imapd-2.1.14 im Skript COMPILE-MYLINUX.

Die Konfigurationsdatei /etc/cyrus.conf stellt seitens Cyrus die Verbindung zu sendmail her. Sie entspricht der mitgelieferten Datei master/conf/normal.conf, ausgenommen den Pfad zum lmtp-Socket (siehe dazu auch den Patch sendmail-cyrus.patch unter sendmail).

Die Datei imapd.conf konfiguriert die Pfade zu den Konfigurations- und Maildatenbanken von Cyrus, die Authentifizierungsmethode (saslauthd, wie bei sendmail), den MTA sendmail und die Pfade zu den SSL-Zertifikaten.

Der Patch cyrus-services.patch fügt die Namen der von Cyrus verwendeten TCP-Protokolle der Datei /etc/services hinzu. Übrigens wird bei dieser Gelegenheit auch der Name des Services "swat" (siehe SWAT) hinzugefügt.

Apache

Zur Übersetzung des Apache Webservers siehe den Abschnitt httpd-2.0.47 im Skript COMPILE-MYLINUX.

Die Datei /etc/httpd/httpd.conf enthält die gesamte Konfiguration des Webservers. Gegenüber der mitgelieferten Version /etc/httpd/httpd-std.conf wurden folgende Anpassungen gemacht:

Samba

Zur Übersetzung von Samba siehe den Abschnitt samba im Skript COMPILE-BLFS und sowie den zweiten Übersetzungszyklus im Abschnitt samba im Skript COMPILE-MYLINUX.

Damit die Samba-Kontoinformationen in der LDAP-Datenbank gespeichert werden können, muß das Schema samba.schema in LDAP eingebunden werden; siehe auch Schemas.

Die Datei /etc/samba/smb.conf konfiguriert unter anderem die SSL-verschlüsselte Verbindung zum LDAP-Server (ldap server/port/suffix/admin/ssl), die Paßwort-Synchronisation zwischen Windows und PAM (passwd program/chat, unix password sync), und die Einbindung von Windows-Maschinen (add user script).

Der myLinux Server enthält in der Default-Einstellung bereits mehrere Windows-Shares. Dazu gehören der Logon-Share [netlogon], in dem auch das Login-Script login.bat untergebracht werden muß (logon script), sowie das Heimatverzeichnis [home], welches auch als Netzlaufwerk zur Verfügung steht (logon drive). Auch das Verzeichnis für die Windows-Druckertreiber ([print$]), das Spool-Verzeichnis für alle Windows-Druckjobs ([printer]), und das Ausgabeverzeichnis des PDF-Druckers ([pdfdocs]) werden hier definiert.

Alle Shares mit Ausnahme von [netlogon] (Read Only) und [print$] sind außerdem für On-Access-Scanning mit dem Virenscanner ClamAV konfiguriert. Bei [print$] verursachte das On-Access-Scanning einen Fehler bei der Installation neuer Treiber - Pfadangaben wurden beim Upload verfälscht, so daß die hochgeladenen Treiber nicht angesprochen werden konnten.

Weitere Shares kann man manuell oder mit dem Samba-Administrations-Tool SWAT hinzufügen.

Das Paßwort des LDAP-Administrators wird mit dem Kommando smbpasswd -w <PASSWORD> gesetzt. Dies geschieht automatisch durch die Konfigurationsroutine usermanager/setup/samba.sh.

slapd.conf

Die Konfigurationsdatei /etc/openldap/slapd.conf enthält unter anderem folgende Einstellungen:

Zugriffsrechte

Die Vergabe von Zugriffsrechten auf das LDAP-Verzeichnis wurde bereits unter LDAP im Abschnitt "Dedizierter Zugriff auf LDAP" beschrieben.

Das explizite Erteilen von Zugriffsrechten ist dabei recht einfach ("... by dn=... write"). Die Schwierigkeit besteht darin, daß mit der Erteilung von Schreibrechten keine Sicherheitslücken geöffnet werden dürfen.

Um beispielsweise das Anlegen von UNIX-Benutzern oder -Gruppen dem LDAP-Administrator alleine vorzubehalten, muß das Anlegen solcher Objekte im Ordner "contacts" verboten werden - dies geht nur, indem man das Auslesen der für diese Objekte typischen Attribute (Paßwörter, ID Nummern) unmöglich macht.

Auch dürfen innerhalb von Benutzer- und Gruppen-Objekten bestimmte systemkritische Attribute nicht verändert werden (ID Nummern, Paßwörter, Gruppen- und Benutzernamen).

LDAP-Explorer

Eine Verwaltung der LDAP-Datenbank kann prinzipiell mit jedem LDAP-Administrations-Tool erfolgen. Allerdings unterstützt openLDAP derzeit nur TLS-Verschlüsselung, was für LDAP-Client-Tools derzeit noch wenig gebräuchlich ist. Ideal ist deshalb ein Webinterface, da dieses die SSL-Verschlüsselung des Apache-Webservers mitbenutzen kann. Ein solches Tool ist der LDAP-Explorer.

Der Patch LDAPExplorer.patch ändert das Verhalten dieses Programms in folgender Weise:

ht://dig

Zur Übersetzung von ht://dig siehe die Abschnitte htdig-3.1.6, catdoc-0.91.5, xpdf-2.02pl1 und conv_doc.pl im Skript COMPILE-MYLINUX.

Die Volltextindizierung von ht://dig wird über die Datei /usr/local/httpd/htdig.conf konfiguriert.

Wie bereits beim Apache Webserver beschrieben, umgeht ht://dig den Paßwortschutz und die SSL-verschlüsselung des Verzeichnisses "intranet". Dazu wird ein Alias "intranet-htdig" ohne Paßwortschutz definiert, auf den aber nur Prozesse zugreifen können, die auf dem Webserver selbst laufen.

Das CGI-Wrapper-Skript /usr/local/httpd/cgi-bin/intranet/htsearch.sh ersetzt bei allen durch ht://dig gefundenen Dokumenten den Alias "intranet-htdig" durch den Originalnamen "intranet" und aktiviert die SSL-Verschlüsselung, damit auf die Suchergebnisse auch zugegriffen werden kann. Der Wrapper wird durch den Patch htdig-search.patch aktiviert.

Um PDF- und Word-Dokumente indizieren zu können, verwendet ht://dig ein Wrapper-Skript namens convdoc.pl. Dieses wird mit dem Patch htdig-parsers.patch in der Konfigurationsdatei /usr/local/httpd/htdig.conf aktiviert und mit dem Patch htdig-convdoc.patch auf PDF- und Word-Dokumente durch Angabe der externen Parser xpdf und catdoc ausgerichtet.

PDF-Drucker

Der PDF-Drucker besteht im wesentlichen aus dem Skript /usr/local/sbin/mylinux/pdfprinter.pl sowie den zugehörigen Einstellungen unter CUPS. Zur Installation siehe die Installation von /usr/lib/cups/backend/pdf und /usr/share/cups/model/destiller.ppd im Skript MAIN und das runonce-Skript im Abschnitt phpMyAdmin-2.5.2-rc1 im Skript COMPILE-MYLINUX. Letzteres enthält das folgende Kommando:

lpadmin -p PdfPrinter -v pdf:/tmp/ -E -P /usr/share/cups/model/destiller.ppd

Es legt unter dem Namen "PdfPrinter" einen Drucker an, der das Wrapper-Skript pdf bei Verwendung des Temporärverzeichnisses /tmp und die Beschreibungsdatei für Postscript-Drucker destiller.ppd verwendet.

Dieses Kommando kann natürlich nur bei laufendem CUPS-System ausgeführt werden, daher ist es in den runonce-Mechanismus integriert, der beim ersten Login aktiviert wird.

Um den Drucker in einem Windows-NT-Netzwerk nutzen zu können, muß allerdings auch noch ein Windows-Druckertreiber zur automatischen Installation hochgeladen werden. Im Prinzip kann jeder Postscript-Drucker verwendet werden. Ich verwende üblicherweise den Apple Color LaserWriter 12/600.

SWAT

Um das Administrationstool von Samba zu aktivieren, genügt ein Start des inetd (siehe COMPILE-BLFS, Abschnitt inetd zur Übersetzung und COMPILE-MYLINUX, Abschnitt samba bzgl. des Startskripts) sowie ein Eintrag in die Konfigurationsdatei /etc/inetd.conf.

Ein Zugang ist dann über einen Webbrowser per http://<RECHNERNAME>:901/ möglich.

Warnung: Man beachte, daß der Zugang nicht SSL-verschlüsselt ist, aber das UNIX-Paßwort von root abfragt. Dies darf nicht über unsichere Leitungen (Internet) geschehen.

Webmailer

Zur Installation des Webmailers SquirrelMail siehe die Abschnitte squirrelmail-1.4.1 und avelsieve im Skript COMPILE-MYLINUX.

Bei der Übersetzung wird eine der beiden Dateien german.default_pref oder us.default_pref als squirrelmail/data/default_pref installiert. Diese Datei bestimmt unter anderem die Namen der vorinstallierten Mail-Ordner - "Gelöschte Objekte" im Deutschen, "Trash" im Englischen etc.

Die Konfigurationsdatei squirrelmail/config/config.php wird sowohl bei der Installation als auch durch die Setup-Skripte komplett überschrieben.

Avelsieve ermöglicht die Verwaltung serverseitiger Filter für eMail, inklusive automatischer Antworten. Die für Sieve benutzte Authentifizierungsmethode wird durch den Patch avelsieve.patch geändert, so daß sie mit den Methoden des myLinux Server übereinstimmt (pam_ldap benötigt Klartext-Paßworte, diese werden aber in einer SSL-verschlüsselten Verbindung übertragen).

PhpMyAdmin

Zur Installation des mySQL-Administrationstools PhpMyAdmin siehe den Abschnitt phpMyAdmin-2.5.2-rc1 im Skript COMPILE-MYLINUX.

Der Patch phpMyAdminAuth.patch aktiviert die Authentifizierungsmethode "config". Bei dieser Methode wird ein Proxy-Account "pma" eingerichtet, dessen einzige Zugriffsrechte ein einloggen in mySQL sowie ein Lesen verschiedener Spalten der Benutzer- und Datenbanktabelle und der Tabellen-Zugriffsrechtstabelle sind. Derart eingeschränkte Zugriffsrechte sind notwendig, da es prinzipiell nicht möglich ist, ein Auslesen des "pma"-Paßwortes aus der PhpMyAdmin-Konfiguration zu verhindern. Über den Proxy-Account erfolgt dann die Authentifizierung des eigentlichen mySQL-Benutzers.

Da die Einrichtung des Proxy-Accounts eine laufende mySQL-Datenbank voraussetzt, andererseits ein Start der mySQL-Datenbank zur Übersetzungszeit eventuell durch eine noch laufende Datenbank verhindert wird, geschieht diese Einrichtung mittels eines "runonce"-Skripts, welches erst beim ersten Login als root in das fertig übersetzte System ausgeführt wird.

Setup-Skripte

adminuser.sh Erzeugt den Benutzer "testadmin", der bereits als Empfänger für die eMail-Adressen "postmaster" und "root" angegeben wurde. Dieses Skript wird beim ersten Login durch den "runonce"-Mechanismus aufgerufen.
apache.sh Erzeugt die Datei [httpd.conf|/etc/httpd/httpd.conf] aus dem Template /etc/httpd/httpd.conf-template durch einsetzen der eMail-Adresse von root, dem Servernamen und der Serveradresse (siehe Apache).
ca.sh Erzeugt das SSL-Stammzertifikat des Servers und die Verzeichnisstruktur der Certificate Authority.
createcontrolscript.sh Erzeugt ein Skript /root/install.sh sowie die "runonce"-Skripte in der Zielpartition, die die anderen Setup-Skripte aufrufen. Das Skript /root/install.sh muß in einer "change root"-Umgebung ausgeführt werden (chroot <ZIELDATEISYSTEM> /root/install.sh). Es sollte nicht in einem laufenden System ausgeführt werden, weil die Änderung der LDAP-Datenbank, der DNS-Einträge und der SSL-Zertifikate laufende Dienste durcheinander bringen würde.

Siehe auch die Konfiguration gegen Ende des Übersetzungsvorgangs (Übersetzen) durch das Skript MAIN und die Installationsroutine install-config.sh der Live-CD (siehe CD-Image), die durch das Skript CREATE-CD erstellt wird.

cyrus.sh Setzt das Paßwort des Mailadministrators cyrus nach dem Eintrag in mylinux.conf. Wird vom "runonce"-Mechanismus ausgeführt, da ein laufender LDAP-Server benötigt wird.
disks.sh Erzeugt die Verzeichnisstruktur unter /mnt und erzeugt die Dateien /etc/fstab und /etc/lilo.conf nach der unter mylinux.conf beschriebenen Partitionierung.
htdig.sh Erzeugt die ht://dig-Konfigurationsdatei /usr/local/httpd/htdig.conf aus dem Template /usr/local/httpd/htdig.conf.default durch einsetzen der eMail-Adresse von root und dem Rechnernamen in die Start-URL's.
ldap-client.sh Erzeugt die Konfigurationsdatei /etc/openldap/ldap.conf (verlinkt mit [ldap.conf|/etc/ldap.conf]) für die LDAP-Client-Tools und für pam_ldap mit Angabe des Rechnernamens und der LDAP-"base" (auch "suffix" genannt, siehe slapd.conf).
ldap-reset-db.sh Erzeugt eine minimale LDAP-Datenbank mit korrekter LDAP-"base" (bzw. "suffix", siehe slapd.conf) und korrekten Domain- und Hostnamen aus der Template-Datei ldap_db.ldif. Eine eMail-Umleitung auf einen Benutzer "testadmin" ist dort eingetragen, der Benutzer selbst existiert aber noch nicht in dieser Datenbank, weil zu seiner Erzeugung auch außerhalb von LDAP Tätigkeiten auszuführen sind.
ldap-server.sh Erzeugt die LDAP-Server-Konfigurationsdatei /etc/openldap/slapd.conf mit korrekter LDAP-"base" bzw. "suffix" und dem in mylinux.conf angegebenen LDAP-Administrator-Paßwort.

Warnung: Derzeit überschreibt das Skript die Konfigurationsdatei einfach. Daher müssen Änderungen der Konfiguration (z.B. der Zugriffsrechtestruktur) hier berücksichtigt werden.

ldapexplorer.sh Trägt die LDAP-"base" (bzw. "suffix", siehe slapd.conf) und den Hostname in zwei Skripte des LDAP-Explorers ein.
location.sh Setzt die Tastaturbelegung und die Zeitzone nach den Einstellungen von mylinux.conf.
mylinux.conf Zentrale Konfigurationsdatei des myLinux Server.
mylinux.sh Überträgt Daten aus der zentralen Konfigurationsdatei mylinux.conf (einem Bourne-Shell-Script) in die Konfigurationsdatei für die Perl-Scripts, /usr/lib/perl5/5.8.0/mylinux/env.pm.
mysql.sh Setzt das Paßwort für den mySQL-Administrator.
network.sh Konfiguriert die Netzwerk-Schnittstellen, den DNS- und den DHCP-Server.

Warnung: Die Konfigurationsdateien von DNS und DHCP werden überschrieben. Änderungen an diesen Dateien müssen in dieses Skript übernommen werden.

Warnung: Derzeit wird der Schlüssel für den Datenaustausch zwischen DNS und DHCP nicht neu gesetzt. Hier muß für jede Installation ein neuer Schlüssel erzeugt und in das Setup-Skript eingetragen werden.

phpmyadmin.sh Setzt das Paßwort für das mySQL-Proxy-Konto von PhpMyAdmin. In der Konfigurationsdatei phpMyAdmin/config.inc.php wird lediglich dieser Paßworteintrag geändert, manuelle Veränderungen bleiben erhalten.
samba.sh Erzeugt die Samba-Konfigurationsdatei /etc/samba/smb.conf mit korrekter Windows-Domain, Pfaden zum Benutzer-Manager, LDAP-Servername und LDAP-"base" (bzw. "suffix", siehe slapd.conf).

Warnung: Derzeit überschreibt das Skript die Konfigurationsdatei einfach. Daher müssen Änderungen der Konfiguration (z.B. der Zugriffsrechte oder Definition neuer Shares) hier berücksichtigt werden.

sendmail.sh Erzeugt die sendmail-Konfigurationsdatei /usr/src/sendmail/cf/cf/sendmail.mc mit korrektem LDAP- und sendmail-Servername, korrekter Domain und LDAP-"base" (bzw. "suffix", siehe slapd.conf). Aus dieser Datei wird dann die /etc/mail/sendmail.cf generiert.

Warnung: Derzeit überschreibt das Skript die Konfigurationsdatei einfach. Allerdings sollte bei sendmail auch keine Konfigurationsänderung nötig sein, da die meisten Konfigurationsdaten nicht hier, sondern in der LDAP-Datenbank gehalten werden.

squirrelmail.sh Erzeugt die SquirrelMail-Konfigurationsdatei squirrelmail/config/config.php mit korrekter Angabe der Organisation (für die Fenstertitel), Domain, SMTP-, IMAP- und LDAP-Servername und der LDAP-"base" (bzw. "suffix", siehe slapd.conf).
ssl.sh Erzeugt durch das Stammzertifikat (siehe ca.sh) digital signierte SSL-Zertifikate für LDAP, IMAP, SMTP und HTTP (Web).

Administration

Ein Großteil der Administration des laufenden Systems kann durch direkte Manipulation der LDAP-Datenbank erfolgen. Es gibt jedoch eine ganze Reihe von Maßnahmen, die nicht nur die LDAP-Datenbank, sondern auch noch andere Bestandteile des Linux-Systems betreffen. Für diese Maßnahmen existieren gesonderte Skripte:

cyruspasswd.pl Unterscheidet sich von dem Skript passwd.pl (siehe unten) nur durch zwei Dinge:

  • Der Benutzer cyrus liegt nicht im LDAP-Verzeichnis "users", sondern unter "special users", und
  • das Skript speichert das Paßwort für den Benutzermanager in einer geschützten Datei ab.
groupadd.pl Der einzige Grund, warum das Anlegen von Gruppen nicht auch über den LDAP-Explorer möglich ist, ist die automatische Erhöhung eines Zählers für die Gruppen-ID (gidNumber).
groupdel.pl Aus Gründen der Symmetrie ist auch das Löschen ein externes Kommando.
machineadd.pl Legt ein Windows-Maschinenkonto an.

Dieses Skript wird normalerweise nicht direkt aufgerufen, sondern durch Samba, sobald eine Windows-Maschine unter Angabe des Windows-Paßwortes von root der Windows-Domäne beizutreten versucht. Siehe "add user script" in der Datei /etc/samba/smb.conf.

Außerdem wird der Zähler für die Benutzer-ID erhöht (siehe auch useradd.pl).

machinedel.pl Löscht ein Windows-Maschinenkonto. Ist nur aus Gründen der Symmetrie ein externes Kommando.
passwd.pl Ändert das UNIX-Paßwort im LDAP-Verzeichnis.

Dieses Skript wird normalerweise nicht direkt aufgerufen, sondern durch Samba zwecks Synchronisation des UNIX- und des Windows-Paßwortes. Siehe "passwd program", "password chat" und "unix password sync" in der Datei /etc/samba/smb.conf.

Bemerkung: In der nächsten Version muß das normale passwd-Kommando durch ein anderes Programm ausgetauscht werden, welches auch bei Paßwortänderungen unter Linux eine Synchronisation dieser beiden Paßwörter durchführt. Das Programm passwd muß unter anderem Namen für Änderungen der Paßwörter von Systembenutzern wie root erreichbar bleiben.

useradd.pl Legt einen neuen Benutzer an. Im LDAP-Verzeichnis werden sowohl die Einträge für pam_ldap als auch für Samba gemacht. Außerdem werden folgende Tätigkeiten ausgeführt, die nicht über den LDAP-Explorer laufen können:

  • Automatische Erhöhung eines Zählers für die Benutzer-ID (uidNumber),
  • Anlegen des Heimatverzeichnisses des Benutzers,
  • Anlegen einer Mailbox und Aktivierung der eMail-Adresse des Benutzers,
  • Erzeugen eines Adressbucheintrags,
  • Erzeugen eines Registry-Skriptes, mit dem das Windows-Profil personalisiert wird (z.B. Angabe des Mailkontos für Outlook, oder Eintragen des Namens für die Office-Workgroup-Funktion). Das Template für dieses Registry-Skript ist /root/usermanager/data/regtemplate.reg.
userdel.pl Löscht den Benutzer und archiviert die folgenden Daten:

  • Heimatverzeichnis
  • LDAP-Eintrag mit Ausnahme der Paßwörter
  • Mailbox
  • Einstellungen des Webmailers

Der myLinux Benutzermanager installiert außerdem im Verzeichnis /usr/local/sbin/mylinux einige Skripte, die ein Administrator eventuell an die eigenen Bedürfnisse anpassen möchte.

daily.sh Führt die folgenden Aufgaben aus:

  • Setzt die Zeit nach dem Zeitserver ntp0.fau.de der Universität Erlangen (hier sollte ein anderer Server benutzt werden, oder zumindest eine andere Zeit, damit dieser Server nicht überlastet wird),
  • erzeugt einen vollständigen Suchindex für das Kommando locate (dieses Kommando sollte eventuell besser als Benutzer nobody ausgeführt werden), und
  • erzeugt einen Volltextindex für ht://dig,
  • startet für verschiedene Verzeichnisse einen Scan-Vorgang des Virenscanners.
deltmpfiles Löscht alle Dateien aus den folgenden Temporär-Verzeichnissen, die älter sind als der letzte Aufruf des Skripts:

  • /tmp,
  • /var/lib/samba/pdfdocs (Output-Verzeichnis des PDF-Druckers),
  • /usr/local/httpd/htdocs/squirrelmail/attachments/ (Zwischenspeicher des Webmailers für Dateianhänge),
  • /usr/local/httpd/htdocs/ldap/tmp/ (Cookie-Verzeichnis des LDAP-Explorers).

Sollte etwa einmal die Woche ausgeführt werden.

htsearch.html Kopie des Suchformulars von ht://dig, welches unter /usr/local/httpd/htdocs/htdig installiert ist.
htsearch.sh Kopie des Wrapper-Skriptes von ht://dig, welches unter /usr/local/httpd/cgi-bin/intranet installiert ist. Dieses Skript muß beispielsweise angepaßt werden, wenn ht://dig noch andere gesperrte Verzeichnisse außer /usr/local/httpd/htdocs/intranet durchsuchen soll.
ldap2html.pl Gibt den Adressbuch-Inhalt des LDAP-Verzeichnisses als HTML- bzw. (falls die Microsoft Office Web Components installiert sind) als Excel-Tabelle aus. Hier kann z.B. die Anzahl der ausgegebenen Spalten drastisch reduziert werden - diese Spalten werden zu Beginn des Skriptes aufgelistet.
pdfprinter.pl Der PDF-Drucker.

CUPS

CUPS ermöglicht die Einrichtung von Druckern über ein Web-Interface.

Der myLinux Server hat bereits einen vorinstallierten CUPS-Drucker, nämlich den PDF-Drucker.

Zur Übersetzung von CUPS siehe die Abschnitte libjpeg, libpng, ghostscript 7, ghostscript fonts und cups im Skript COMPILE-BLFS.

Firewall

Die myLinux Firewall unterscheidet sich von den bei den meisten Distributionen mitgelieferten Firewall-Skripten durch ihre hohe Restriktivität. Nur Verbindungen zu tatsächlich angebotenen oder vom Server verwendeten Diensten werden durchgeschaltet, unverschlüsselte Verbindungen wie POP3 oder IMAP zum Server werden dabei ebenfalls blockiert. Das einzige "Forwarding" betrifft derzeit SSH, alle anderen Protokolle werden nur über Server-Dienste wie den Apache-Proxy oder Sendmail weitergeleitet, so daß sämtliche Verbindungen auf Applikationsebene rückverfolgbar werden.

Dies ist natürlich mit einem hohen Administrationsaufwand verbunden, denn anders als bei den Firewall-Skripten anderer Distributionen kann man sich nicht darauf verlassen, daß alle in Anspruch genommenen Dienste auch sofort ohne Anpassung des Firewall-Skriptes funktionieren. Auf der anderen Seite blockiert die myLinux Firewall zuverlässig Ausbreitungsversuche von Trojanern und "Würmern", die aus dem LAN heraus Proxy und Mailserver zu umgehen versuchen, und protokolliert diese zugleich, so daß die befallenen Rechner in der Firma schnell ausfindig gemacht werden können.

Die Firewall wird im Abschnitt iptables im Skript COMPILE-BLFS erstellt. Das Stop- und das Status-Skript wurden unverändert von "Beyond Linux from Scratch" übernommen.

Virenscanner

Der OpenSource Virenscanner ClamAV unterstützt AutoUpdate (freshclam), regelmäßiges Scannen (clamdscan), On Access Scanning für Samba (samba-vscan), Proxy-Zugriffe (mod_clamav) und SMTP/Sendmail (Milter). Zur Übersetzung von ClamAV siehe die Abschnitte sendmail (Konfiguration von Milter), clamav (antivirus) (Übersetzung und Konfiguration von clamav), mod_clamav (Proxy-Virenscanner für Apache), samba-vscan configured with clamav (Schnittstelle zwischen Samba und ClamAV) und create httpd.conf ... (Konfiguration von Apache, Unterabschnitte LoadModule und Variablen ClamavTmpdir etc.) im Skript COMPILE-MYLINUX.

Für die Übersetzung der Version 0.65 von ClamAV waren verschiedene Patches notwendig:

Übersetzung

Die Erstellung einer myLinux Server Installations-CD erfolgt mit den folgenden Teilschritten:

Wer den myLinux Server nur einsetzen, umkonfigurieren oder erweitern möchte, muß das System dazu nicht übersetzen. Es ist ohne weiteres möglich, einen myLinux Server von der Installations-CD aus zu erstellen, deren komprimiertes Image zum Download bereit steht. Es ist prinzipiell sogar möglich (vermutlich aber für ernsthaftes Arbeiten nicht sinnvoll), die Installations-CD als Live-CD zu benutzen.

Partition

Im Prinzip läßt sich der myLinux Server in einem beliebigen Verzeichnis übersetzen. Allerdings muß das System einmal gestartet werden (wegen des runonce-Mechanismus), um daraus eine Installations-CD erstellen zu können. Ein boot-fähiges Linux-System erfordert immer eine eigene root-Partition.

Für die Übersetzung von myLinux muß diese Partition mindestens vier Gigabytes umfassen.

Bei der Erstellung des myLinux Server 0.92 habe ich ein System mit folgender Partitionierung verwendet (siehe auch die Eintragungen unter mylinux.conf):

Im Zielverzeichnis bzw. in der Zielpartition müssen die Pakete untergebracht werden. Dabei ist folgende Verzeichnisstruktur einzuhalten:

Anstelle der beiden letztgenannten Download-Orte sollte man einen nahegelegenen Mirror aus den Listen www.linuxfromscratch.org bzw. www.linuxfromscratch.org/blfs wählen.

Das Verzeichnis mylinux-usermanager-0.92 (entstanden durch Entpacken von mylinux-usermanager-0.92.tgz) sollte sich nicht in der Zielpartition befinden. Bei der Erstellung des myLinux Server 0.92 habe ich es im Heimatverzeichnis von root belassen.

Die Konfigurationsdatei mylinux-usermanager-0.92/setup/mylinux.conf muß an das Zielsystem angepaßt werden. Dies betrifft vor allem die Partitionierung, darüber hinaus auch die Netzwerkanbindung.

Übersetzen

Die Übersetzung des myLinux-Systems geschieht mit einem einzigen Kommando:

LFS=<Zielpartition> nohup mylinux-usermanager-0.92/compile-scripts/MAIN &

Wegen des nohup-Kommandos ist ein Ausloggen möglich. Die Übersetzung - welche auf einem Pentium III / 800 MHz mit 128 MB RAM etwa siebeneinhalb Stunden dauert -, kann also beispielsweise über Nacht laufen.

Im vorliegenden Fall war die Zielpartition unter /mnt/hda4 eingehängt; das Kommando lautet dann:

LFS=/mnt/hda4 nohup mylinux-usermanager-0.92/compile-scripts/MAIN &

Die Übersetzung wird vollständig von dem Skript MAIN kontrolliert, welches verschiedene andere, im folgenden erklärte Skripte aufruft.

Automatisches Entpacken

In den drei Abschnitten der Übersetzung werden die Inhalte der Verzeichnisse LFS-Packages, BLFS-Packages und MyLinux-Packages in die von MAIN erstellten Verzeichnisse LFS-Sources, BLFS-Sources und MyLinux-Sources extrahiert. Dazu dienen die Skripte UNPACK-LFS, UNPACK-BLFS und UNPACK-MyLinux.

Statische Version

Das Skript COMPILE-STATIC erstellt statisch gelinkte Versionen der für eine Übersetzung notwendigen Pakete, darunter bash, gcc und glibc. Die Kommandos sind im wesentlichen dem Buch "Linux from Scratch" von Gerard Beekmans entnommen.

Dynamische Version

Mit den statisch gelinkten Programmen ist es möglich, eine "change root"-Umgebung zu schaffen und in dieser Programme zu übersetzen. Dies wird genutzt, um ein minimales Linux-System zu schaffen - eben "Linux from Scratch".

Die Skripte MAKETREE und MAKEKERNEL-HEADERS erstellen den Verzeichnisbaum eines Linux-Systems, inklusive Devices, proc-Dateisystem, verschiedenen Links und den Kernel-Header-Files.

Das Skript COMPILE-RUNTIME1 erzeugt eine Version der glibc. Das Buch "Linux from Scratch" schreibt hiernach einen Neustart der Shell vor. Nun läuft das Skript MAIN mit der Shell des ursprünglichen Linux-Systems, während die davon aufgerufenen Skripte in der "change root"-Umgebung laufen. Das Beenden von COMPILE-RUNTIME1 und der Start eines weiteren Skriptes per chroot-Kommando startet daher die Shell der "change root"-Umgebung neu.

Das Skript COMPILE-RUNTIME2 übersetzt einen Teil der LFS-Pakete, bis hin zur bash. Nach deren Übersetzung sollte die bash naheliegenderweise neu gestartet werden.

Dies geschieht durch den Wechsel zum Skript COMPILE-RUNTIME3, welches die restlichen Pakete übersetzt. Am Ende der Übersetzung wird die glibc erneut übersetzt. Da diese von der bash als "shared library" dynamisch eingebunden wird, empfiehlt sich anschließend abermals ein Neustart der bash.

Das Skript COMPILE-RUNTIME4 führt im wesentlichen Konfigurationsarbeiten aus und installiert die Kernel-Quellen.

Die Kommandos dieser Skripte sind im wesentlichen dem Buch "Linux from Scratch" von Gerard Beekmans entnommen.

Kernel

Zwischenzeitlich erzeugt MAIN ein Skript setup, welches Teile der myLinux Konfiguration übernimmt. Im wesentlichen sind dies die Netzwerk- und Dateisystem-Konfiguration. Anschließend werden über das Skript MAKEKERNEL die zwei Default-Kernel von myLinux erzeugt. Der Kernel scsikernel enthält nahezu sämtliche Netzwerkkarten und SCSI-Hostadapter fest eincompiliert, sollte also prinzipiell jedes System unterstützen.

Allerdings kann es zwischen den Treibern zu Konflikten kommen. Deshalb gibt es noch einen zweiten Kernel, idekernel, bei dem die SCSI-Hostadapter als Module compiliert wurden. Dieser Kernel kann natürlich nicht auf Systemen verwendet werden, bei denen das Boot-Device ein SCSI-Device ist. Ansonsten können SCSI-Geräte angesprochen werden, indem man einfach das zugehörige Modul lädt.

BLFS

Das Skript COMPILE-BLFS übersetzt verschiedene Pakete aus dem Buch "Beyond Linux from Scratch". Die Kommandos wurden im wesentlichen diesem Buch entnommen, teilweise (z.B. Samba) in Bezug auf die Konfiguration gekürzt, da diese Konfigurationen durch das nachfolgende Skript wieder überschrieben werden.

myLinux

Das Skript COMPILE-MYLINUX übersetzt Pakete, die nicht im Buch "Beyond Linux from Scratch" beschrieben werden, und übersetzt einige Pakte neu, die zuvor ohne LDAP-Unterstützung übersetzt wurden. (Anmerkung: xpdf ist ein BLFS-Paket, das ich aber nur hier übersetze, da es in dieser Distribution nur für ht://dig von Bedeutung ist.)

Konfiguration

Alle weiteren Kommandos innerhalb von MAIN befassen sich mit der Konfiguration des myLinux-Systems.

Starten

Nach der Übersetzung muß der Bootmanager installiert werden. Sofern das ursprüngliche System den Bootmanager lilo verwendet, kann dies durch Anpassung der Datei /etc/lilo.conf geschehen. Anschließend muß das Kommando lilo ausgeführt werden.

Alternativ dazu kann man auch das neue myLinux-System verwenden und das Kommando lilo in der "change root"-Umgebung starten:

chroot <Zielpartition> /sbin/lilo

Im vorliegenden Beispiel wurde die Zielpartition unter /mnt/hda4 eingehängt, also würde das Kommando lauten:

chroot /mnt/hda4 /sbin/lilo

Eine Datei /etc/lilo.conf wurde im Zielsystem nach den Angaben der Datei mylinux.conf erstellt. Allerdings wird in dieser Datei ausschließlich das neu erstellte myLinux System angegeben. Weitere Systeme (wie auch das ursprüngliche, von dem aus die Übersetzung gestartet wurde) müßten von Hand eingetragen werden.

Runonce-Mechanismus

Nach Installation des Bootmanagers kann der Computer neu gestartet werden. Nach dem Booten des neu übersetzten myLinux Server muß man sich als root einloggen (Paßwort mylinux). Durch den Login werden einige Skripte gestartet, die abschließende Konfigurationen ausführen. Dazu gehören übrigens auch Hintergrundjobs, die beispielsweise Volltextindizes erstellen. Diese Skripte sollte man durchlaufen lassen, bevor man den Rechner wieder herunterfährt oder auch eine Installations-CD erstellt.

CD-Image

Ein CD-Image wird aus dem laufenden System heraus durch das Skript CREATE-CD erzeugt. Dies geschieht mit folgendem Kommando:

<Pfad zum myLinux Package>/compile-scripts/CREATE-CD

Das Package-Verzeichnis muß komplett und unverändert sein. Es wird als Archiv auf die CD kopiert.

Idealerweise befindet sich das myLinux Package auf einer anderen Partition als das laufende System - wie es zu Beginn des Übersetzens der Fall war. In diesem Fall muß diese Partition unter /mnt eingehängt sein. Dies geschieht automatisch, wenn die Partition vor Beginn der Übersetzung in der Konfigurationsdatei mylinux.conf angegeben wurde.

Im angegebenen Beispiel war die myLinux-Partition /dev/hda4, die Übersetzung wurde von /dev/hda2 aus dem Heimatverzeichnis von root heraus angestoßen, und in der Datei mylinux.conf wurden die Partitionen /dev/hda2 und /dev/hda3 als zusätzliche Partitionen angegeben. Folglich werden diese unter /mnt/hda2 und /mnt/hda3 eingehängt, und das Kommando zum Erzeugen des CD-Images lautet:

/mnt/hda2/root/mylinux-usermanager-0.92/compile-scripts/CREATE-CD

Die Inhalte der Verzeichnisse /mnt und /proc werden bei der Image-Erstellung natürlich nicht auf die CD kopiert, ebensowenig wie die eventuell noch im Stammverzeichnis enthaltenen Package- und Source-Verzeichnisse.

Im Stammverzeichnis entstehen mehrere temporäre Verzeichnisse und Dateien und werden wieder gelöscht. Es bleiben ein Verzeichnis /CD, welches den kompletten CD-Inhalt enthält, und das Image /livecd.img selbst.

Falls die drei Source-Verzeichnisse vorher gelöscht werden, beträgt der Speicherbedarf circa 2.4 GB.

Funktionen

Das Skript führt mehrere Schritte aus:

Bemerkung: Das preinit-Skript hat noch ein nützliches Feature - es sucht noch vor der Prüfung des CD-Laufwerks eine Windows-Diskette mit einer Datei preinit und führt diese aus. Auf diese Weise kann das Verhalten der Live-CD modifiziert werden.

Download

CD-Images

Über diese Links können komprimierte Images bootfähiger myLinux-CD's heruntergeladen werden.

Das Paket mylinux-usermanager-x.xx.tgz ist in diesem CD-Image enthalten, nicht aber die Paketlisten.

Eine Kurzbeschreibung der Installation findet sich in der Datei InstallCD-Readme.txt, die ebenfalls in dem CD-Image enthalten ist. Die zu ändernde Konfigurationsdatei kann man sich unter mylinux.conf ansehen.

Datum Hyperlink Größe
09.10.2003 livecd-0.92.img.gz 239 MB
27.10.2003 livecd-0.93.img.gz 244 MB
13.11.2003 livecd-0.94.img.gz 245 MB
16.12.2003 livecd-0.95.img.gz 249 MB

myLinux Package

Im Paket mylinux-usermanager-x.xx finden sich der Benutzermanager selbst, die Setup-Routinen, Patchfiles für die LDAP-Konfiguration verschiedener Softwarepakete, sowie die für die Übersetzung benötigten Skripte.

Datum Hyperlink Größe
09.10.2003 mylinux-usermanager-0.92.tgz 105 KB
27.10.2003 mylinux-usermanager-0.93.tgz 112 KB
13.11.2003 mylinux-usermanager-0.94.tgz 119 KB
16.12.2003 mylinux-usermanager-0.95.tgz 124 KB

Paketlisten

Zur Übersetzung von myLinux werden drei Paketserien benötigt:

Für alle drei Serien wird ein wget-Script angeboten; das für LFS stammt von der LFS-Website, die anderen sind an myLinux angepaßt.

Datum Hyperlink Größe
07.10.2003 readme-getscripts-0.92.txt 1 KB
07.10.2003 getlfs4.1.wget (mylinux 0.91) 5 KB
07.10.2003 getblfs-mylinux0.92.wget 4 KB
07.10.2003 getmylinux0.92.wget 3 KB
07.10.2003 readme-getscripts-0.92.txt 1 KB
27.10.2003 getblfs-mylinux0.93.wget 4 KB
27.10.2003 getmylinux0.93.wget 3 KB
13.11.2003 getmylinux0.94.wget 3 KB
16.12.2003 getmylinux0.95.wget 3 KB

Dokumentation / Homepage

Diese komplette Homepage (abgesehen vom Download-Bereich) kann als Archiv heruntergeladen werden. Nach dem Entpacken in das Verzeichnis mylinuxproject.de muß man darin die Datei index.html mit einem beliebigen Webbrowser öffnen.

Datum Hyperlink Größe
09.10.2003 mylinuxproject-0.92.tgz 353 KB
13.11.2003 mylinuxproject-0.94.tgz 378 KB
16.12.2003 mylinuxproject-0.95.tgz 562 KB

Checksums

Mit dem Linux-Programm cksum gewonnene CRC-Prüfsummen der binären Dateien sind unter cksums.txt erhältlich.

myLinux

The myLinux server is an Gnu/Linux operating system, whose Authentification mechanism and partly also its configuration is based on the listing service LDAP.

The connection of personal information such as telephone numbers, address etc. with Authentification mechanism, right of access administration and digital signatures over the central, enterprise far valid data base of a listing service is felt of more and more enterprises as favourable or necessarily.

Among other things the following commercial systems offer such features:

Within the range of free open SOURCE projects uses this technology for example the groupware server Kolab (http://kolab.kroupware.org/).

The requirement to change consistently all services over of a Linux server to LDAP Authentification is at present still few common. For September there is an appropriate product of SuSE, SuSE Linux Standard Server 8. As is the case for all SuSE projects a documentation of the development of this server is not available.

The long-term requirement of the project myLinux is to create a free and completely documented implementation of such a system.

Schemas

The Patchfile inetorgperson.patch extends the Microsoft Outlook attributes by the scheme /etc/openldap/schemas/inetorgperson.schema c (country), URL (homepage), OTHER facsimile telephone NUMBER (private fax number), report (coworker) and COMMENT. Thus all attributes are supported, which are made available also by Microsoft LDAP/Active directory over Microsoft Exchange 2000.

These are by the way not "all" attributes, which are also availible for Outlook contacts.

Further necessary patterns are samba.scheme for Samba and sendmail.scheme for sendmail, which are delivered in each case with these programs. The schemes are activated in the head of the file slapd.conf.

See in addition also the section configure LDAP in the script COMPILE-MYLINUX.

sendmail

Differently than most Linux programs the translation is prepared of sendmail not over a configure script, but by mechanism of the configuration file site.config.m4. Here the following features are activated:

So that sendmail configuration data in the LDAP data base can be stored, the pattern must be merged sendmail.schema in LDAP; see also schemas.

The configuration of sendmail is made by the file sendmail.mc. This file is present also in the live system for changes of configuration, under /usr/src/sendmail/cf/cf/sendmail.mc.

The connection between the SASL Authentifizierung and sendmail is made by the configuration file /usr/lib/sasl2/Sendmail.conf. The connection to the LDAP server will be created here, one configures is indicated, which configuration data in the LDAP data base are stored, it will become a connection to the LDA Cyrus IMAPD manufactured and the paths the SSL certificates indicated.

In addition to Cyrus the connection requires a patch: sendmail-cyrus.patch. The path is changed to the lmtp Socket; see in addition also the file cyrus.conf on Cyrus IMAPD.

For compiling of sendmail see section sendmail in the script COMPILE-BLFS as well as the second compiling cycle in the section sendmail in COMPILE-MYLINUX.

Cyrus IMAPD

For compiling Cyrus IMAPD see the sections cyrus-sasl-2.1.14 and cyrus-imapd-2.1.14 in COMPILE-MYLINUX.

The configuration file /etc/cyrus.conf creates the connection in the Cyrus part to sendmail . It corresponds to the provided file master/conf/normal.conf, excluded the path to the lmtp Socket (see in addition also the patch sendmail-cyrus.patch in sendmail).

The file imapd.conf configures the paths to the Cyrus configuration and mail databases, the Authentification (saslauthd, as with sendmail), the MTA sendmail and the paths to the SSL certificates.

The patch cyrus-services.patch adds the TCP protocolls to the file of /etc/services used by Cyrus. By this way on occasion is also added the name services "swat" (see SWAT).

Apache

For the translation of the Apache of Web server see the section httpd-2.0.47 in COMPILE-MYLINUX.

The file /etc/httpd/httpd.conf contains the entire configuration of the Web server. In relation to the provided version /etc/httpd/httpdstd.conf the following adjustments were made:

Samba

For the compiling of Samba see the section samba in COMPILE-BLFS and also in the second compiling cycle the
section samba in COMPILE-MYLINUX.

For saving the Samba account informationen in the LDAP data base, the samba.schema must be merged in LDAP; see also schemas.

The file /etc/samba/smb.conf configures among other things the SSL coded connection to the LDAP server (ldap server/port/suffix/admin/ssl), the password synchronisation between Windows and PAM (passwd, unix password program/chat sync), and the integration of Windows machines (ADD user script).

MyLinux the server contains several Windows Shares already by default. In addition belong log-on-shed [netlogon], in which also the Login Script must be accommodated log-in-asked (logon script), as well as the homeland listing [home], which is available as a net drive assembly (logon drive). Also the listing for the Windows printer driver ([print$]), the Spool listing for all Windows printjobs ([printer]), and that expenditure listing of the pdf printer ([pdfdocs]) are defined here.

Further Shares can be add manually or by using the Samba administration tool SWAT.

The password for the LDAP administrator is set by the coomand smbpasswd -w < PASSWORD >. This is done automatically via the configuration routine usermanager/setup/samba.sh.

slapd.conf

The configuration file /etc/openldap/slapd.conf contains the among other things following attitudes:

Access rights

The assignment of access rights on the LDAP listing was already described under LDAP in the section "dedicated access to "LDAP".

Explicit setting up access rights is thereby quite simply ("... by DN =... write"). The difficulty consists of fact is, that with the distribution by write rights no safety gaps may be opened.

For Example in order to reserve the creation of UNIX users or groups only the LDAP administrator, the creation of such objects in the file must "contacts" be forbidden - this goes only, by making the selection of attributes typical for these objects (passwords, ID numbers) impossible.

Also certain system-critical attributes may not be changed within user and group objects (ID numbers, passwords, group and user name).

LDAP Explorer

An administration of the LDAP data base can take place in principle with each LDAP administration Tool. However supports openLDAP at present only TLS coding, which for LDAP Client Tools at
present is still little common. Ideal is therefore a Web interface, since this can share the SSL coding of the Apache Webservers. Such a tool is the LDAP Explorer.

The patch LDAPExplorer.patch changes the behavior of this program in the following way:

ht://dig

For the translation see of ht://dig the sections htdig-3.1.6, catdoc-0.91.5, xpdf-2.02pl1 and conv_doc.pl in COMPILE-MYLINUX.

The full text indexing of ht://dig gets configured by the file /usr/local/httpd/htdig.conf.

As with the Apache Web servers already described, ht://dig bypassees the password protection and the SSL coding of of the listing "Intranet". In addition an alias is defined as "Intranet htdig" without password protection, which however only processes can access, which run on the Web server.

The CGI Wrapper /usr/local/httpd/cgi-bin/intranet/htsearch.sh replaces Intranet "found documents with all by to ht://dig the alias "Intranet htdig" by the original name and activates the SSL coding, so that the search results can be also accessed. The Wrapper will be activated by the patch htdig-search.patch.

In order to be able to indicate pdf and Word documents, ht://dig uses a Wrapper script named convdoc.pl. This is activated by the patch htdig-parsers.patch in the configuration file /usr/local/httpd/htdig.conf and gets aligned with the patch htdig-convdoc.patch to pdf and Word documents by indication of the external parser xpdf and catdoc.

SWAT

In order to activate the Administrationstool from Samba, a start is sufficient inetd (sees COMPILE-BLFS section inetd to the translation and COMPILE MYLINUX, section samba concerning the starting script) as well as an entry into the configuration file /etc/inetd.conf.

Accessing is then possible by any Webbrowser on http://<COMPUTERNAME>:901/.

Warning: Notice that the use is not SSL coded, but the UNIX password of roots will be queried. This may not take place over uncertain lines (InterNet).

Webmailer

For installation of Webmailer's SquirrelMail see the sections squirrelmail-1.4.1 and avelsieve in the script COMPILE-MYLINUX.

By compiling one of the two files, german.default_pref or us.default_pref, will be installed as squirrelmail/data/default_pref. This file determines among other things the names of the before-installed Mail files - "Gelöschte Dateien" in German, "Trash" in English etc..

The configuration file squirrelmail/config/config.php will be completely overwritten as well at the installation as by the Setup-Skripte.

Avelsieve makes the administration possible of server-lateral filters for email, inclusive of automatic answers. The authentification method used for Sieve is changed by the Patch avelsieve.patch, so that it totally matches with the methods of myLinux server (pam_ldap, this needs plain language passwords however transferred in a SSL coded connection).

PhpMyAdmin

For the installation of the mySQL administration tool PhpMyAdmin see the section phpMyAdmin-2.5.2-rc1 in the script COMPILE-MYLINUX.

The Patch phpMyAdminAuth.patch activates the method of authentification "config". With this method a pro XY account is furnished "pma", whose only access rights login in mySQL as well as reading different
columns of the user and data base table and the table access right table are. Such reduced rights of access are necessary, since it is not in principle possible to prevent a selection of the "pma" password from the PhpMyAdmin configuration. By the pro XY account the
authentification of the actual mySQL user is then made.

Since the mechanism of the pro XY account presupposes a current mySQL
data base, on the other hand a start of the mySQL data base to the
translation time by a still running data base is possibly prevented,
happens this mechanism by means of a "runonce" script, which is only
implemented with the first Login as root into the finished translated
system.

Administration

A majority of the administration of the current system can take place via direct manipulation of the LDAP data base. There is however a whole set of measures, which concern not only the LDAP data base, but also still different components of the Linux system. For these measures separate Skripte exists:

cyruspasswd.pl Differs from the script passwd.pl (see below) only by two things:

  • The user cyrus is not in the LDAP listing "users", but under "special users", and
  • the script stores the password for the user manager in a protected file.
groupadd.pl The only reason, why the creation of groups is not also possible over the LDAP Explorer, is the automatic increase of a counter for the group ID (more gidNumber).
groupdel.pl For reasons of the symmetry also the deletion is an external command.
machineadd.pl Creates a Windows-machine-account.

This script is called normally not directly, but through Samba, as soon as a Windows machine under indication of the Windows password of roots of the Windows domain tries to step. See "ADD user script" in the file /etc/samba/smb.conf. In addition the counter for the user ID is increased (see also useradd.pl).

machinedel.pl Deletes a Windows machineaccount. Is only for reasons of the symmetry an external command .
passwd.pl Changes the UNIX-password in the LDAP-folder.

This script is called normally not directly, but by Samba for synchronisation UNIX and the Windows password. See "passwd program", "passwords chat" and "unix passwords sync" in the file /etc/samba/smb.conf .

Remark: In the next version the normal passwd command must be exchanged by another program, which accomplishes a synchronisation of these two passwords with changes of password under Linux. The program passwd must remain attainable among other things names for changes of the passwords by system users such as roots.

useradd.pl Creates a new user. In the LDAP listing are made both entries for pam_ldap and for Samba . In addition the following activities are implemented, which cannot run over the LDAP Explorer:

  • Automatic increase of a counter for the user ID (more uidNumber),
  • creation of the homeland listing of the user,
  • Creates a mailbox and an activation of the email address of the user,
  • Produce a directory entry,
  • Produce a Registry Skriptes, with Windows does one profile personalize (e.g. indication of the Mailaccounts for Outlook, or registering the name for the Office Workgroup function). The Template for this Registry script is [ UPLOAD
    regtemplate.txt|/root/usermanager/data/regtemplate.reg ].
userdel.pl Deletes the user and archives the following data: *Homeland listing

  • LDAP entry with exception of the passwords
  • Mailbox
  • Attitudes of the Webmailers

In addition myLinux the user manager installs in the listing /usr/local/sbin/mylinux some skripts, which an administrator would like to possibly adapt to the own needs.
daily.sh Implements the following tasks:

  • The time sets after the time server for ntp0.fau.de the university an attaining (here another server should be used, or at least another time is not overloaded, with it this server),
  • leads the script fixsievebug.sh out (see below), *produces a complete search index for the command for LOCATE (this command should be implemented possibly better than users nobody), and
  • produces a full text index for ht://dig .
deltmpfiles Deletes all files from the following temporary listings, which are older than the last call of the script:

  • /tmp,
  • /var/lib/samba/pdfdocs (Output-Verzeichnis des PDF-Druckers),
  • /usr/local/httpd/htdocs/squirrelmail/attachments/ (cache of Webmailers for attachments),
  • /usr/local/httpd/htdocs/ldap/tmp/ (Cookies of LDAP-Explorers).
    Should be executed at least once a week.
fixsievebug.sh Sieve Skripte define server-lateral filters for enamels. For activation these filters must be linked (the script keeps e.g. a left "default" "default.script"). At least the provided Skripte websieve with the very old program was not linked however by Sieve. The
script fixsievebug.sh produces the missing left, it should at least executed once daily.
htsearch.html Copy of searching form of ht://dig, which is installed under /usr/local/httpd/htdocs/htdig.
htsearch.sh Copy of the Wrapper Skriptes of ht://dig, which is installed under usr/local/httpd/cgibin/intranet /. This script must be for example adapted, if ht://dig still except /usr/local/httpd/htdocs/intranet is to scan different closed listings.
ldap2html.pl Spends directory contents of the LDAP listing as HTML and/or (if the Microsoft Office Web Components are installed) as Excel sheet. Here
e.g. the number of spent columns can be drastically reduced - these columns are listed at the beginning of the Skripts.
pdfprinter.pl The PDF-Drucker.

CUPS

CUPS makes the mechanism possible of printers over a Web interface.

MyLinux the server has already an before-installed CUPS printer, i.e. the PDF-Printer.

For compiling CUPS see sections libjpeg, libpng, ghostscript 7, ghostscript fonts and cups in the Skript COMPILE-BLFS.

Firewall

MyLinux the Firewall differs from most distributions with the provided Firewall Skript by its high constructiveness. Only connected through, unencrypted connections will become such as POP3 or IMAP the server thereby likewise blocked connections too actually offered or services used by the server. The only "Forwarding" concerns at present SSH, all other minutes only over server services like the Apache Proxy or Sendmail is passed on, so that all connections on application level become backactionable.

This is naturally connected with a high administration expenditure, because differently than with the Firewall Skripts of other distributions cannot rely on the fact that all taken up services function also immediately without adjustment of the Firewall Skripts.
On the other side myLinux the Firewall blocks reliably propagation attempts of Trojanern and "worms", which try to go around from the LAN Proxy and Mailserver, and logs these at the same time, so that the stricken computers in the company can be made fast.

The Firewall is provided in the section of iptables in the script COMPILE-BLFS. The stop and the status script invariably were taken over from "Beyond Linux from Scratch".

Partition

In principle myLinux the server can be translated in any listing. However the system must be started once (because of the runonce mechanism), in order to be able to provide from it a installation CD. A boatable Linux system always requires its own root partition.

For the translation of myLinux this partition must cover at least four gigabytes.

With the production myLinux server 0,92 I used a system with the following Partitionierung (see also the entries under mylinux.conf):

/dev/hda1 - 512 MT Swapspace,
/dev/hda2 - 2 GB, root partition of the existing Linux system,
/dev/hda2 - 3 GB, empty,
/dev/hda4 - 4 GB,

goal partition myLinux of the system, hung up under /mnt/hda4. In the goal listing and/or in the goal partition the packages must be accommodated. The following listing structure is to be kept:

The listing LFS Packages contains the packages listed in the script
getlfs4.1.wget,
the listing BLFS Packages contains the packages listed in the script getblfs-mylinux0.92.wget,
the listing MyLinux Packages contains the packages listed in the script etmylinux0.92.wget,
the listing LFS-BOOK-4.1-HTML develops by unpacking the package LFS-BOOK-4.1-HTML.tar.bz2,
and the listing and BLFS-BOOK-1.0-HTML by
unpacking the package BLFS-BOOK-1.0-HTML.tar.bz2.

In place of the two latter Download places one should select an nearby Mirror from the lists www.linuxfromscratch.org and/or .linuxfromscratch.org/blfs.

The listing mylinux-usermanager-0.92 (resulted from unpacking mylinux-usermanager-0.92.tgz) should not be in the goal partition.
With the production myLinux server 0,92 I left it in the homeland listing of roots.

The configuration file mylinux-usermanager-0.92/setup/mylinux.conf must be adapted to the target system. This concerns above all the
Partitionierung, beyond that also the network binding.

Compile

The translation of the myLinux system happens with only one command: LFS=<Zielpartition > nohup
mylinux-usermanager-0.92/compile-scripts/MAIN & ways of the nohup command is possible a Ausloggen. The translation - which lasts about
seven one half on a Pentium III/800 MHz with 128 MT RAM hours -, can thus for example over night run. In the available case the goal
partition under /mnt/hda4 was hung up; the command reads then: LFS=/mnt/hda4 nohup mylinux-usermanager-0.92/compile-scripts/MAIN &
The translation is controlled completely by the script MAIN, which different different one calls, in the following avowed Skripte.

Automatic unpacking

In the three sections of the translation contents of the listings LFS Packages, BLFS Packages and MyLinux Packages are extracted into the listings LFS SOURCES, BLFS SOURCES and MyLinux
SOURCES provided from MAIN. In addition serves the Skripte UNPACK LFS, UNPACK BLFS and UNPACK MyLinux.

Static version

The script COMPILE STATIC provides statically linked versions of the packages, among them bash, necessary for a translation, to GCC
and glibc. The commands are essentially from Scratch "taken from the book" Linux of Gerard Beekmans.

Dynamic version

With the statically linked programs it is possible to create and in these programs translate for "CHANGES an root" environment.
This is used, in order to create a minimum Linux system - evenly "Linux from Scratch".

The Skripte MAKETREE and MAKEKERNEL HEADER provides the listing tree of a Linux system, inclusive DEVICES, proc Dateisystem, different left and to the Kernel header files.

The script COMPILE-RUNTIME1 produces a version glibc. The book "Linux from Scratch" writes from this a restart of the Shell forwards. Now
the script MAIN with the Shell of the original Linux system runs,while the Skripte called of it runs in the "CHANGES root" environment.
Terminating COMPILE-RUNTIME1 and the start of a further Skriptes by chroot command start therefore the Shell of the "CHANGES root"
environment again.

The script COMPILE-RUNTIME2 translates a part of the LFS packages, up to bash. After their translation should bash be obvious-proves to be
again started.

This is done via the change at the script COMPILE-RUNTIME3, which translates the remaining packages. At the end of the translation glibc
again one translates. Since this of bash as "shared LIBRARY" is dynamically merged, afterwards again a restart is recommended bash.

The script COMPILE-RUNTIME4 essentially implements configuration work and installs the Kernel sources.

The commands of these Skripte are essentially from Scratch "taken from the book" Linux of Gerard Beekmans.

Kernel

In the meantime MAIN produces a script setup, which takes over parts myLinux of the configuration. This is essentially the network
and file system configuration. Subsequently, over the script MAKEKERNEL the two default Kernel are produced of myLinux. The Kernel
scsikernel contains almost all network maps and SCSI Hostadapter firmly in-compiled, should each system thus in principle support.

However it can come between the drivers to conflicts. Therefore there is still another second Kernel, idekernel, with which the SCSI
Hostadapter was compiled as modules. This Kernel cannot be used naturally on systems, with which the boat DEVICE is a SCSI DEVICE.
Otherwise SCSI devices can be addressed, by loading simply the associated module.

BLFS

The script COMPILE BLFS translates different packages from the book "Beyond Linux from Scratch". The commands were essentially
inferred from this book, shortened partly (e.g. Samba) regarding the configuration, since these configurations are again overwritten by the
following script.

myLinux

The script COMPILE MYLINUX translates packages, which are not described in the book "Beyond Linux from Scratch", and again translates some pacts, which were translated before without LDAP
support. (note: xpdf a BLFS package, which I translate only here however, is there it in this distribution only for ht://dig of
importance is.)

Configuration

All further commands within MAIN are concerned with the configuration of the myLinux system.

Start

After the translation the boat manager must be installed. If
the original system uses the boat manager lilo, this can take place by
means of adjustment of the file /etc/lilo.conf. Subsequently, the
command must be implemented lilo.

Alternatively to it one can use also the new myLinux system and start
the command lilo in the "CHANGES root" environment:

chroot < goal partition > /sbin/lilo

In the available example the goal partition was hung up under
/mnt/hda4, therefore became the command read:

chroot /mnt/hda4 /sbin/lilo

A file /etc/lilo.conf was provided in the target system
according to the data of the file mylinux.conf. However in this file
excluding the again provided myLinux system one indicates. Further
systems (like also the original, from which the translation was
started) would have to be registered by hand.

Runonce mechanism

After installation of the boat manager the computer can again
be started. After that boats again translated myLinux servers must one
as roots log in (password mylinux). Some Skripte are started by the
Login, which implement locking configurations. In addition belong by
the way also background jobs, which provide for example full text
indices. One should leave this Skripte continuous, before one drives
the computer down again or also a installation CD provided.

CD image

An CD image is produced from the current system by the script CREATE CD. This happens with the following command:

< path to myLinux the Package>/compile scripts/CREATE CD

The Package listing must be complete and unchanged. It is copied as archives on the CD.

Ideal way is myLinux the Package on another partition than the current system - like it at the beginning of translating the case was. In this
case this partition must be under /mnt hung up. This happens automatically, if the partition before beginning of the translation
were indicated in the configuration file mylinux.conf. In the indicated example the myLinux partition /dev/hda4 was, the
translation by /dev/hda2 from the homeland listing of roots was out knocked against, and in the file mylinux.conf the partitions /dev/hda2
and /dev/hda3 were indicated as additional partitions. Therefore these are hung up under /mnt/hda2 and /mnt/hda3, and the command for
producing the CD image reads:

/mnt/hda2/root/mylinux-usermanager-0.92/compile-scripts/CREATE-CD

Contents of the listings /mnt and /proc are copied during the
image production naturally not on the CD, just as little like possibly
still the Package and SOURCE listings contained in the master
directory.

In the master directory several temporary listings and files develop
and are again deleted. A listing /CD, which contains complete CD
contents, remains, and which image /livecd.img.

If the three SOURCE listings are deleted before, the storage
requirement amounts to about 2,4 GB.

Functions

The script implements several steps:

Copy of all relevant system listings under /live-CD, creation of
the installation Skripte, which are to be found later in the homeland
listing of roots on the live-cd: install files.sh the data of the
live-cd into the goal partition, install config.sh configures the
system, deletion of the Kernel sources (these takes away on a
live-cd only unnecessarily place) copies as well as the different
log files and Caches, providing RAM disk contents in the listing
/live-RAM - into this all files are shifted, to which in the
current system write accesses are implemented; the other files are
loaded by symbolic left to /mnt/cdrom/live-CD directly from that
CD, a providing of the preinit Skriptes, which looks for and hangs up
the CD to the shop of the Kernels, providing the RAM disk image,
configuring the Bootloaders syslinux, inclusive shifting of the
Kernel, add the Icons, the package mylinux usermanager x.xx.tgz and a
Archives of the Kernel sources (those were deleted above), and finally
provide the CD image. Remark: The preinit script has still another
useful feature - it looks for still before the examination of the CD
drive assembly a Windows disk with a file preinit and implements
these. In this way the behavior of the live-cd can be modified

Download

CD-Images

Compressed images of bootable myLinux CD's can be
downloaded here.

The package mylinux usermanager x.xx.tgz is contained in this CD image, not however the package lists.

You can find a short description of the installation in InstallCD-Readme.txt, is also contained on the CD image. The config file which has to be changed can be viewed here mylinux.conf.

Date Hyperlink Size
09.10.2003 livecd-0.92.img.gz 239 MB
27.10.2003 livecd-0.93.img.gz 244 MB
13.11.2003 livecd-0.94.img.gz 245 MB

myLinux Package

The package mylinux-usermanager-x.xx includes the usermanager, Setup-Routines, Patchfiles of different software packages for LDAP-Configuration, and also the needed skripts for compiling.

Date Hyperlink Size
09.10.2003 mylinux-usermanager-0.92.tgz 105 KB
27.10.2003 mylinux-usermanager-0.93.tgz 112 KB
13.11.2003 mylinux-usermanager-0.94.tgz 119 KB

Sources list

For compiling of myLinux are needed three Package series:

For all of them are offered wget-Scripts; the one for LFS was found on the LFS-Website, all others are adapted to myLinux.

Date Hyperlink Size
07.10.2003 readme-getscripts-0.92.txt 1 KB
07.10.2003 getlfs4.1.wget (mylinux 0.91) 5 KB
07.10.2003 getblfs-mylinux0.92.wget 4 KB
07.10.2003 getmylinux0.92.wget 3 KB
07.10.2003 readme-getscripts-0.92.txt 1 KB
27.10.2003 getblfs-mylinux0.93.wget 4 KB
27.10.2003 getmylinux0.93.wget 3 KB
13.11.2003 getmylinux0.94.wget 3 KB

Dokumentation / Homepage

The complete Homepage (not including the Download-sektion) can be downloaded as an archiv. After decompressing the file into the folder mylinuxproject.de, you can open the file index.html with an webbrowser of your own choice.

Date Hyperlink Size
09.10.2003 mylinuxproject-0.92.tgz 353 KB
13.11.2003 mylinuxproject-0.94.tgz 378 KB

Checksums

Checksums created by the Linux-Program cksum can be found here cksums.txt.

Impressum

Anschrift / Address: Michael Oberg
Saarstraße 16
50677 Köln
Deutschland
Telefon / Phone: +49 (163) 7575935
EMail: michael.oberg@mylinuxproject.de
Umsatzsteuernummer / VAT ID#: DE 214/5159/1448

Anmerkung: Mit Urteil vom 12. Mai 1998 hat das Landgericht Hamburg entschieden, dass man die Inhalte von gelinkten Seite gegebenenfalls mit zu verantworten hat. Dies kann, so das Landgericht Hamburg, nur dadurch verhindert werden, dass man sich ausdrücklich von diesen Inhalten distanziert. Rein vorsorglich betone ich daher ausdrücklich für alle Links auf andere Seiten, dass ich keinerlei Einfluss auf die Gestaltung und die Inhalte der gelinkten Seiten habe, und distanziere mich ausdrücklich von allen Inhalten aller gelinkten Seiten.

Note: (german law only)
With judgement from 12 May 1998 the regional court Hamburg decided that one has to if necessary also answer for contents of left side. This can be prevented, so the regional court Hamburg, only by the fact that one dissociates oneself expressly from these contents. I stress purely as a precaution therefore expressly for all left on other sides that I do not have any influence on the organization and contents of the left sides, and dissociate myself expressly from all contents of all left sides.