Ticket #6789: mythweb.conf

File mythweb.conf, 9.0 KB (added by eric.bosch@…, 16 years ago)
Line 
1#
2# Apache configuration directives for MythWeb. Please read INSTALL for setup
3# requirements and troubleshooting, along with the comments in this file.
4#
5
6############################################################################
7# If you intend to use authentication for MythWeb (see below), you will
8# probably also want to uncomment the following rules, which disable
9# authentication for MythWeb's download URLs so you can properly stream
10# to media players that don't work with authenticated servers.
11#
12 <LocationMatch .*/pl/stream/[0-9]+/[0-9]+>
13 Allow from all
14 </LocationMatch>
15#
16 <LocationMatch .*/music/stream.php>
17 Allow from all
18 </LocationMatch>
19
20
21#
22# CHANGE THESE PATHS TO MATCH YOUR MYTHWEB INSTALLATION DIRECTORY! e.g.
23#
24# /var/www
25# /home/www/htdocs
26# /var/www/html/mythweb
27# /srv/www/htdocs/mythweb
28#
29 <Directory "/var/www/localhost/htdocs/mythweb/data">
30 Options -All +FollowSymLinks +IncludesNoExec
31 </Directory>
32 <Directory "/var/www/localhost/htdocs/mythweb" >
33
34 ############################################################################
35 # I *strongly* urge you to turn on authentication for MythWeb. It is disabled
36 # by default because it requires you to set up your own password file. Please
37 # see the man page for htdigest and then configure the following four directives
38 # to suit your authentication needs.
39 #
40 AuthType Digest
41 AuthName "MythTV"
42 AuthUserFile /var/www/htdigest
43 Require valid-user
44 BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
45 Order allow,deny
46 Satisfy any
47 #
48 # * If you're running Apache earlier than 2.2, you will need to use
49 # the AuthDigestFile command instead of AuthUserFile (3rd line above).
50 #
51 ############################################################################
52 # Some special instructions for the MythWeb controller files
53 #
54 <Files mythweb.*>
55
56 #
57 # Use the following environment settings to tell MythWeb where you want it to
58 # look to connect to the database, the name of the database to connect to, and
59 # the authentication info to use to connect. The defaults will usually work
60 # fine unless you've changed mythtv's mysql.txt file, or are running MythWeb on
61 # a different server from your main backend. Make sure you have mod_env enabled.
62 #
63 setenv db_server "localhost"
64 setenv db_name "mythconverg"
65 setenv db_login ""
66 setenv db_password ""
67
68 #
69 # By default, MythWeb uses the hostname program to look up the hostname of the
70 # machine it runs on. If this reports incorrect data, or you run MythWeb on a
71 # machine without the hostname program, set this to your current hostname.
72 #
73 # setenv hostname "my_mythbox"
74 #
75
76 # By default, php will always search the current directory for include files,
77 # but if you wish to install these directories outside of the current path
78 # (eg. for security reasons), set this variable to the directory that
79 # contains the directories like languages and templates. eg.
80 #
81 # setenv include_path "/usr/share/mythweb"
82
83 # If you want MythWeb to email php/database errors (and a backtrace) to you,
84 # uncomment and set the email address below.
85 #
86 # setenv error_email "mythweb_errors@example.com"
87 #
88
89 # If your local file system is something other than UTF-8, set this variable
90 # so that the music and video portions of MythWeb can provide proper links
91 # to your downloadable files.
92 #
93 # setenv fs_encoding "ISO-8859-1"
94
95 </Files>
96
97 ############################################################################
98 # The following settings relate to PHP config.
99 #
100
101 <Files *.php>
102
103 # These settings are intended for apache 2.x. If your version of apache
104 # doesn't support php_value, or things like memory_limit aren't working
105 # as expected, then use these settings as examples for your own php.ini
106 # files.
107 php_value safe_mode 0
108 php_value register_globals 0
109 php_value magic_quotes_gpc 0
110 php_value file_uploads 0
111 php_value allow_url_fopen On
112
113 php_value zlib.output_handler Off
114 php_value output_handler NULL
115
116 # If you have a large number of channels, you may need to increase this
117 # value to prevent PHP from running out of memory.
118 php_value memory_limit 256M
119
120 # Note: php_flag does not work in older versions of php
121 php_flag output_handler "NULL"
122
123 </Files>
124
125 ############################################################################
126 # The settings below relate specifically to mod_rewrite and the rewrite
127 # engine used to make the MythWeb user experience a little easier to deal
128 # with by simplifying the URLs needed to access the various sections. Do
129 # not touch these settings unless you really know what you're doing..
130 #
131
132 # Turn on the rewrite engine
133 RewriteEngine on
134
135 # If MythWeb is installed outside of the document root (eg. using Alias) then
136 # you will need to set this directive to the base URL that MythWeb is visible
137 # from externally. If you do not, the web server will return 'not found'.
138 RewriteBase /mythweb
139
140 # Skip out early if we've already been through rewrites,
141 # or if this is a /css/, /js/ or /cache/ directory request.
142 RewriteRule ^(css|data|images|js|themes|skins|README|INSTALL|[a-z_]+\.(php|pl))(/|$) - [L]
143
144 # Redirect /pl/ requests to the perl cgi handler.
145 RewriteRule ^(pl(/.*)?)$ mythweb.pl/$1 [QSA,L]
146
147 # Redirect most of the remaining URL requests to the main mythweb script.
148 # It will then handle any requests given to it.
149 RewriteRule ^(.+)$ mythweb.php/$1 [QSA,L]
150
151 # If you're experiencing trouble with the previous two lines in your copy of
152 # apache, you could instead use something like:
153 # RewriteRule ^(pl(/.*)?)$ mythweb.pl?PATH_INFO=/$1 [L,QSA]
154 # RewriteRule ^(.+)$ mythweb.php?PATH_INFO=/$1 [L,QSA]
155
156 # Catch anything else that comes through and send it to mythweb.php with no parameters.
157 RewriteRule ^(.*)$ mythweb.php [QSA,L]
158
159 ############################################################################
160 # You really shouldn't need to edit anything below this line, so please
161 # don't unless you know what you're doing.
162 #
163
164 # Allow .htaccess to override whatever it wants from the server config.
165 AllowOverride All
166
167 # Allow browsers to follow symlinks that point outside of the web document
168 # tree. This is how we access music, videos, etc.
169 Options FollowSymLinks
170
171 # MythTV now uses the correct file suffix for mpeg files, so all .nuv files
172 # should actually be NuppleVideo. However, apache probably doesn't know what
173 # those are, so we should tell it.
174 AddType video/nuppelvideo .nuv
175
176 # Specify the MIME type for favicon.ico in case the server configuration
177 # doesn't or in case the server configuration uses the IANA-approved MIME type
178 # (image/vnd.microsoft.icon)--which most browsers won't recognize.
179 AddType image/x-icon .ico
180
181 # Enable mod_deflate. This works MUCH more reliably than PHP's built-in
182 # gzip/Zlib compressors. It is disabled here because many distros seem not
183 # to enable mod_deflate by default, but I strongly recommend that you
184 # enable this section.
185 #
186 BrowserMatch ^Mozilla/4 gzip-only-text/html
187 BrowserMatch ^Mozilla/4\.0[678] no-gzip
188 BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
189 #
190 AddOutputFilterByType DEFLATE text/html
191 AddOutputFilterByType DEFLATE text/css
192 AddOutputFilterByType DEFLATE application/x-javascript
193
194 # This is helpful for mod_deflate -- it prevents proxies from changing
195 # the user agent to/from this server, which can prevent compression from
196 # being enabled. It is disabled here because many distros seem not to
197 # enable mod_headers by default, but I recommend that you enable it.
198 #
199 # Header append Vary User-Agent env=!dont-vary
200
201 # Set up the perl handler so we can stream properly. Do not use mod_perl
202 # because it has a tendency to hold onto child processes, which causes
203 # problems if the browser closes on an in-progress stream.
204 #
205 <Files *.pl>
206 SetHandler cgi-script
207 Options +ExecCGI
208 </Files>
209
210 </Directory>