forked from ElvishArtisan/rivendell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL
218 lines (158 loc) · 8.52 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
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/.
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 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/.
Qt Toolkit, v3.3 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 from TrollTech (http://www.trolltech.com/).
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/.
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://jackit.sourceforge.net/.
Further information on running Rivendell with the JACK driver can be
found in 'docs/JACK.txt'.
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/.
GPIO Driver
A kernel driver for the line of data-acquisition boards from
MeasurementComputing. See http://www.rivendellaudio.org/.
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
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.
If GPIO support is desired, this is also the time to install and test
the kernel GPIO driver. Full installation instructions as well as the
list of currently supported GPIO boards are included in the package.
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).
Finally, it's time to start things up. Run 'rdadmin' from a shell
prompt. For the first time startup, RDAdmin will prompt for a login
name/password on the mySQL server so that it can create the Rivendell
database. To log into RDAdmin for the first time, enter a User Name of
'admin' with no password.
Much of the work in Rivendell gets done by three daemon processes,
named 'caed', 'ripcd' and 'rdcatchd'. These daemons *must* be running
before attempting to start any of the Rivendell applications. The
order in which they are started is important, and should be the same
as the order in which they are listed above. For convienence, a Sys-V
style init script called 'rivendell' that can start, stop and restart
the daemons properly is installed in '/etc/init.d/'.