mirror of
				https://github.com/ElvishArtisan/rivendell.git
				synced 2025-11-03 15:43:51 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			257 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			257 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
This is the installation file for the Rivendell package.
 | 
						|
 | 
						|
MANDATORY PREREQUISITES
 | 
						|
You will need the following installed and configured properly on your 
 | 
						|
system before building Rivendell:
 | 
						|
 | 
						|
Apache Web Server
 | 
						|
Included with most distros, or available from: http://www.apache.org/.
 | 
						|
 | 
						|
Cdda2Wav
 | 
						|
A CD ripper engine. Included in most distributions, but also available from 
 | 
						|
http://www.cdda2wav.de/.
 | 
						|
 | 
						|
Expat
 | 
						|
A stream-oriented XML parser library. Available at https://libexpat.github.io/.
 | 
						|
 | 
						|
ID3Lib
 | 
						|
An audio metadata tag library. Included in most distros, or available at 
 | 
						|
http://id3lib.sourceforge.net/.
 | 
						|
 | 
						|
LibCurl, v7.19.0 or later
 | 
						|
A client-side URL transfer library. Included with most distros, or
 | 
						|
available at: http://curl.haxx.se/libcurl/.
 | 
						|
 | 
						|
LibParanoia
 | 
						|
A library for ripping audio CDs. Included in most distributions, but also 
 | 
						|
available from http://www.xiph.org/paranoia/.
 | 
						|
 | 
						|
LibSndFile
 | 
						|
An audio file support library, written by Erik de Castro Lopo. Included with
 | 
						|
most distros, or you can find it at http://www.mega-nerd.com/libsndfile/.
 | 
						|
 | 
						|
MySQL/MariaDB Database Server
 | 
						|
Included in most Linux distributions. See http://www.mysql.com/.
 | 
						|
 | 
						|
PAM Pluggable Authentication Modules
 | 
						|
A suite of shared libraries that enable the local system administrator to 
 | 
						|
choose how applications authenticate users. Included with virtually all modern
 | 
						|
distros, or see http://www.kernel.org/pub/linux/libs/pam/.
 | 
						|
 | 
						|
OggVorbis - Open Source Audio Coding Library. Needed for OggVorbis
 | 
						|
importing and exporting. Included with most distros, or available at: 
 | 
						|
http://www.xiph.org/.
 | 
						|
 | 
						|
Python, v3.4 or later
 | 
						|
Open source scripting language. Included with most distros, or available at:
 | 
						|
https://www.python.org/.
 | 
						|
 | 
						|
PycURL, v7.43.0 or later
 | 
						|
Python interface to libcurl. Available at http://pycurl.io/.
 | 
						|
 | 
						|
PyMySQL, v1.3.12 or later
 | 
						|
Python library for accessing MySQL databases. Available at
 | 
						|
https://github.com/PyMySQL/mysqlclient-python.
 | 
						|
 | 
						|
PySerial, v 3.2.1 or later
 | 
						|
Python library for accessing serial devices. Available at
 | 
						|
https://pythonhosted.org/pyserial/.
 | 
						|
 | 
						|
Requests, v2.12.5 or later
 | 
						|
HTTP transfer library for Python. Available at 
 | 
						|
http://docs.python-requests.org/.
 | 
						|
 | 
						|
Qt Toolkit, v4.6 or better
 | 
						|
Most modern Linux distros include this. It's typically installed as part
 | 
						|
of the KDE Desktop Environment, although KDE is by no means required.
 | 
						|
It can also be downloaded directly at http://www.qt.io/.
 | 
						|
 | 
						|
Secret Rabbit Code
 | 
						|
A sample-rate converter library, written by Erik de Castro Lopo. Included
 | 
						|
with most distros, or you can find it at http://www.mega-nerd.com/SRC/.
 | 
						|
 | 
						|
SoundTouch Audio Processing Library
 | 
						|
A library for altering the pitch and/or tempo of digital audio data.
 | 
						|
Available at http://www.surina.net/soundtouch/.
 | 
						|
 | 
						|
Systemd System and Service Manager
 | 
						|
Most modern Linux distros include this.
 | 
						|
 | 
						|
TagLib Audio Meta-Data Library, v1.8 or better
 | 
						|
A high-quality C++ library for reading and writing a variety of audio metadata
 | 
						|
formats. Available at https://taglib.org/.
 | 
						|
 | 
						|
X11 Window System
 | 
						|
Virtually all Linux distros should include this.
 | 
						|
 | 
						|
 | 
						|
