X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=INSTALL;h=0f4c18b647e0e6c2fc921bbded745275458d70c7;hp=9e53e1f3dbeccf49b6ee8647673823ee54bef7c2;hb=eb9722e8763a9b2a2ae99d98a9715bd932081c3c;hpb=ab5820c1ac8fe47084be69717503de2ce00b5956 diff --git a/INSTALL b/INSTALL index 9e53e1f3..0f4c18b6 100644 --- a/INSTALL +++ b/INSTALL @@ -1,222 +1,13 @@ -Paraslash install notes -======================= - Any knowledge of how to work with mouse and icons is not required. -Install all needed packages -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -See README for a list of required software. Don't be afraid of the long -list of unusal libraries: Most of them are only needed for optional -programs. Autoconf will detect what is installed on your system and -will only build those executables that can be built with your setup. - - -Install server and client -~~~~~~~~~~~~~~~~~~~~~~~~~ -Install the package on all machines, you'd like this software to run on: - - (./configure && make) > /dev/null - -There should be no errors (but probably many warnings about missing -software). Then, as root, - - make install - -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. - -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. - -As foo@server_host, create ~/.paraslash/server.users by typing the -following commands: - - target=~/.paraslash/server.users - key=~/.paraslash/key.pub.bar - perms=DB_READ,DB_WRITE,AFS_READ,AFS_WRITE - mkdir -p ~/.paraslash - echo "user bar $key $perms" >> $target - -This gives bar full privileges. - -Change to the bar account on client_host and generate the key-pair -with the commands - - key=~/.paraslash/key.bar - mkdir -p ~/.paraslash - (umask 077 && openssl genrsa -out $key) - -Next, extract its public part: - - pubkey=~/.paraslash/key.pub.bar - openssl rsa -in $key -pubout -out $pubkey - -and copy the public key just created to server_host (you may -skip this step for a single-user setup, i.e. if foo=bar and -server_host=client_host): - - scp $pubkey foo@server_host:.paraslash/ - -Finally, tell para_client to connect to server_host: - - echo 'hostname server_host' > ~/.paraslash/client.conf - -Start para_server -~~~~~~~~~~~~~~~~~ -For the first try, we'll use the default audio file selector, the -"random" selector which chooses audio files from the given directory -by random. You have to tell para_server via the --random_dir command -line option where this selector should look for audio files. - - para_server --random_dir=/my/mp3/directory - -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 -example) and try - - para_client help - para_client si - -to retrieve the list of available commands and some server info. - -Start streaming manually -~~~~~~~~~~~~~~~~~~~~~~~~ - - para_client play - para_client stat 2 - -This starts streaming and dumps some information on the current song -to stdout. - -You should now be able to receive and listen to the stream. To check -this, try the following on client_host (assuming alsa and an mp3 -stream): - - para_recv -r 'http -i server_host' > file.mp3 #interrupt after a few seconds - ls -l file.mp3 # should not be empty - para_filter -f mp3dec -f wav < file.mp3 > file.wav - ls -l file.wav # should be much bigger than file.mp3 - para_write -w alsa < file.wav - -If this works, proceed. Otherwise doublecheck what is logged by -para_server and use the --loglevel option of para_recv, para_filter -and para_write to increase verbosity. - -Next, put the pieces together: - - para_recv -r 'http -i server_host' | para_filter -f mp3dec -f wav | para_write -w alsa - or - mpg123 http://server_host:8000/ - or - xmms http://server_host:8000/ - -Choose an audio file selector -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -paraslash has three different audio file selectors: random (default), -playlist and mysql. - - The random selector chooses files randomly from the given - directory. - - The playlist selector allows to send a playlist to para_server - via the lpl (load playlist) command. para_server will choose - files from the loaded playlist in sequential order. - - The mysql selector stores information about your audio - files in a mysql database. It is much more involved than - the other two selectors and lets you chose files in many - interesting ways. If you like to use the mysql selector, - read README.mysql and follow the instructions given there. - Return to this document when ready. - -The current audio file selector can be changed at runtime via - - para_client chs new_selector - - -Configure para_audiod -~~~~~~~~~~~~~~~~~~~~~ -In order to automatically start the right decoder at the right time -and to offer to the clients some information on the current audio -stream and on paraslash's internal state, you should run the local -audio daemon, para_audiod, on every machine that is supposed to play -the audio stream. Try - - para_audiod -h - -for help. Usually you have to specify at least server_host as the -receiver specifier for each supported audio format, like this: - - -r 'mp3:http -i server_host' - -The prefered 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" -socket for the clients to connect to. The default path for this -socket is - - /var/paraslash/audiod_socket.$HOSTNAME - -so the /var/paraslash directory should be owned by the user who -runs para_audiod. - -If you want to change location of the default 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 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 - - para_audioc stat - -That should dump some information to stdout. Other commands include - - para_audioc off - para_audioc on - para_audioc sb - para_audioc term - para_audioc cycle - - -Start para_gui -~~~~~~~~~~~~~~ -para_gui reads the output of "para_audioc stat" and displays that -information in a curses window. It also allows you to bind keys to -arbitrary commands. There are several flavours of key-bindings: - - o internal: These are the built-in commands that can not be - changed (help, quit, loglevel, version...). - - o external: Shutdown curses before launching the given command. - Useful for starting other ncurses programs from within - para_gui, e.g. aumix or para_dbadm. Or, use - - para_client mbox - - to write a mailbox containing one mail for each file - in the mysql database and start mutt from within para_gui - to browse your collection! - - o display: Launch the command and display its stdout in - para_gui's bottom window. +From tarball: - o para: Like display, but start "para_client " instead of "". + ./configure && make && sudo make install +From git: -That's all, congratulations. Check out all the other optional gimmics! + ./autogen.sh && sudo make install -Troubles? -~~~~~~~~~ -If something went wrong, look at the output. If that does not give -you a clue, use loglevel one (option -l 1 for most commands) to show -debugging info. Almost all paraslash executables have a brief online -help which is displayed by using the -h switch. +For details see the user manual: -Still not working? Mail the author Andre Noll -(english, german, or spanish language). Please provide enough info -such as the version of paraslash you are using and relevant parts of -the logs. + http://paraslash.systemlinux.org/manual.html