Move blob table macros from afs.h to blob.c.
[paraslash.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 992e5b1..092bf87 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -12,28 +12,29 @@ See
 <a href="REQUIREMENTS.html"> REQUIREMENTS </a>
 >>
 for a list of required software. You don't need everything listed
-there. In particular, mp3, ogg vorbis and aac, ortp support is
-optional. Autoconf will detect what is installed on your system
-and will only try to build those executables that can be built with
-your setup.
+there. In particular, mp3, ogg vorbis and aac support are all
+optional. The configure script will detect what is installed on your
+system and will only try to build those executables that can be built
+with your setup.
 
-Note that no special library (not even the mp3 decoding library libmad)
-is needed for para_server if you only want to stream mp3 files.
-Also, it's fine to use para_server on a box without sound card as
-para_server only sends the audio stream to connected clients.
+Note that no mp3 library (not even the mp3 decoding library libmad)
+is needed for para_server if you only want to stream mp3 files. Also,
+it's fine to use para_server on a box without sound card as para_server
+only sends the audio stream to connected clients.
 
 -------------------------
 Install server and client
 -------------------------
 
-Install the package on all machines, you'd like this software to run on:
+Install the paraslash package on all machines, you'd like this software
+to run on:
 
        (./configure && make) > /dev/null
 
 There should be no errors but probably some warnings about missing
 software packages which usually implies that not all audio formats will
 be supported. If headers or libs are installed at unusual locations
-you might need to tell the configure script to find them.  Try
+you might need to tell the configure script where to find them. Try
 
        ./configure --help
 
@@ -43,12 +44,14 @@ successfully, execute as root,
        make install
 
 -----------------------------------
-Setup user list and create rsa keys
+Setup user list and create RSA keys
 -----------------------------------
 
-If you already have your rsa keys, skip this step. If you are new
-to paraslash, you have to generate an rsa key pair for each user you
-want to allow to connect. You need at least one user.
+Note that the RSA keys for paraslash 0.3.x will not work for version
+0.4.x as the new version requires stronger (2048 bit) keys. If you
+already have your 2048 bit keys, skip this step. If you are new to
+paraslash, you have to generate a key pair for each user you want to
+allow to connect. You need at least one user.
 
 Let's assume that you'd like to run the server on host server_host
 as user foo, and that you want to connect from client_host as user bar.
@@ -56,24 +59,25 @@ as user foo, and that you want to connect from client_host as user bar.
 As foo@server_host, create ~/.paraslash/server.users by typing the
 following commands:
 
+       user=bar
        target=~/.paraslash/server.users
-       key=~/.paraslash/key.pub.bar
+       key=~/.paraslash/key.pub.$user
        perms=AFS_READ,AFS_WRITE,VSS_READ,VSS_WRITE
        mkdir -p ~/.paraslash
-       echo "user bar $key $perms" >> $target
+       echo "user $user $key $perms" >> $target
 
 This gives "bar" the full privileges.
 
-Change to the bar account on client_host and generate the key-pair
+Change to the "bar" account on client_host and generate the key-pair
 with the commands
 
-       key=~/.paraslash/key.bar
+       key=~/.paraslash/key.$LOGNAME
        mkdir -p ~/.paraslash
-       (umask 077 && openssl genrsa -out $key)
+       (umask 077 && openssl genrsa -out $key 2048)
 
 Next, extract its public part:
 
-       pubkey=~/.paraslash/key.pub.bar
+       pubkey=~/.paraslash/key.pub.$LOGNAME
        openssl rsa -in $key -pubout -out $pubkey
 
 and copy the public key just created to server_host (you may
@@ -91,10 +95,18 @@ Finally, tell para_client to connect to server_host:
 Start para_server
 -----------------
 
-For this first try, we'll use a debug level of two to make the
-output of para_server more verbose.
+Before starting the server make sure you have write permissions to
+the directory /var/paraslash.
 
-       para_server -l 2
+       sudo chown $LOGNAME /var/paraslash
+
+Alternatively, use the --afs_socket Option to specify a different
+location for the afs command socket.
+
+For this first try, we'll use the info loglevel to make the output
+of para_server more verbose.
+
+       para_server -l info
 
 Now you can use para_client to connect to the server and issue
 commands. Open a new shell (as "bar" on "client_host" in the above
@@ -112,11 +124,11 @@ Create the database
 
        para_client init
 
-This creates some empty tables under ~/.paraslash/afs_database.
-You normally don't need to look at these tables, but it's good
-to know that you can start from scratch with
+This creates some empty tables under ~/.paraslash/afs_database-0.4.
+You normally don't need to look at these tables, but it's good to
+know that you can start from scratch with
 
-       rm -rf ~/.paraslash/afs_database
+       rm -rf ~/.paraslash/afs_database-0.4
 
 in case something went wrong.
 
@@ -139,8 +151,8 @@ Print a list of all audio files found with
 Start streaming manually
 ------------------------
 
-       para play
-       para stat 2
+       para_client play
+       para_client -- stat -n=2
 
 This starts streaming and dumps some information about the current
 audio file to stdout.
@@ -156,7 +168,7 @@ Paraslash comes with its own receiving and playing software, which
 will be described next. Try the following on client_host (assuming
 Linux/ALSA and an mp3 stream):
 
-       para_recv -l 2 -r 'http -i server_host' > file.mp3
+       para_recv -r 'http -i server_host' > file.mp3
        # (interrupt with CTRL+C after a few seconds)
        ls -l file.mp3 # should not be empty
        para_filter -f mp3dec -f wav < file.mp3 > file.wav
@@ -188,7 +200,7 @@ supposed to play the audio stream. Try
 for help. Usually you have to specify only server_host as the receiver
 specifier for each supported audio format, like this:
 
-       para_audiod -l 2 -r 'mp3:http -i server_host'
+       para_audiod -l info -r 'mp3:http -i server_host'
 
 The preferred way to use para_audiod is to run it once at system start
 as an unprivileged user. para_audiod needs to create a "well-known"
@@ -197,13 +209,13 @@ socket is
 
        /var/paraslash/audiod_socket.$HOSTNAME
 
-so the /var/paraslash directory should be owned by the user who
+so the /var/paraslash directory should be writable for the user who
 runs para_audiod.
 
-If you want to change the location of the socket, use the -s option
-for para_audiod or the config file ~/.paraslash/audiod.conf to change
-the default. Note that in this case you'll also have to specify the
-same value for para_audioc's -s option.
+If you want to change the location of the socket, use the --socket
+option for para_audiod or the config file ~/.paraslash/audiod.conf
+to change the default. Note that in this case you'll also have to
+specify the same value for para_audioc's --socket option.
 
 If para_server is playing, you should be able to listen to the audio
 stream as soon as para_audiod is started.  Once it is running, try