OPTIONAL PREREQUISITES
 | 
						|
The following components are optional, but needed at build- and run- time in
 | 
						|
order for particular features to work:
 | 
						|
 | 
						|
One or more audio driver libraries. Choices are:
 | 
						|
 | 
						|
  AudioScience HPI Driver - v3.00 or greater.
 | 
						|
  For supporting AudioScience's line of high-end professional audio adapters.
 | 
						|
  See http://www.audioscience.com/.
 | 
						|
 | 
						|
  The JACK Audio Connection Kit
 | 
						|
  A low latency audio server, designed from the ground up for
 | 
						|
  professional audio work. See http://jackaudio.org/.
 | 
						|
 | 
						|
  The Advanced Linux Sound Architecture (ALSA) v1.0 or greater.
 | 
						|
  The standard soundcard driver for Linux for kernels 2.6.x or later.
 | 
						|
  See http://www.alsa-project.org/.
 | 
						|
 | 
						|
Free Lossless Audio Codec (FLAC), v1.2.x or greater
 | 
						|
A "lossless" audio encoding library. Included with most distros, or 
 | 
						|
available from: http://flac.sourceforge.net/.
 | 
						|
 | 
						|
FAAD2 / mp4v2 - AAC/MP4 Decoding Libraries. Needed for MP4 file importation.
 | 
						|
Available at http://www.audiocoding.com/faad2.html and
 | 
						|
https://code.google.com/p/mp4v2/ respectively.
 | 
						|
 | 
						|
LAME - MPEG Layer 3 Encoder Library. Needed for MPEG Layer 3 exporting.
 | 
						|
Available at http://lame.sourceforge.net/.
 | 
						|
 | 
						|
MAD - MPEG Audio Decoder Library. Needed for MPEG importing and playout.
 | 
						|
Available at http://www.underbit.com/products/mad/.
 | 
						|
 | 
						|
TwoLAME - MPEG Layer 2 Encoder Library. Needed for MPEG Layer 2 exporting and
 | 
						|
capture. Available at http://www.twolame.org/.
 | 
						|
 | 
						|
 | 
						|
DOCUMENTATION
 | 
						|
-------------
 | 
						|
The larger pieces of the Rivendell documentation are written in XML-DocBook5.
 | 
						|
Pre-generated docs are included in the source tarball, so special tools will
 | 
						|
not normally be required to view or install them. However, if you need to
 | 
						|
rebuild them (either because you've modified the DocBook sources or are
 | 
						|
installing from the primary GitHub repository), then you will need the
 | 
						|
following:
 | 
						|
 | 
						|
XML-DocBook5 Stylesheets. Available at 
 | 
						|
http://sourceforge.net/projects/docbook/. You will also need to create a
 | 
						|
$DOCBOOK_STYLESHEETS variable in your environment that points to the top
 | 
						|
of the stylesheet tree. More information can be found at
 | 
						|
http://www.docbook.org/tdg5/en/html/appa.html#s.stylesheetinstall. On
 | 
						|
RHEL-ish systems, they are also available in the 'docbook5-style-xsl'
 | 
						|
package.
 | 
						|
 | 
						|
xsltproc. Command line XSLT processor. Available at
 | 
						|
http://xmlsoft.org/XSLT/xsltproc2.html
 | 
						|
 | 
						|
Apache FOP. Formatting Objects (FO) processor. Available at
 | 
						|
https://xmlgraphics.apache.org/fop/.
 | 
						|
 | 
						|
INSTALLATION
 | 
						|
There are three major steps to getting a Rivendell system up and
 | 
						|
running. They are:
 | 
						|
 | 
						|
1)  Setting up pre-requisite software
 | 
						|
 | 
						|
2)  Installing the Rivendell package
 | 
						|
 | 
						|
3)  Initial configuration
 | 
						|
 | 
						|
 | 
						|
1)  Setting Up Prerequisites
 | 
						|
 | 
						|
The major prerequisite piece of software needed for a functioning
 | 
						|
Rivendell system is the MySQL database engine. This needs to
 | 
						|
be accessible from the target system (either by running on the local
 | 
						|
host, or on a remote system) before Rivendell installation proper
 | 
						|
is commenced. In practice, this means that the 'mysqld' daemon is
 | 
						|
running and can be connected to using the mysql(1) client. You will
 | 
						|
also need a login name/password for an account on the server with
 | 
						|
administrative rights.
 | 
						|
 | 
						|
