Ein Linux-Rechner mit CD-Brenner lässt sich jetzt leicht zum “Brenn-Server” aufrüsten – dank webCDwriter ist der Zugriff über Rechner mit beliebigem Betriebssystem möglich.
webCDwriter besteht im Wesentlichen aus zwei Koponenten, dem Server CDWServer und dem Client webCDcreator. Der ebenfalls enthaltene Kommandozeilen-Client rcdrecord soll erst einmal außen vor bleiben. Da der Client ein Java-Applet ist und vom Web-Server bereit gestellt wird, ist keine Software-Installation auf dem Client-Rechner notwendig; die einzige Voraussetzung, die dieser erfüllen muss, ist die Existenz eines Browsers, der Applets unterstützt bzw. Installation und Ausführung von Java-Web-Start-Anwendungen erlaubt.
Installation
Zu finden ist das webCDwriter-Projekt unter http://www.uni-bielefeld.de/~jhaeger/webCDwriter/ und auf der Heft-CD. Sie können ein tar.gz-Archiv oder ein RPM-Paket verwenden. Da für viele aktuelle Distributionen noch kein entsprechendes RPM-Paket vorliegt, beschreiben wir im Folgenden die Übersetung der Quellen aus dem Quellcode-Archiv, das Sie zunächst wie folgt entpacken:
tar xzvf webCDwriter-version-signed.tgz
Die Übersetzung ist anschließend in wenigen Schritten durchgeführt:
cd webCDwriter-version ./configure --httpRoot=Root-Verz. des Servers make su make install
Welches Verzeichnis hinter der Option –httpRoot angegeben werden muss, wird weiter unten in Verbindung mit der Web-Server-Installation beschrieben. Der Server sollte nun einsatzfähig sein und unter /etc/rc.d/init.d/CDWServer als Startskript zur Verfügung stehen.
Doch bevor Sie den Server nun in Betrieb nehmen, ist es ratsam, einen Blick auf die Server-Konfigurationsdatei config unter /etc/CDWserver zu werfen. Hier werden wichtige Einstellungen zu zentralen Server-Optionen hinterlegt. Tabelle 1 gibt einen Überblick der wichtigsten Parameter.
Tabelle 1: Server-Konfiguration
| burnProof=[on/off] | Der Parameter burnProof kann die Werte on und off annehmen und regelt die Benutzung der BurnProof-Brennertechnologie über einen optionalen Parameter beim Aufruf von cdrecord. |
| copySupport=[on/off] | Ermöglicht das Erstellen von On-the-fly-Kopien auf dem Server. |
| imageOnTheFly=[on/off] | Dieser Parameter legt fest, ob die Image-Erstellung während des Brennvorgangs durchgeführt werden kann, also on-the-fly geschrieben wird. |
| laser=[on/off] | Wenn hier die Einstellung off getroffen wird, befindet sich der Brenner im Simulationsmodus. |
| MP3decoding=[on/off] | Wenn Sie Audio-CDs direkt aus MP3-Quellen erstellen möchten, müssen Sie diese Option auf on stellen und das Programm mpg123 auf dem Linux-Server installieren. |
| group= user= | Legt die Gruppen- und Benutzerrechte fest, mit denen der Server betrieben wird. |
| portNo=12411 | Hier stellen Sie den Port ein, auf dem der Server gestartet wird. |
| statusPortNo=12412 | Hier stellen Sie den Status-Port ein, über den später Zugriff auf einen Status-Report möglich sein wird. |
| spoolDir=[Verzeichnis] | Geben Sie mit diesem Parameter ein Verzeichnis an, welches für den Cache (Image) benutzt werden soll. |
| maxMByteInSpoolDir=[MB] | Hier tragen Sie einen Zahlenwert in MB ein, der die maximale Größe des Spool-Verzeichnisses regelt. |
| maxMBytesPerSession=[MB] | Hier legen Sie die maximale Größe einer Session fest, also die Kapazität der Rohlinge. |
| maxOpenSession=auto | Geben Sie hier eine Zahl der maximal geöffneten Sessions an. |
| reservedMBytes=[MB] | Soll im Spool-Verzeichnis Speicher frei gehalten werden, kann die gewünschte Größe hier eingetragen werden. |
| CDROMs=auto | Diese Einstellung nimmt die auf dem Server verfügbaren CD-ROM-Laufwerke auf. Haben Sie bei dieser Einstellung mit der Option auto keinen Erfolgt, können alternativ SCSI-Bus, -ID und -LUN des Laufwerkes angegeben werden; z. B. (0,2,0). |
| CDwriter=auto | Diese Einstellung nimmt den zu benutzenden CD-Brenner auf. Auch hier kann statt der Option auto die Eingabe von Buses, ID und LUN erfolgen. |
| defaultSpeed= | Die Standardeinstellung der Schreibgeschwindigkeit des Brenners. |
| maxSpeed= | Die maximale Schreibgeschwindigkeit die vom Brenner unterstützt wird. |
| cdrecord= mkisofsPath= mpg123Path= | Diese Parameter legen die Pfade zu den drei Tools fest. |
| removeSession=[on/off] | Falls der Platz des Spool-Verzeichnisses für das aktuelle Projekt nicht ausreicht, wird bei Angabe von off versucht, die jeweils älteste Session zu löschen. Wird on verwendet, so wird die Image-Datei der aktuellen Session nach dem Brennvorgang in jedem Fall gelöscht. |
Client
Nachdem nun alle Einstellungen für den Server getroffen sind, fehlt noch ein einziger Schritt bis zum Einsatz des Clients: Wie eingangs bereits erwähnt basiert der Client auf einem Java-Applet und wird über einen normalen Java-fähigen HTML-Browser ausgeführt. Hierzu müssen Sie die HTML-Seite über einen Web-Server für den Client zur Verfügung stellen. Für diese Aufgabe wird gewöhnlich Apache eingesetzt, der bei vielen Distributionen bereits enthalten ist. Unter SuSE Linux können Sie Apache bequem über YaST nachinstallieren. Anschließend sollte der Web-Server bereits einsatzfähig sein.
Das Web-Server-Verzeichnis ist bei einer Apache-Standardinstallation unter /usr/local/httpd/ zu finden. Dies ist gleichzeitig auch die fehlende Angabe, die beim ./configure-Skript hinter der Option “–httpRoot” ergänzt werden muss. Falls der Web-Server also vor der Übersetzung von webCDcreator installiert wurde, kopiert das Installationsprogramm automatisch die benötigten webCDcreator-Dateien nach /usr/local/httpd. Hier sollte anschließend ein Verzeichnis mit dem Namen webCDcreator zu finden sein, unter dem alle benötigten Dateien für die Anzeige im Browser des Clients abgelegt sind.
Um das Applet nun über einen Browser anzusprechen, verwendet man die URL http://servers/webCDcreator. Anschließend sollte sich Ihnen eine Auswahlseite ähnlich Abbildung 1 präsentieren. Hier haben Sie die Auswahl zwischen verschiedenen Browser-angepassten Web-Seiten bzw. einer JavaWebStart-Version.
Nachdem Sie Ihre Auswahl anhand der zur Verfügung stehenden Umgebung getroffen haben, erscheint nach dem Betätigen des Start-Buttons die Anwendung. Da das Applet Zugriffsrechte auf Ihre lokale Festplatte erhält, ist vor dem Programmstart die Bestätigung eines Sicherheits-Zertifikates erforderlich.

