# # 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. # # # Allow from all # Satisfy Any # # # # Allow from all # Satisfy Any # # # CHANGE THESE PATHS TO MATCH YOUR MYTHWEB INSTALLATION DIRECTORY! e.g. # # /var/www # /home/www/htdocs # /var/www/html/mythweb # /srv/www/htdocs/mythweb # # For Apache 2.2 #Options -All +FollowSymLinks +IncludesNoExec # For Apache 2.4+ Options +FollowSymLinks +IncludesNoExec ############################################################################ # 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 # # # 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" ############################################################################ # The following settings relate to PHP config. # # 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 ############################################################################ # 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 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 # If we can auto-detect the headers module, use it Header append Vary User-Agent env=!dont-vary # 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. # SetHandler cgi-script Options +ExecCGI