The process of configuring mySQL on a given host can be intricate and
 | 
						|
is generally beyond the scope of this document. Details can be found
 | 
						|
in a number of books on the subject, as well as in the very extensive
 | 
						|
documentation that accompanies the server itself.
 | 
						|
 | 
						|
 | 
						|
2)  Installing the Rivendell Package
 | 
						|
 | 
						|
Once the prerequisites are set up, installation is most often a matter of 
 | 
						|
cd'ing to the top of the Rivendell source tree and typing
 | 
						|
'./configure', 'make', followed (as root) by 'make install'. Those
 | 
						|
who obtained the source via CVS will need to do './autogen.sh' first.
 | 
						|
 | 
						|
The ./configure script will auto-detect what sound drivers (HPI, JACK
 | 
						|
or ALSA) are available and enable build support accordingly. To override
 | 
						|
this behavior, it's possible to specify '--disable-hpi',
 | 
						|
'--disable-jack' or '--disable-alsa' as an argument to './configure'.
 | 
						|
Be sure to see the important additional information regarding
 | 
						|
configuration in the 'docs/JACK.txt' or 'docs/ALSA.txt' files if you
 | 
						|
plan on using those sound driver architectures.
 | 
						|
 | 
						|
The installation of Rivendell's web services components are controlled
 | 
						|
by two parameters passed to 'configure', as follows:
 | 
						|
 | 
						|
--libexecdir     Location to install web scripts and static content
 | 
						|
 | 
						|
--sysconfdir     Location to install Apache configuration
 | 
						|
 | 
						|
The specific values to pass will vary widely depending upon the specific
 | 
						|
distro in question. Some known good values (assuming a default Apache
 | 
						|
setup):
 | 
						|
 | 
						|
RHEL 5:	  --libexecdir=/var/httpd/rd-bin --sysconfdir=/etc/httpd/conf.d
 | 
						|
 | 
						|
RHEL 6/7: --libexecdir=/var/www/rd-bin --sysconfdir=/etc/httpd/conf.d
 | 
						|
 | 
						|
SuSE:     --libexecdir=/srv/www/rd-bin --sysconfdir=/etc/apache2/conf.d
 | 
						|
 | 
						|
After doing 'make install', be sure to restart the Apache web service.
 | 
						|
 | 
						|
 | 
						|
3)  Initial Configuration
 | 
						|
 | 
						|
Next, you'll need to install a small configuration file at
 | 
						|
'/etc/rd.conf'. A sample can be found in 'conf/rd.conf-sample'. Much
 | 
						|
of this can be used unchanged, with the exception of the entries in the 
 | 
						|
[Identity] section. These should be changed to reflect the user and group 
 | 
						|
name of the system accounts that will be running Rivendell.
 | 
						|
 | 
						|
The directory for the audio sample data next needs to be created, as
 | 
						|
so:
 | 
						|
 | 
						|
	mkdir /var/snd
 | 
						|
 | 
						|
This directory should owned, readable, writable and searchable by the user 
 | 
						|
and group specified in the 'AudioOwner=' and 'AudioGroup=' entires in
 | 
						|
'/etc/rd.conf' and readable and searchable by Others (mode 0775).
 | 
						|
 | 
						|
Next, create an empty database on the MySQL/MariaDb server, as well as a
 | 
						|
DB user to access it. This user should have the following privileges:
 | 
						|
 | 
						|
       Select
 | 
						|
       Insert
 | 
						|
       Update
 | 
						|
       Delete
 | 
						|
       Create
 | 
						|
       Drop
 | 
						|
       References
 | 
						|
       Index
 | 
						|
       Alter
 | 
						|
       Create Temporary Table
 | 
						|
       Lock Tables
 | 
						|
 | 
						|
In the '[mySQL]' section of the '/etc/rd.conf' file, set the 'Database=',
 | 
						|
'Loginname=' and 'Password=' parameters to the DB name, user and password
 | 
						|
that you created. Then, create an initial Rivendell database and generate
 | 
						|
the audio for the test-tone cart in the audio store audio cart by doing:
 | 
						|
 | 
						|
       rddbmgr --create --generate-audio
 | 
						|
 | 
						|
If all goes well, this command should return with no output.
 | 
						|
 | 
						|
Finally, start up the Rivendell service by doing (as root):
 | 
						|
 | 
						|
       systemctl start rivendell
 | 
						|
 | 
						|
You should now be able to run the various Rivendell components from the
 | 
						|
Applications menu.
 |