MythWeb readme

From MythTV

Jump to: navigation, search

This page is a copy of an external document. It has been copied into the wiki for convenient reference by readers (it may have been stored within a tarball or zipfile in its native location, or otherwise require extra work to link to). You should not edit it here on the wiki, as these changes will likely not make it back into the original. Most such documents include the address of their author; if you see a necessary correction, you can mail it to that person.

This is the README file for the MythWeb package. January 17, 2006

Version: .19 pre (c) 2002-2006

  • Thor Sigvaldason <mythtv(a)lamedomainname(o)com>
  • Isaac Richards <ijr(a)po(o)cwru(o)edu>
  • Chris Petersen <mythweb(a)forevermore(o)net>

with contributions from many people including:

  • Michael Kedl <kedlm(a)knology(o)net>
  • Jonathan Kolb <jkolb(a)greyshift(o)net
  • Ed Wildgoose <edward(o)wildgoose(a)frmhedge(o)com>
  • Kenneth Aafloy <ke-aa(a)frisurf(o)no>


MythWeb is distributed under the GNU GENERAL PUBLIC LICENSE version 2, and where noted with the @license tag, the LESSER GENERAL PUBLIC LICENSE version 2. Please see http://www.gnu.org for details and the specific text of the license.


Contents

About

MythWeb is a set of php files intended (note the use future tense) to let you access your listings, flag shows for recording, delete recordings, etc., from a web browser. At some point in the future, it may allow you to play your recorded content (music and/or(?) video) across a network. Then again, it may not.

Note that MythWeb is totally insecure and makes no pretense of including any security mechanisms of any sort. You should really only run it on an isolated network or (at the very least) behind a well secured firewall.

Editor's note: If you're going to run a MythWeb that you can access from outside your LAN, say, through a router pass-through, make sure you secure it using .htaccess: Securing MythWeb --Baylink 16:29, 12 February 2006 (UTC)

Installation

First of all, you need mythTV, which you should be able to track down at http://www.mythtv.org


In addition to all the various things required to get MythTV up and running (which are documented in the main MythTV source), you need apache and php up and running on the same machine as MythTV:


Current versions of these in use by the MythWeb developer(s) are 2.0.x for Apache and 4.3.x for php. Make sure to build both according to the instructions at the php home site, and be sure to include support for MySQL when building PHP.

In short to build Apache2 you will issue

./configure --enable-so --enable-rewrite --enable-env
make
make install

In order for the included .htaccess to work properly, you will need to set apache's "AllowOverride" setting to "All" (or at least "Options") for the root mythweb directory. Add the following code to the end of apache2.conf (likely found in /etc/apache2 ). This directive lives within <Directory/> tags, so make sure you're changing the setting for the correct directory. eg

<Directory /var/www/html/mythweb>
  Options FollowSymLinks
  AllowOverride All
</Directory>

You will also need to make sure that the following apache modules are enabled:

  • mod_env
  • mod_rewrite


Somewhere in or off your root directory for htdocs (/www/htdocs if you followed the instuctions at php.net), you should copy all the files included in this distribution. To make sure you get images subdirectory, you should do something like:

   cp -r . /wwww/htdocs/myMythWebDirectory


Next, you need to make sure that your web server can write to the data directory. This should be as simple as: **

   chgrp -R apache /wwww/htdocs/myMythWebDirectory/data
   chmod g+rw /wwww/htdocs/myMythWebDirectory/data
Some distributions run apache as "nobody/nogroup" so please be aware that you may need to consult your /etc/httpd/httpd.conf file to verify which user/group apache is set to run as.


Finally, and THIS IS VERY VERY IMPORTANT, you should then edit the files config/conf.php and .htaccess (instructions for what to set are included in the file). That's it. Point your web browser at http://your_machine_name/your_mythweb_path/ What could be simpler?


Did you read the THIS IS VERY VERY IMPORTANT note in the previous paragraph? People seem to skip over the config file and for some reason assume that mythweb will just work with no configuration. While I've tried to make it as auto-detecting as possible, it often still needs some hand-editing.

FAQs

Q: Where can I download the software?

A: MythWeb is in the MythTV Plugins package. Download interactively from the MythTV web site, or programmatically from http://ftp.osuosl.org/pub/mythtv/mythplugins-0.20a.tar.bz2.

Q: Why don't my sessions stick? (often manifests as sorting issues or settings not storing properly)

A: Make sure that apache's AllowOverride setting is correct, as detailed in INSTRUCTIONS above. You could also try enabling authentication. MythWeb now stores special session information for authenticated users so that you always get your own settings when logging in, no matter where you connect from.


Q: Why is my browser trying to display the PHP code instead of the server executing it for me?

A: First, make sure that you have PHP enabled in your webserver settings. Once you have made sure that this is the case, look at the .htaccess file included with mythweb and remove (or comment out) the lines that mention "zlib". It seems that some installations don't like these settings in .htaccess. If you wish to enable compression (I suggest you do, since it significantly speeds up page-load times), you can safely re-enable these settings in /etc/php.ini.


Q: I want to access mythweb from the rest of the internet. How do I make it more secure?

A: The main .htaccess file contains commented-out apache controls for enabling htpasswd password authentication. If you uncomment these, and create /var/www/htdigest (see `man htdigest` for details on how to do this), you will have some rudimentary password protection. Combine this with making your mythweb connect only via SSL (see your webserver documentation for details), and you will have mythweb as secure as you can get without some fancy firewall rules.


Q: I've changed my theme to one that doesn't have a "settings" section. Help!

A: Access any of the mythweb files and include RESET_THEME=yes among the URL parameters (eg. http://my.mythweb.tld/settings?RESET_THEME=yes). This will reset your theme to Default, where you can readjust your settings as needed.


Q: I can't open the status link, and get an error about url_fopen, what's wrong?

A: Some distributions (gentoo in particular) disable the allow_url_fopen setting by default, and php ignores this setting in the included .htaccess file. You will need to edit your /etc/php.ini file (or wherever it is in your distribution) and set the value of allow_url_fopen to On. On gentoo I had to put ¨php_admin_flag allow_url_fopen on¨ in /etc/apache2/vhosts.d/default_vhost.include


Q: I've fixed a bug (or added a feature), how do I submit my patch?

A: First, create your patch against mythweb SVN with `svn diff`, having made sure that your code is indented with 4 spaces and not tabs. Next, post the patch on the MythTV Trac Server ( http://svn.mythtv.org/trac/ ) as described on the Trac server's home page. Please include a detailed description of your patch on the ticket. Select the ticket Type "patch", Component "mythweb", and type 'xris' into the "Assign To" text box. If you don't hear back from me or see the patch committed right away, don't worry. As long as you follow these instructions, I will at least get back to you one way or another -- eventually.

Plan/TODO

  • Add more settings (recording profiles, etc)
  • Find a way to integrate nuvexport and/or mythtranscode
  • Clean up the inteface.


Submitting Patches

I'm always open to people submitting patches. Please submit the patch as described in the final FAQ above.

Please create patches against the most recent version of SVN. I can deal with other "diff -u" patches, but if there have been any major changes in SVN (there occasionally are), I won't put much effort into trying to make your patch work, so please just use SVN.

Personal tools