MythWeb
From ArchWiki
Contents |
MythWeb
Introduction
MythWeb is a web interface for MythTV
Installation
Install MythWeb
# pacman -S mythweb
You will also need to install php-apache, the MythWeb package has not yet been updated to depend on this.
# pacman -S php-apache
Change Owner and Group
The files of the mythweb package will be owned by the nobody user and group. Apache now uses the http user and group. You can change the owner of mythweb with:
# chown -R http:http /srv/www/mythweb
Link to the MythWeb Directory
The mythweb package will install to /srv/www/mythweb however the apache package now uses the /srv/httpd directory. You can create a link with:
# ln -s /srv/www/mythweb /srv/http/mythweb
Link to the Video Directory
MythWeb looks in the video_dir directory for MythTV recordings. You will need to create a link to the folder where your MythTV recordings are stored.
# ln -s <recording_dir> /srv/http/mythweb/video_dir
Configuration
MythWeb
Copy the MythWeb configuration file mythweb.conf to the Apache configuration directory.
# cp /srv/www/mythweb/mythweb.conf.apache /etc/httpd/conf/extra/mythweb.conf
Edit mythweb.conf to point it to the correct installation directory (near the beginning of the file).
<Directory "/srv/http/mythweb" >
Then check that the configuration matches your MythTV setup. If you have changed the database login or password you will need to change the following section.
setenv db_server "localhost" setenv db_name "mythconverg" setenv db_login "mythtv" setenv db_password "mythtv"
Apache
Edit the Apache configuration file /etc/httpd/conf/httpd.conf
Uncomment (or add) the line
LoadModule php5_module modules/libphp5.so
Insert the following two lines in the Supplemental Configuration section of httpd.conf, it's found towards the end of the file.
Include conf/extra/php5_module.conf Include conf/extra/mythweb.conf
PHP
Edit the PHP configuration file /etc/php/php.ini
Uncomment the following lines in the Dynamic extensions section.
extension=mysql.so extension=posix.so
Add /srv/www/ to the open_basedir option to allow file operation in the MythWeb directory.
open_basedir = /srv/http/:/srv/www/:/home/:/tmp/:/usr/share/pear/
Enable the allow_url_fopen option for MythWeb's status page to work.
allow_url_fopen = On
Using MythWeb
You can now start the Apache daemon, mythbackend must already be running.
/etc/rc.d/httpd start
Open MythWeb in your browser.
http://localhost/mythweb
Securing MythWeb
It is also probably a good idea to set up password protection for MythWeb if you intend to allow connections from the Internet. To enable authentication open the /etc/httpd/conf/extra/mythweb.conf file and uncomment the authentication section (near the beginning):
AuthType Digest AuthName "MythTV" AuthUserFile /var/www/htdigest Require valid-user BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On Order allow,deny Satisfy any
Now we need to fix the configuration to match how we have MythWeb set up, change the AuthUserFile so it reads
AuthUserFile /etc/httpd/conf/extra/httpd-passwords
If you don't want to access MythWeb from IE you can delete the BrowserMatch line.
You also probably don't want to have to enter your password when you're connecting from your local computer, so add the following line between the last two lines:
Allow from 127. 192.168.1.
This will cause passwordless access from both your local machine AND your local network (provided you're using the 192.168.1.0 255.255.255.0 subnet)
Your config should now look something like:
AuthType Digest AuthName "MythTV" AuthUserFile /etc/httpd/conf/extra/httpd-passwords Require valid-user Order allow,deny Allow from 127. 192.168.1. Satisfy any
Save the file. Now we'll create the httpd-passwords file,
# htdigest -c /etc/httpd/conf/httpd-passwords MythTV MYUSER
Where MYUSER is the username you want to use to access MythWeb. Enter the login password when prompted.
If you need more users:
# htdigest /etc/httpd/conf/httpd-passwords MythTV MYUSER
NOTE: No -c after initial user, otherwise you will overwrite the current file.
Now all we need to do now is restart the apache server for the changes to take effect.
# /etc/rc.d/httpd restart