Abbildung 2: Läuft die Java-Anwendung, präsentiert sie sich wie jedes andere Programm in einem separaten Fenster
Wie Sie auf den Abbildungen 2 und 3 sehen können, ist das Applet sehr einfach aufgebaut und sollte bei der Bedienung zu keinen Problemen führen. Falls dennoch Fragen auftauchen, ist über die Auswahlseite (Abbildung 1) eine Kurzanleitung erreichbar, die über die wichtigsten Funktionen von webCDcreator Auskunft gibt.
Sicherheit des Servers
Auf dem Server werden gleich drei zusätzliche Ports geöffnet, um die verschiedenen Dienste zur Verfügung zu stellen. Werden die Standard-Ports bei der Installation nicht geändert, sind dies die Ports 12411 für den Server CDWserver, 12412 für Statusinformationen und 80 für den Apache-Web-Server. Ist der Linux-Server gleichzeitig mit dem Internet verbunden, ergibt sich hieraus natürlich ein Sicherheitsloch, da diese Ports für Angreifer offenstehen. Es empfiehlt sich somit in jedem Fall der Einsatz einer Firewall. Hierzu kommt ab Kernel 2.4.@L: * das Tool iptables zum Einsatz, welches eine Reihe von Filterregeln verwaltet. Zunächst sollte ein Port, der von außen nicht erreichbar sein soll, für alle Anfragen gesperrt werden:
iptables -A INPUT -p tcp --dport 80 -j DROP
Um nun bestimmten Clients den Zugriff zu erlauben, können die IP-Adressen dieser Client-Rechner eingetragen werden:
iptables -A INPUT -p tcp --dport 80 -s 192.164.0.1/32 -j ACCEPT
Diese Schritte müssen ebenso für die zwei anderen von webCDwriter verwendeten Ports durchgeführt werden.
Fazit
Wie haben in diesem Artikel gezeigt, wie einfach ein Linux-Rechner mit CD-Brenner in einem Netzwerk mit beliebigen Client-Rechnern CD-Brenndienste zu Verfügung stellen kann. Der ungewöhnliche Ansatz, den Client über einen Web-Server als Applet zur Verfügung zu stellen, macht das Projekt sehr flexibel. Als Alternative zum Applet-Einsatz bietet sich die relativ neue JavaWebStart-Technik an.
Glossar
-
Firewall
-
Sobald eine Internetverbindung besteht, haben nicht nur Sie Zugriff auf Informationen aus dem WWW – umgekehrt haben auch andere Anwender Zugriff auf Ihren Computer. Da sich hierdurch erhebliche Sicherheitsprobleme ergeben, wird oft eine Firewall eingesetzt, die anhand bestimmter Regeln versucht, Angriffe aus dem Internet abzuwehren.




