-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathINSTALL
224 lines (158 loc) · 7.92 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
219
220
221
222
223
MediaProxy installation procedure
---------------------------------
Copyright (c) 2008-2020 AG Projects
http://ag-projects.com
Authors: Ruud Klaver, Dan Pascu, Saul Ibarra
Home page: http://mediaproxy.ag-projects.com
For the list of changes between revisions please consult debian/changelog
For information about the MediaProxy architecture, configuring and running
the dispatcher and the relay, as well as details about the supported
features and how to use them, please consult the README file.
Prerequisites
-------------
In order to build and install, MediaProxy has the following requirements:
- Linux (at least 2.6.18) with the following features compiled in:
- netfilter support
- connection tracking support
- connection tracking netlink interface
- connection tracking event notification API
- netfilter "NOTRACK" target support
- netfilter "CONNMARK" target support
- netfilter "connmark" match support
- IPv4 connection tracking support
- IP tables support
- IP tables Full NAT support
Distribution provided kernel images should normally provide of all these
features as modules. The Debian kernel images have all these features
available and can be used out of the box.
- libnetfilter-conntrack
Most of the Linux distributions separate a library package into runtime
and development packages. To build MediaProxy, the development version
is needed (it usually has a -dev suffix in the package name).
- iptables
To build MediaProxy, the development version is needed (usually has a -dev
suffix in the package name). For running the development package is not
needed, only plain iptables is enough.
- Python3
http://python.org
- Twisted framework
http://twistedmatrix.com
- python3-zope.interface
http://zope.org
- python3-application
http://download.ag-projects.com/others/
- GNU-TLS
http://www.gnu.org/software/gnutls
- python3-gnutls (at least 3.0.0)
http://download.ag-projects.com/others/
For the database accounting module:
- SQLObject
http://sqlobject.org
For the RADIUS accounting module:
- pyrad
https://pypi.org/project/pyrad/
Installation
------------
For people running Debian or Ubuntu on an i386 or amd64 architecture there are
official public repositories provided by AG Projects.
Modify your /etc/apt/sources.list depending on the distribution you are using,
check here for the appropriate lines:
http://mediaproxy.ag-projects.com/wiki/InstallationGuide
Install the AG Projects debian software signing key:
wget http://download.ag-projects.com/agp-debian-gpg.key
apt-key add agp-debian-gpg.key
After that, run:
apt-get update
apt-get install mediaproxy-dispatcher mediaproxy-relay mediaproxy-web-sessions
to install all the packages, or you can install only the packages you actually
need on that specific system.
In case you want to build your own, please look below to Packaging section.
Installing from source
----------------------
When installing from source, first make sure the above mentioned prerequisites
are installed. If the distribution you are running has them already packaged,
you should install the distribution provided packages, else you'll have to
install them from source. If you install them as packages, make sure that you
also install the development versions for python and libnetfilter-conntrack in
order to be able to build MediaProxy. If you have to install something from
source, please consult the installation instructions for that specific package
in order to find out how to install it. For python packages there is a simple
method to install them by running easy_install (make sure to run them as root):
easy_install twisted
easy_install zope.interface
easy_install sqlobject
easy_install pyrad
python3-application and python3-gnutls can be downloaded from
http://download.ag-projects.com/others/
An alternative method to install the python packages is to download, unpack
and run (as root):
./setup.py build; ./setup.py install
for each of them in the directories where they were unpacked.
It should be noted that this only needs to be done for the packages that are
not provided already by your distribution, otherwise it is recommended to use
the distribution provided packages unless they do not meet the minimum version
requirements mentioned above or if they exhibit problems at runtime.
After all the prerequisites are installed, MediaProxy can be installed either
as a system wide package or in a standalone directory.
1. To install it as a system wide package, run (as root):
./setup.py build
./setup.py install
in the directory where you unpacked MediaProxy.
2. To install in a standalone directory, unpack MediaProxy to the directory
where you want it placed. Then change to that directory and run:
On Debian you can install the build dependencies with:
sudo apt install python3-all-dev libnetfilter-conntrack-dev libiptc-dev
Then run:
./build_inplace
After this MediaProxy components can be run from that directory.
In both cases, you can use the Debian startup scripts in the Debian
subdirectory, mediaproxy-dispatcher.init and mediaproxy-relay.init as
examples to create your own startup scripts for your distribution.
Packaging
---------
The MediaProxy source already includes the necessary files to build Debian
packages. They should probably also work without changes for Ubuntu, though
they have not been tested with it.
To build Debian/Ubuntu packages, you can do the following (this is known to
work with Debian testing and unstable and should work without changes in
Ubuntu 8.04 Hardy as well, though they were not tested there):
apt-get update
apt-get install devscripts cdbs debhelper python3-all-dev \
iptables-dev libnetfilter-conntrack-dev python3-application \
python3-gnutls python3-twisted python3-zope.interface \
python3-pyrad python3-sqlobject
then unpack MediaProxy and in the directory where it was unpacked run:
debuild -us -uc
You can safely ignore the pgp signing error at the end of the build process,
that is only because you do not have the pgp key for the person who is listed
as maintainer for the package. The packages are build fine even if they are
not signed.
After building them, you can find the .deb packages in the parent directory,
from where you can install them using dpkg:
cd ../
dpkg -i mediaproxy-*.deb
or you can install just the ones you need on that particular system.
Please note that mediaproxy-dispatcher and mediaproxy-relay both depend on
mediaproxy-common so you have to install it too along with either of them.
Configuration file
------------------
The configuration file is named config.ini and a config.ini.sample file is
provided in the source. You can copy config.ini.sample to config.ini and
modify it to suit your needs. The sample configuration file is commented and
self-explanatory. Both the dispatcher and the relay read their configuration
from the same file but from different sections. If either of them is not
installed on a given system, its specific sections are ignored, so you only
need to configure the sections for the installed component(s).
MediaProxy will look for both a local configuration file, which is placed in
the same directory as the media-relay and media-dispather scripts, and a
system configuration file which is placed in /etc/mediaproxy/
Even though a local configuration file can be used in any case, it only makes
sense to be used in the standalone installation case, where MediaProxy lives
in its own directory and there is a reason to contain all the MediaProxy
related files to a single directory.
For system wide installations, where the media-relay and media-dispatcher
scripts reside in /usr/bin or /usr/local/bin, it makes little sense to
place a local configuration file there, so in this case using the system
configuration file in /etc/mediaproxy/config.ini is recommended.
When both configuration files are present, both will be read and the settings
in the local configuration will override the ones in the system configuration.