-
Notifications
You must be signed in to change notification settings - Fork 74
/
mythweb.conf.apache
246 lines (208 loc) · 10.4 KB
/
mythweb.conf.apache
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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
#
# Apache configuration directives for MythWeb. Please read INSTALL for setup
# requirements and troubleshooting, along with the comments in this file.
#
############################################################################
# If you intend to use authentication for MythWeb (see below), you will
# probably also want to uncomment the following rules, which disable
# authentication for MythWeb's download URLs so you can properly stream
# to media players that don't work with authenticated servers.
#
# <LocationMatch .*/pl/stream/[0-9]+/[0-9]+>
# Allow from all
# Satisfy Any
# </LocationMatch>
#
# <LocationMatch .*/music/stream.php>
# Allow from all
# Satisfy Any
# </LocationMatch>
#
# CHANGE THESE PATHS TO MATCH YOUR MYTHWEB INSTALLATION DIRECTORY! e.g.
#
# /var/www
# /home/www/htdocs
# /var/www/html/mythweb
# /srv/www/htdocs/mythweb
#
<Directory "/var/www/html/data">
# For Apache 2.2
#Options -All +FollowSymLinks +IncludesNoExec
# For Apache 2.4+
Options +FollowSymLinks +IncludesNoExec
</Directory>
<Directory "/var/www/html" >
############################################################################
# I *strongly* urge you to turn on authentication for MythWeb. It is disabled
# by default because it requires you to set up your own password file. Please
# see the man page for htdigest and then configure the following four directives
# to suit your authentication needs.
#
# AuthType Digest
# AuthName "MythTV"
# AuthUserFile /var/www/htdigest
# Require valid-user
# BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
# Order allow,deny
# Satisfy any
#
# * If you're running Apache earlier than 2.2, you will need to use
# the AuthDigestFile command instead of AuthUserFile (3rd line above).
#
############################################################################
# Some special instructions for the MythWeb controller files
#
<Files mythweb.*>
#
# Use the following environment settings to tell MythWeb where you want it to
# look to connect to the database, the name of the database to connect to, and
# the authentication info to use to connect. The defaults will usually work
# fine unless you've changed mythtv's config.xml file, or are running MythWeb on
# a different server from your main backend. Make sure you have mod_env enabled.
#
# This is unneeded due to the upnp setup via the backend
#
# setenv db_server "localhost"
# setenv db_name "mythconverg"
# setenv db_login "mythtv"
# setenv db_password "mythtv"
#
# By default, MythWeb uses the hostname program to look up the hostname of the
# machine it runs on. If this reports incorrect data, or you run MythWeb on a
# machine without the hostname program, set this to your current hostname.
#
# setenv hostname "my_mythbox"
#
# By default, php will always search the current directory for include files,
# but if you wish to install these directories outside of the current path
# (eg. for security reasons), set this variable to the directory that
# contains the directories like languages and templates. eg.
#
# setenv include_path "/usr/share/mythweb"
# If you want MythWeb to email php/database errors (and a backtrace) to you,
# uncomment and set the email address below.
#
# setenv error_email "mythweb_errors@example.com"
#
# If your local file system is something other than UTF-8, set this variable
# so that the music and video portions of MythWeb can provide proper links
# to your downloadable files.
#
# setenv fs_encoding "ISO-8859-1"
</Files>
############################################################################
# The following settings relate to PHP config.
#
<Files *.php>
# These settings are intended for apache 2.x. If your version of apache
# doesn't support php_value, or things like memory_limit aren't working
# as expected, then use these settings as examples for your own php.ini
# files.
# php_value safe_mode 0
# php_value register_globals 0
# php_value magic_quotes_gpc 0
php_value file_uploads 0
php_value allow_url_fopen On
php_value zlib.output_handler Off
# php_value output_handler NULL
# If you have a large number of channels, you may need to increase
# this value to prevent PHP from running out of memory during
# searches. The default is 64M.
php_value memory_limit 64M
# php_value memory_limit 128M
# php_value memory_limit 256M
# php_value memory_limit 512M
# If you have a large number of channels, php may timeout creating
# complex pages, so you will need to increase the amount of time
# php has to create the page. The default is 30 seconds.
php_value max_execution_time 30
# php_value max_execution_time 60
# php_value max_execution_time 120
# Note: php_flag does not work in older versions of php
# php_flag output_handler "NULL"
php_value display_startup_errors On
php_value display_errors On
</Files>
############################################################################
# The settings below relate specifically to mod_rewrite and the rewrite
# engine used to make the MythWeb user experience a little easier to deal
# with by simplifying the URLs needed to access the various sections. Do
# not touch these settings unless you really know what you're doing..
#
# Turn on the rewrite engine
RewriteEngine on
# If MythWeb is installed outside of the document root (eg. using Alias) then
# you will need to set this directive to the base URL that MythWeb is visible
# from externally. If you do not, the web server will return 'not found'.
# RewriteBase /mythweb
# Skip out early if we've already been through rewrites,
# or if this is a /css/, /js/ or /cache/ directory request.
RewriteRule ^(css|data|images|js|themes|skins|README|INSTALL|[a-z_]+\.(php|pl))(/|$) - [L]
# Redirect /pl/ requests to the perl cgi handler.
RewriteRule ^(pl(/.*)?)$ mythweb.pl/$1 [QSA,L]
# Redirect most of the remaining URL requests to the main mythweb script.
# It will then handle any requests given to it.
RewriteRule ^(.+)$ mythweb.php/$1 [QSA,L]
# If you're experiencing trouble with the previous two lines in your copy of
# apache, you could instead use something like:
# RewriteRule ^(pl(/.*)?)$ mythweb.pl?PATH_INFO=/$1 [L,QSA]
# RewriteRule ^(.+)$ mythweb.php?PATH_INFO=/$1 [L,QSA]
# Catch anything else that comes through and send it to mythweb.php with no parameters.
RewriteRule ^(.*)$ mythweb.php [QSA,L]
############################################################################
# You really shouldn't need to edit anything below this line, so please
# don't unless you know what you're doing.
#
# Allow .htaccess to override whatever it wants from the server config.
AllowOverride All
# Allow browsers to follow symlinks that point outside of the web document
# tree. This is how we access music, videos, etc.
Options FollowSymLinks
# MythTV now uses the correct file suffix for mpeg files, so all .nuv files
# should actually be NuppleVideo. However, apache probably doesn't know what
# those are, so we should tell it.
AddType video/nuppelvideo .nuv
# Specify the MIME type for favicon.ico in case the server configuration
# doesn't or in case the server configuration uses the IANA-approved MIME type
# (image/vnd.microsoft.icon)--which most browsers won't recognize.
AddType image/x-icon .ico
# Enable mod_deflate. This works MUCH more reliably than PHP's built-in
# gzip/Zlib compressors. It is disabled here because many distros seem not
# to enable mod_deflate by default, but I strongly recommend that you
# enable this section.
#
# BrowserMatch ^Mozilla/4 gzip-only-text/html
# BrowserMatch ^Mozilla/4\.0[678] no-gzip
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#
# AddOutputFilterByType DEFLATE text/html
# AddOutputFilterByType DEFLATE text/css
# AddOutputFilterByType DEFLATE application/x-javascript
# if we can auto-detect the deflate module, use it
<IfModule deflate_module>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
# This is helpful for mod_deflate -- it prevents proxies from changing
# the user agent to/from this server, which can prevent compression from
# being enabled. It is disabled here because many distros seem not to
# enable mod_headers by default, but I recommend that you enable it.
#
# Header append Vary User-Agent env=!dont-vary
# If we can auto-detect the headers module, use it
<IfModule headers_module>
Header append Vary User-Agent env=!dont-vary
</IfModule>
# Set up the perl handler so we can stream properly. Do not use mod_perl
# because it has a tendency to hold onto child processes, which causes
# problems if the browser closes on an in-progress stream.
#
<Files *.pl>
SetHandler cgi-script
Options +ExecCGI
</Files>
</Directory>