webCDwriter
Installation Guide

1. Installing cdrecord and mkisofs

This version of webCDwriter was tested with cdrecord 1.8 and mkisofs 1.12. In this section I describe how you can compile cdrecord. Optional you can patch cdrecord.

1.1 Get cdrecord

You can get cdrecord from here.

1.2 Unpack it

tar xzvf cdrecord-1.8.tar.gz

1.3 Optional patch

Uncomment line 1505 in cdrecord-1.8/cdrecord/cdrecord.c
/*			return (FALSE);*/

1.4 Compile it

cd cdrecord-1.8
make

1.5 Install it

Copy the binaries of cdrecord and mkisofs to a directory in your path. Alternatively you can specify the absolute filenames of cdrecord and mkisofs in the config of CDWserver.
cp cdrecord/OBJ/i586-linux-cc/cdrecord /your/dir
cp mkisofs/OBJ/i586-linux-cc/mkisofs /your/dir
Probably you will have to adjust the i586-linux-cc directory.

2. Testing cdrecord and mkisofs

It is important to go through the tests in this section. First, you will need the arguments determined in this section for the configuration of CDWserver. Second, the server won't run if any of these tests fails. It is recommended to run the tests as the same user who should later run CDWserver.

2.1 Version of cdrecord

cdrecord -version
CDWserver is tested with "Cdrecord 1.8".

2.2 Get the bus,id,lun-triple of the CD-writer

cdrecord -scanbus

2.3 Try to get information from CD-writer

cdrecord dev=bus,id,lun -inq

2.4 Version of mkisofs

mkisofs -version
CDWserver is tested with "mkisofs 1.12". Older versions don't know the -gui and -version options and have problems with the Joliet-Extension.

2.5 Determine the devicename of the CD-writer (eg. /dev/scd0)

Put a none-empty CD in the CD-writer, replace the x and try
dd if=/dev/scdx of=/tmp/cdimage.iso
This should copy the first track of the CD to /tmp/cdimage.iso. It is important that the user running CDWserver can do this.

3. Installing CDWserver

3.1 Compile the C++ source

cd CDWserver
make

3.2 Create the configuration-directory and copy example config

mkdir /etc/CDWserver
cp config.eg /etc/CDWserver/config

3.3 Edit /etc/CDWserver/config

You have at least to adjust

3.4 Create log and spool directories

mkdir /var/log/CDWserver
mkdir /var/spool/CDWserver

3.5 Run CDWserver

Start CDWserver by
./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:10001/).

At system startup you could start CDWserver by a script in /etc/rc.d/init.d/.

4. Compiling webCDcreator

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-Plugin 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 here.

4.1 Get the Capabilities API Classes from Netscape

Running as an applet webCDcreator requires additional permissions. It uses the Netscape JAVA CAPABILITIES API to request the permissions from the user. You have to download the Capabilities API Classes and install the file in the CDcreator directory.

4.2 Set the CLASSPATH

If you are using JDK 1.2
export CLASSPATH=.:capsapi_classes.zip
For JDK 1.1 you will need swing.jar
export CLASSPATH=.:/path/to/swing/swing.jar:capsapi_classes.zip

4.3 Compile the Java source

cd CDcreator
make

4.4 Run webCDcreator as an application

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

4.5 Signing webCDcreator for Netscape Communicator

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 netscape
You will find the signed CDcreator.jar in the netscape directory. To complete the installation go to 5.1.

4.6 Signing webCDcreator for Java Plugin 1.2

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

For webCDcreator you can go through the following steps:
  1. Generate a new key-pair and self-signed certificate
    keytool -genkey -dname "cn=User Name, ou=Unit, o=Organization, c=de" -validity 3650 -alias test
  2. Create CDcreator.jar and sign it
    make jar
    jarsigner CDcreator.jar test
  3. Export the certificate by
    keytool -export -rfc -alias test -file test.x509
To complete the installation go to 5.2.

5. Installing webCDcreator from the webCDwriter-Homepage

If you trust my signed versions of webCDcreator at the webCDwriter-Homepage you can install them as follows:

5.1 webCDcreator for Netscape Communicator

5.2 webCDcreator for Java Plugin 1.2