webCDwriter
Installation Guide

Table of Contents

1. Introduction

webCDwriter consists of the server CDWserver and the clients webCDcreator and rcdrecord. CDWserver has to be installed on the machine with the real CD-writer. The client webCDcreator should be installed in the document tree of the web server on the same machine. Only the command line client rcdrecord has to be installed locally on the client machines.

2. Installing by RPM

If there is a RPM package available for your system, download it, and install it by
rpm -ihv webCDwriter-*.rpm
Follow the instructions of this command to start and test CDWserver.

3. Configuration of CDWserver

The first time CDWserver is started, it will create the file /etc/CDWserver/config and write the default configuration to it. You can edit this file to change the default behaviour. There are several sections.

3.1 Features

imageOnTheFly

If you want to put some files to a data CD, a filesystem has to be created that contains all your files and directories in one big file. This file is called the image of the CD. imageOnTheFly=on means that the image is generated while writing the data to the CD. This will save time and the space for the image on the disk. But be careful: if you CPU and/or harddisk isn't fast enough, the CD-writer will run out of data and the CD will be unusable. It is recommended to run a test session in simulation mode at maximal speed. The session should consist of lots of small files (like the Linux kernel source tree).

MP3decoding

If mpg123 is installed on your system, CDWserver offers the possibility to decode MP3s for audio CDs.

3.2 Server

CDWserver will try to run as user and group. It will listen on port portNo for client connections and on port statusPortNo for status requests. maxOpenConnections clients could be connected to it at the same time.

3.3 Directories

Log information will be written to the directory logDir, and the session and image data will be stored in spoolDir.

3.4 Cache

CDWserver will store all sessions and image files in spoolDir. It is important that there is always enough free disk space on the partition containing spoolDir. By maxMBytesInSpoolDir you can limit the disk space CDWserver will use, but you also have to make sure that it can use this space at any time. maxMBytesPerSession limits the size of a single session. By maxOpenSessions you can limit the number of clients that can transmit there session at the same time. CDWserver won't use the last reservedMBytes on the partition.

3.5 CD-writer

cdrecordDevArg

If your CD-writer isn't autodetected by CDWserver, you can determine the bus,ID,LUN-triple of your writer by
cdrecord -scanbus

defaultSpeed

maxSpeed

3.6 Programs

You may set an absolute path to the programs cdrecord, mkisofs, and mpg123.

3.7 Options

defaultFilesDir

The optional directory defaultFilesDir can contain files that should be included in each session.

logoURL

You may give a logo for the status page by logoURL.

showUsers

By showUsers you can control, if the users of webCDwriter should be visible on the status page.

waitForCD

By waitForCD you can set the number of minutes the CD-writer will be reserved.

4. Installing from webCDwriter-*-signed.tgz

If there is no RPM available for your system, you may install webCDwriter from webCDwriter-*-signed.tgz.
tar xzvf webCDwriter-*-signed.tgz
cd webCDwriter-*
make
su
make install
Test CDWserver by
/usr/sbin/CDWserver [stdout]

The option stdout lets you see the output normally going to /var/log/CDWserver/version.vlog. To make sure everything is OK, visit the http status port (by default http://localhost:12412/).

If the init process should start CDWserver at system startup, copy or link CDWserver/control to /etc/rc.d/init.d/ and make the appropriate links in the /etc/rc.d/rc?.d/ directories.

5. Compiling webCDcreator yourself

webCDcreator is a client for CDWserver that can be run as a Java application or as a Java applet. As an applet it can run in Netscape Communicator or with the Java TM Plug-in from Sun. The applets need to be signed because they have to read the local files. See JAVA CAPABILITIES API and Java Security API for this. If you don't want to compile and sign the applets yourself go to 5..

5.1 Using JDK 1.1

If you are using JDK 1.1 (not JDK 1.2) install Swing and do
export CLASSPATH=.:/path/to/swing/swing.jar

5.2 Compile the Java source

cd webCDcreator
make

5.3 Run webCDcreator as an application

java CDcreator --help
will show the possible arguments of webCDcreator.

5.4 Signing webCDcreator for Netscape Communicator 4.x

You will need
  1. Netscape Signing Tool: A tool that you can use to sign jar files.
  2. A certificate for Netscape Object Signing. You can get a demo certificate from here.
Then you can sign webCDcreator by
export "certificate=My certificate name"
make 4netscape
You will find the signed webCDcreator.jar in the 4netscape directory.

5.5 Signing webCDcreator for the Java Plugin 1.2 and above

Sun provides an example how to create and run a signed applet.

For webCDcreator you can go through the following steps:
  1. Generate a new key-pair and self-signed certificate "test"
    keytool -genkey -dname "cn=User Name, ou=Unit, o=Organization, c=de" -validity 3650 -alias test
  2. Sign webCDcreator.jar using the certificate "test"
    export certificate=test
    make 4plugin
  3. You can export the public certificate "test" in a file test.x509 by
    keytool -export -rfc -alias test -file test.x509
You will find the signed webCDcreator.jar in the 4plugin directory.

5.6 Installing webCDcreator in your network

Go to the 4netscape or 4plugin directory and do the following:

6. Installing the signed versions of webCDcreator

If you trust my signed versions of webCDcreator, you can install them as follows:

7. Internationalization of webCDcreator

webCDcreator uses the JDK Internationalization APIs to support different languages and countries. The file webCDcreator/Messages.properties contains the default messages of webCDcreator.

7.1 Adding a new translation

If you want to translate a message to your language, you have to add a file webCDcreator/Messages_xx.properties. xx is the ISO-639 language code of the language. You could take my German translation webCDcreator/Messages_de.properties as an example. If you want to share your translation with others, you can send it to me. I will make it available in a future release.

7.2 Selecting a language

Running webCDcreator as an application you can use a language=en argument to set the language (en for English in this case). For the applet you can achieve the same by setting the parameter language to en.