- 1 Introduction
- 2 Key Features
- 3 Installation
- 4 Usage
- 5 Securing Mythweb
- 6 Alternative Skins
- 7 Troubleshooting
- 7.1 Browser only showing a directory listing
- 7.2 Apache won't start: "Invalid command 'php_value'"
- 7.3 Browser says "Not Found"
- 7.4 Incompatible protocol version
- 7.5 Failure to detect wap/wml devices when secured
- 7.6 Database connection issues
- 7.7 Cannot play back recordings from index
- 7.8 Streaming Music via Mythweb
- 7.9 MythVideo error on Mythweb
- 7.10 Time Stamp is off by an hour
- 7.11 Thumbnails are not generated
- 7.12 Errors showing Backend Status page
- 7.13 Channel Icons are not appearing
- 7.14 SELinux issues
- 7.15 Internal Server Error when attempting to stream a program
- 7.16 404 error when attempting to stream a program
- 8 See Also
MythWeb provides a frontend for scheduling and managing recordings on your MythBox from a web browser located on another machine. Provided the security is set up correctly on your MythBox you can access your machine from anywhere on the internet, or even your mobile phone as long as you have a compatible browser.
Mythweb also has some unique capabilities that are only available through the web interface such as allowing for the change of key bindings and other settings. Indeed, many functions you might want to perform on your MythBox are faster or easier through MythWeb. Don't confuse this with MythBrowser which is a web page browser that is accessible through MythFrontend.
Browse your Music Collection and download to your local machine for direct playback.
The interface allows you to search and browse the playlists you have set up in MythMusic. You can also put together new playlists in the web interface.
The interface also provides buttons that when pressed will stream the music in the playlist over HTTP to your browser (via a .m3u file). Your browser needs to know what to do with the file - e.g. start up a music player. Not all players seem to cope well with the file that is sent; VLC seems to work ok.
Browse your Video collection and download to your local machine
Get weather reports as per MythWeather.
Show the Backend Status Logs such as how much disk space and tuners that are recording
Show key statistics such as Top Recorded Shows
Show the Server Logs.
In 0.27 database logging is disabled by default, and only enabled via the Mythbackend command line. In this case the Server Logs cannot be displayed and an error message is displayed.
Configure MythWeb and some of the MythTV settings such as:
- MythWeb session settings
- MythTV global defaults
- MythTV channel info
- MythTV key bindings
- MythTV settings table
For a general installation guide see MythTV-HOWTO, otherwise see the distribution specific pages.
Once MythWeb is installed, you can simply access MythWeb from any web browser.
URL for accessing mythweb from browser on same machine as MythTV use
URL for remote access to MythTV from home network use
http://192.168.0.100:80/mythweb (replace 192.168.0.100 with your local IP address) or http://mythtv-hostname:80/mythweb (you can use the computername you assigned to the MythTV PC)
URL for remote access to MythTV from Internet use
http://18.104.22.168:80/mythweb (22.214.171.124 is your WAN IP.) (If you don't know your WAN IP, use www.whatismyip.com to figure this out)
However, you will not be able to remotely access your MythTV machine until you open the port to your PC. You need to enter your home router and enable port forwarding. You need to manually change some settings in your router that let it know that you want traffic from outside the home network to enter your home network. And you want that outside traffic to be sent directly to 192.168.0.100 (the IP address of the MythTV backend) on port number 80 (which is the default port for the apache HTTP server).
Also note that your ISP may block all traffic on port 80 because they do not want residential customers to be running HTTP servers. So you may need to change the default port 80 to some other number (e.g. 8080). Don't forget to change your router's settings to forward port the incoming port 8080 to the internal network's port 80.
Importantly most users have dynamically assigned IP addresses from their ISP. This means that your ISP can change your WAN IP at any time and if this occurred while your away from your home, you would not know what the new IP address is and therefore you would not be able to access your MythTV remotely. The way to prevent this from happening is to use dynamic DNS. There are many free choices which will allow you to map any changes that your ISP makes to your home IP address. This will allow you to maintain a connection to your home computer regardless if any changes to your IP address were made.
Lastly, don't forget that you still need to modify your home computer's configuration to grant your remote computer access. This means that you may need to change a few files. Notably, if you're accessing a linux systems (ubuntu/kubuntu/etc), change these files: /etc/hosts.allow and /etc/hosts.deny.
Favicons For Your Server
Here is a favicon.
- Main article: Securing MythWeb
If your web server is accessible from the internet it is important that you secure MythWeb with some kind of authentication. See the main article for further details for your distribution.
MythWeb uses the concept of skins to give the user the power to edit/change the look and feel. The skins are based on CSS files that can be customized.
Following list of available skins can be install additionally to the default one:
To install the skins, extract them to the mythweb/skins/ directory.
Browser only showing a directory listing
If your web browser is only showing a directory listing when you point it to mythweb, check that your mythweb configuration file is set properly for Apache. This file (mythweb.conf) can typically be found in the /etc/apache2/modules.d directory, but if it does not exist, you can easily make a symlink:
ln -s /var/www/localhost/htdocs/mythweb/mythweb.conf.apache /etc/apache2/modules.d/mythweb.conf
or alternately (depending on your configuration)
ln -s /usr/share/webapps/mythweb/0.26.0/conf/apache-mythweb.conf /etc/apache2/modules.d/mythweb.conf
Once you have verified that the file location/symlink is correct, edit the file and check that the paths inside it are correct.
Apache won't start: "Invalid command 'php_value'"
If Apache fails to start after installing MythWeb, giving the error:
Syntax error on line 113 of /etc/apache2/modules.d/mythweb.conf: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
Double check that the PHP5 module is being loaded.
APACHE2_OPTS= "..." (add "-D PHP5" to the list)
Browser says "Not Found"
If you receive an error message such as the following:
"Not Found - The requested URL /mythweb.php/mythweb/ was not found on this server."
then double-check your mythweb.conf configuration file to ensure that the directories are correct.
In my case, I had to change:
<Directory "/var/www/localhost/htdocs/mythweb/data"> Options -All +FollowSymLinks +IncludesNoExec </Directory> <Directory "/var/www/localhost/htdocs" >
<Directory "/var/www/localhost/htdocs/mythweb/data"> Options -All +FollowSymLinks +IncludesNoExec </Directory> <Directory "/var/www/localhost/htdocs/mythweb" >
Incompatible protocol version
After updating mythtv and mythplugins you may find that mythweb gives an error like
Error at /var/www/localhost/htdocs/mythweb/includes/mythbackend.php, line 172: Incompatible protocol version (mythweb=40, backend=41) Fatal Error at /var/www/localhost/htdocs/mythweb/includes/mythbackend.php, line 39: Unable to connect to mythbackend, is it running?
The version numbers may be different, but the point is that they don't match between mythtv and mythweb. The problem is that even if you build and install the latest mythplugins, this does not install mythweb. You must copy the latest mythweb code to the directory from which it is served by the web server. For example:
cp -r mythplugins/mythweb/* /var/www/html/
Failure to detect wap/wml devices when secured
If MythWeb is secured it will use the logged in username to record the mythweb settings including the template/skin. This is great if you are browsing mythweb from different PCs but will bypass the detection of mobile (wap/wml) devices. A simple workaround is to ensure you setup a different userid to authenticate with from your phone. --Lwoggardner 12:08, 14 October 2006 (UTC)
The user settings are stored in the table mythweb_sessions. To reset the stored session information for a particular user, simply delete the record for that user:
DELETE FROM mythweb_sessions WHERE id = 'user:<username>'
In a contribution to the mythtv-users list on 4 December 2008, Michael T. Dean suggested that the following may also fix the issue:
Database connection issues
If you have edited your .htaccess db values to match your mysql.txt file and still cannot connect to database you may have mysql database problems. Try:
GRANT ALL ON mythconverg.* TO mythtv@localhost IDENTIFIED BY 'mythtv'
WITH GRANT OPTION
Cannot play back recordings from index
If you can browse the recording index but cannot play back a recording then check if your /etc/mythtv/config.xml is valid.
Hi - for the archive. Symptom: Mythweb movie artwork does not show. Symptom: In /var/log/apache/error.log there are a bunch of errors like: [Mon Jul 09 11:51:57 2012] [error] [client 192.168.1.44] Cannot connect to database: , referer: http://192.168.1.20/mythweb/video [Mon Jul 09 11:51:57 2012] [error] [client 192.168.1.44] , referer: http://192.168.1.20/mythweb/video [Mon Jul 09 11:51:57 2012] [error] [client 192.168.1.44] Compilation failed in require at /var/www/mythweb/mythweb.pl line 61., referer: http://192.168.1.20/mythweb/video [Mon Jul 09 11:51:57 2012] [error] [client 192.168.1.44] Premature end of script headers: mythweb.pl, referer: http://192.168.1.20/mythweb/video [Mon Jul 09 11:51:57 2012] [error] [client 192.168.1.44] DBI connect('database=mythconverg:host=localhost;port=3306','mythtv',...) failed: Access denied for user 'mythtv'@'localhost' (using password: YES) at /usr/share/perl5/MythTV.pm line 351, referer: http://192.168.1.20/mythweb/video (obviously the 192.168.1.20 is the address of my mythtv box, yours might be different) I'm not sure what the root cause of the problem is, but I think mythweb is using /etc/mythtv/config.xml by default. On my fresh installation of Mythbuntu 12.04 this is an empty file. I removed the 0 byte file, and symlinked to the real config.xml in my configured user directory e.g.: cd /etc/mythtv sudo rm config.xml sudo ln -sf /home/<your-user-name>/.mythtv/config.xml config.xml Having this empty config.xml causes mythweb not to be able to connect to the database for the artwork. It does seem to be able to connect for other things, so I'm not 100% sure what the matter is. hope this helps someone, cheers, -kt
Streaming Music via Mythweb
If Streaming Music over Mythweb is not working check to confirm that there is a link to your music directory in mythweb/data. If your music is stored in /mythtv/music and your web directory is /var/www/html/mythweb then you would need to add a link like.
ln -s /mythtv/Music /var/www/html/mythweb/data/music
Then confirm that it worked
MythVideo error on Mythweb
Could not create a symlink to /content/dvd, the local MythVideo directory for this hostname (hostname). Please create a symlink to your MythVideo directory at data/video in order to use the video portions of MythWeb.
I could fix this by deleting the symlink /var/www/html/mythweb/data/video with this command "rm /var/www/html/mythweb/data/video". This would allow mythweb to pull up the video page without the artwork, but when I would refresh it I would get the error. Notes:
My Video Directory: /content/dvd
This is related to permissions in the /content folder. So I did this
chown -R mythtv:apache /content chmod -R 755 /content
I had the same problem and found out that the symlink was not created properly. If you create a new symlink in the mythweb data folder (www/mythweb/data) to your video folder and video cover folder everything works fine. The error should tell you which file to link to using the following command
ln -s target_file video ln -s target_file video_covers
where target file is the location of your video and video_cover folders respectively.
Time Stamp is off by an hour
Arizona does not follow daylight savings time. PHP can't read the system timezone causing the Mythweb time to be an hour fast. The following needs to be set in php.ini:
[Date] ; Defines the default timezone used by the date functions
date.timezone = America/Phoenix
If your timezone has daylight saving which moves from year to year, you might experience this problem. This is because PHP does not use the system timezone information but has its own timezone database built in. System timezone information is easily updated (e.g. yum update tzdata) and if your system clock is wrong you probably should. The compiled-in data of PHP is not easily updated and reflects what the developers of PHP thought was correct when it was coded at some time in the past. The times in the MythTV database may be correct even though they show incorrectly in MythWeb. This happened in timezone Australia/Sydney in March/April 2008 when the daylight saving change was moved back by one week - MythWeb times were one hour out for the week and then corrected themselves.
To resolve future issues with daylight savings timezones being altered it may be neccessary to update or install the php timezone database. The following process was used successfully to install the php timezonedb with Ubuntu 7.10 (Gutsy).
sudo apt-get install php-pear sudo pecl install timezonedb
Thumbnails are not generated
Check this fix and make sure that
allow_url_fopen = On
in your php.ini.
Errors showing Backend Status page
If you receive errors such as:
Error at /var/www/localhost/htdocs/mythweb/modules/status/handler.php, line 29: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration
when you open the "Backend Status" page, then you need to enable/install the curl plugin for php.
sudo apt-get install php5-curl
yum install curl curl-devel
The error should be resolved after a restart of the web server.
Alternatively you can enable fopen in your php configuration file, but this is not recommended due to potential security issues with fopen.
To do this, find the following line:
allow_url_fopen = Off
and change it to:
allow_url_fopen = On
Channel Icons are not appearing
If you do not see channel icons in the listings page, there are three possible problems:
- 1) The option is not enabled
- Click the "Settings" button (a picture of a key & wrench), click the "MythWeb" button on the left, click the "MythWeb Defaults" tab, and verify that there is a check in the box for "Show the channel icons"
- 2) The channel icons have not been retrieved
- Run mythtv-setup, select "Channel Editor", select "Icon Download", and then select "Download all icons" from the list. Further information on channel icons is available in the Channel_icons page.
- 3) Icons have not been converted to the latest standard
- For version 0.27 and above, see Channel_icons#Universal_Location
If you get an error something like:
Error Unable to connect to the master backend at 127.0.0.1:6543. Is it running?
you are sure the backend is running, and you are running Fedora or some other distribution which uses selinux, this may be the problem - selinux does not allow apache to talk to mysql in the default policy. Try
to test this theory, and to make it permanent:
setsebool -P httpd_can_network_connect=1
If that doesn't work, try:
to test this theory, and make the change permanent, if you wish, via /etc/sysconfig/selinux:
SELINUX=permissive # or SELINUX=disabled
Internal Server Error when attempting to stream a program
If you receive an "Internal Server Error" page when you click either the 'stream' or the 'download' icons next to a recorded program, the issue will likely be described in the Apache error log file. If the error is the following:
[error] (13)Permission denied: exec of '/var/www/localhost/htdocs/mythweb/mythweb.pl' failed
then check the permissions on the mythweb.pl file to make sure that it has execute permissions enabled.
404 error when attempting to stream a program
If you receive a message like this:
The requested URL /mythweb/mythweb.pl/pl/stream/3006/1357002000.asx was not found on this server.
then there is some problem with the Apache2 CGI setup.
One thing to try if /etc/apache2/mods-enabled/cgi.load does not exist:
cd /etc/apache2/mods-enabled/ sudo ln -s ../mods-available/cgi.load