Ticket #6050: mythweb.conf

File mythweb.conf, 9.0 KB (added by eric.bosch@…, 15 years ago)

mythweb.conf

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