217 lines
8.4 KiB
Plaintext
217 lines
8.4 KiB
Plaintext
#
|
|
# Apache configuration directives for MythWeb. Please read INSTALL for setup
|
|
# requirements and troubleshooting, along with the comments in this file.
|
|
#
|
|
|
|
#
|
|
# CHANGE THIS PATH TO MATCH YOUR MYTHWEB INSTALLATION DIRECTORY! e.g.
|
|
#
|
|
# /var/www
|
|
# /home/www/htdocs
|
|
# /var/www/html/mythweb
|
|
# /srv/www/htdocs/mythweb
|
|
#
|
|
Alias /mythweb/ "/usr/share/mythweb/"
|
|
<Directory "/usr/share/mythweb">
|
|
|
|
############################################################################
|
|
# 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 folowing four directives
|
|
# to suit your authentication needs.
|
|
#
|
|
# AuthType Digest
|
|
# AuthName "MythWeb"
|
|
# AuthUserFile /etc/httpd/conf.d/mythweb-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 mysql.txt file, or are running MythWeb on
|
|
# a different server from your main backend. Make sure you have mod_env enabled.
|
|
#
|
|
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 memory_limit 32M
|
|
|
|
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
|
|
|
|
# Note: php_flag does not work in older versions of php
|
|
php_flag output_handler "NULL"
|
|
|
|
</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|[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
|
|
|
|
# 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
|
|
|
|
# Set up the perl handler so we can stream properly.
|
|
#
|
|
# IMPORTANT!! Please see the note in INSTALL section 5.1 that explains why
|
|
# this may not always properly detect mod_perl.
|
|
#
|
|
<Files *.pl>
|
|
<IfModule mod_perl.c>
|
|
SetHandler perl-script
|
|
PerlResponseHandler ModPerl::Registry
|
|
PerlOptions +ParseHeaders
|
|
</IfModule>
|
|
<IfModule !mod_perl.c>
|
|
SetHandler cgi-script
|
|
</IfModule>
|
|
Options +ExecCGI
|
|
</Files>
|
|
|
|
</Directory>
|
|
|
|
<Directory "/usr/share/mythweb/data">
|
|
Options -All +FollowSymLinks +IncludesNoExec
|
|
</Directory>
|
|
|
|
# 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
|
|
</LocationMatch>
|
|
|
|
<LocationMatch .*/music/stream.php>
|
|
Allow from all
|
|
</LocationMatch> |