Changes

From SME Server
Jump to navigationJump to search
3,718 bytes added ,  20:59, 2 November 2013
Line 6: Line 6:  
{{Note box|Future mythTV versions (any later then 0.20.2) will NOT work with SME Server 7.3 since MySQL version 4.1 is the default version with default SME Server 7.3 (MySQL updates not foreseen yet) and newer versions of mythTV *require* at least MySQL version 5.x.
 
{{Note box|Future mythTV versions (any later then 0.20.2) will NOT work with SME Server 7.3 since MySQL version 4.1 is the default version with default SME Server 7.3 (MySQL updates not foreseen yet) and newer versions of mythTV *require* at least MySQL version 5.x.
   −
ATRPM no longer has Myth 0.20.2 which is the last version that supported mysql4. Christian does have these rpm's and can make them available if you need them until SME server 8 is ready. Alternatively, and this is not recommended, you could upgrade to mysql5.
+
ATRPM no longer has Myth 0.20.2 which is the last version that supported mysql4. Christian does have these rpm's and can make them available if you need them until SME server 8 is ready. Alternatively, and this is not recommended, you could upgrade to mysql5. Another alternative is to run the SME Server as a Slave backend and have the Master backend running in a virtual machine on the SME using for example VMWare. This is also documented in this How-to under "Configured as a Slave Backend".
    
Also note that for the ivtv modules, that they do depend on the kernel version. You may be in a situation where the supported ivtv module depends on a kernel you do not have. Chances are over time, that the next SME update will provide the kernel you need. If you are in a hurry, you will need to update your kernel to a matching version. Do this only if you are confident in what you are doing and its impact.}}
 
Also note that for the ivtv modules, that they do depend on the kernel version. You may be in a situation where the supported ivtv module depends on a kernel you do not have. Chances are over time, that the next SME update will provide the kernel you need. If you are in a hurry, you will need to update your kernel to a matching version. Do this only if you are confident in what you are doing and its impact.}}
Line 29: Line 29:  
To be able to install MythTV on SME Server you need to configure the ATrpms and the Dag repository as shown below.
 
To be able to install MythTV on SME Server you need to configure the ATrpms and the Dag repository as shown below.
 
====ATrpms====
 
====ATrpms====
{{Repository|ATrpms}}
+
You need to activate the [[ATrpms]] reposity before installing this contrib.<br />
 +
 
 +
see [[ATrpms|ATrpms repository]] <br />
 +
 
 +
 
 
====Dag====
 
====Dag====
{{Repository|Dag}}
+
You need to activate the [[Dag]] reposity before installing this contrib.<br />
 +
 
 +
see [[dag|dag repository]] <br />
    
===Installation===
 
===Installation===
Line 104: Line 110:  
* Make it all automagically at boot time
 
* Make it all automagically at boot time
 
* Make tv listings (mythfilldatabase) automagically
 
* Make tv listings (mythfilldatabase) automagically
 +
 +
===Updating after SME Upgrades===
 +
During certain SME Upgrades, you may need to update the drivers to match any new kernel versions. This is usually made obvious when your tuners disappear after an upgrade. If your tuners are still working then there should be no reason to update these drivers.
 +
 +
====ivtv drivers====
 +
You should only have to install the new kmdl for ivtv using:
 +
yum install ivtv-kmdl-`uname -r` --enablerepo=atrpms --enablerepo=dag
 +
 +
===Configured as a Slave Backend===
 +
====Rationale====
 +
An alternative to using the SME Server as a Master Backend is to configure it as a Slave Backend to another Mythtv Master Backend Server. There are many ways to organize this and the reader should review the MythTV documentation to determine how they wish to implement it.
 +
 +
An advantage to using the SME Server as a Slave Backend is that a delegated Master Backend can house most of the enhanced functionality including mythweb, MySQL5, and a variety of plugins while keeping the SME Server implementation minimalist.
 +
 +
In my case I run the Master Backend as a Guest application in VMWare running on SME Server. This allows MythTV to run autonomously and I use the SME Server OS only to manage the video capture cards.
 +
 +
====Steps====
 +
The reader should become familiar with MythTV's architecture before implementing this. In essence the steps are as follows:
 +
* Configure Master Backend
 +
* Configure Video Sources on Backend
 +
* Install Mythtv per above Installation instructions EXCEPT for MySQL step. MySQL will run on the master backend.
 +
* Make the needed config changes noted below
 +
* configure needed shared mount points so Master, slave, and frontends all have the same path to shared directories.
 +
* Run Mythtv-setup pn SME Slave as per X-11 Forwarding instructions above
 +
** Under General Settings validate that the IP Address of the Master Backend is correct and that SME's address is defined for this server
 +
** Define capture cards
 +
** Slave Backend should pick up the Video Sources from the Master Backend automatically
 +
** Configure the Input Connections
 +
 +
If there are situations where the Master Backend will come up after the Slave then you will need to kick the slave to restart mythtvbackend when the master comes back on line. This may be a polled mechanism on the slave using cron (such as is used in MythDora). Or it may be an explicit command given by the master when it starts up.
 +
 +
====Config Changes====
 +
The main change is to have Mythtv on the SME Server look for the database on the master backend. This change is made in the '''mysql.txt''' file and is usually located in any of:
 +
/var/lib/mythtv/mysql.txt
 +
/root/.mythtv/mysql.txt
 +
/home/mythtv/.mythtv/mysql.txt
 +
 +
If you followed the above How-To, it should be in the first one. This change is important otherwise you will get bizarre failures where the Slave sees the Master but not the other way around.
 +
 +
Change the first line "DBHostName=xxxx" so that xxxx is the DNS name or IP address of the master backend
 +
 +
====Enable Master to wake up Slave====
 +
If the Slave starts before the master then it will not find the database and mythbackend will terminate. These instructions show you how to use the Master to wake up the slave. An alternative would be to have the slave poll for mythbackend not being active and attempt to revive it periodically.
 +
 +
{{Warning box|It is important that you are comfortable with the following instructions. Improper implementation of this mechanism can lead to a security breach. Other weaknesses in the Mythtv distro of your choice that may allow a breach to its own root could theoretically allow a hacker to access the root of the Slave (ie. SME Server). Implement this mechanism only if you feel comfortable doing so.}}
 +
 +
First you will need to give the master authority to log in to the slave. This can be accomplished by following the SSH Key Howto at http://wiki.contribs.org/SSH_Public-Private_Keys. Specifically steps:
 +
http://wiki.contribs.org/SSH_Public-Private_Keys#On_SME_Server and http://wiki.contribs.org/SSH_Public-Private_Keys#Installing_the_Private_Key_onto_the_Clients
 +
 +
You can do this to allow the master's root user to log into the slave's root user. Test that it works by executing from the master "'''ssh slaveAddress'''". If you did it correctly, no password will be required.
 +
 +
Next you will want to create a script in a directory readable by the mythtv user but only writable by root. For example /root. The script (call it SlaveRestart) will contain
 +
ssh root@SlaveAddress /etc/init.d/mythbackend restart
 +
 +
ensure the file is owned by root exclusively and has only read/execute permission for mythtv. Example:
 +
chown root:root SlaveRestart
 +
chmod 555 SlaveRestart
 +
 +
Next is to modify /etc/sudoers. You will need to temporarily allow root permission to write this file.
 +
chmod u+w /etc/sudoers
 +
 +
edit the file and add ",/root/SlaveRestart" to the end of the list of "mythtv" allowed commands. Remember to remove write permission on the file:
 +
chmod u-w /etc/sudoers
 +
 +
{{Warning box|The permissions of the script and directory it is in are important to ensure that this script file can not be modified by someone to create a trojan horse running as root. Test from user mythtv to verify it can not be modified.}}
 +
 +
Now, running mythtv-setup on the master backend, enter the "General" settings and advance to the "Shutdown/Wakeup Options" page. In the field "Startup Command:" enter "sudo /path/to/SlaveRestart".
 +
 +
You can verify that it works both from the command line of the master running as mythtv and by terminating the mythtbackend on the slave, restarting the mythbackend on the master, verifying the slave's mythbackend restarted successfully.
    
===Installing Mythweb in an Ibay===
 
===Installing Mythweb in an Ibay===
Line 153: Line 228:  
* Tested with SME Server 7.2 - Works ([[User:Christian|Christian]] 30 November 2007 (UTC))
 
* Tested with SME Server 7.2 - Works ([[User:Christian|Christian]] 30 November 2007 (UTC))
 
* Tested with SME Server 7.3 - Works ([[User:RequestedDeletion|RequestedDeletion]] 2 January 2008 (UTC))
 
* Tested with SME Server 7.3 - Works ([[User:RequestedDeletion|RequestedDeletion]] 2 January 2008 (UTC))
 +
* Upgrade from 7.3 to 7.4 Tested - Works - Note you may have to update your tuner card drivers ([[User:Christian|Christian]] 14:26, 29 November 2008 (UTC))
    
I decided to use Knoppmyth as my front ends as there seems to be good support including HOW-To's to link things together.  
 
I decided to use Knoppmyth as my front ends as there seems to be good support including HOW-To's to link things together.  
Line 166: Line 242:  
----
 
----
   −
===old page contents===
  −
{{Incomplete}}
  −
  −
  −
MythTV is a GPL licensed suite of programs that allow you to build the mythical home media convergence box on your own using Open Source software and operating systems.
     −
MythTV has a number of capabilities. See the MythTV website for details
  −
  −
http://www.mythtv.org/modules.php?name=MythFeatures <br>
  −
http://www.mythtv.org/docs/mythtv-HOWTO-1.html#ss1.1
  −
  −
A new how-to has been posted [[MythTV-HowTo here]]
  −
  −
====Requirements====
  −
{{Warning box|As SME Server is designed as a secure system using minimal resources it does not contain a window manager like X. You should only run the backend of MythTV on your SME Server, You watch TV on other workstations on your network.}}
  −
  −
Hardware requirements <br>
  −
http://www.mythtv.org/docs/mythtv-HOWTO-3.html
  −
  −
====Dependencies====
  −
This used to be in the instructions above but I have removed them as I don't believe they are required (christian 08-06-29)
  −
As SME Server does not have all software installed for MythTV we need to install some dependencies:
  −
  −
yum install gcc-c++ qt qt-MySQL qt-devel ncurses-devel python-devel zlib-devel dialog subversion
  −
signal-event post-upgrade; signal-event reboot
  −
  −
  −
====Installation====
  −
There are a list of required rpms here,
  −
http://forums.contribs.org/index.php?topic=38591.msg175160#msg175160
  −
  −
Here are the mythtv/ivtv packages I've got installed on my smeserver (from atrpms).
  −
  −
*libmyth-0.20.2_0-0.20.2-165.el4
  −
*libmythavcodec-0.20.2_0-0.20.2-165.el4
  −
*libmythavformat-0.20.2_0-0.20.2-165.el4
  −
*libmythavutil-0.20.2_0-0.20.2-165.el4
  −
*libmythfreemheg-0.20.2_0-0.20.2-165.el4
  −
*libmythlivemedia-0.20.2_0-0.20.2-165.el4
  −
*libmythtv-0.20.2_0-0.20.2-165.el4
  −
*libmythui-0.20.2_0-0.20.2-165.el4
  −
*libmythupnp-0.20.2_0-0.20.2-165.el4
  −
*myththemes-0.20.2-114
  −
*mythtv-backend-0.20.2-165.el4
  −
*mythtv-frontend-0.20.2-165.el4
  −
*mythtv-setup-0.20.2-165.el4
  −
*mythtv-themes-0.20.2-165.el4
  −
*mythweb-0.20.2-165.el4
  −
  −
*ivtv-0.4.10-114.el4
  −
*ivtv-firmware-20070217-13.at
  −
*ivtv-kmdl-2.6.9-55.0.6.EL-0.4.10-114.el4
  −
*ivtv-kmdl-2.6.9-55.0.6.ELsmp-0.4.10-114.el4
  −
*perl-Video-ivtv-0.13-8.el4.at
  −
  −
If I remember correctly I needed the frontend package in order to load some of the graphical libraries needed to run mythtvsetup.  Beyond installing the above (plus dependencies) I enabled [[:X11_Forwarding_on_SME |X11 forwarding]] and configured the system from one of the remote frontends.
  −
  −
====Usage====
  −
  −
Refer to MythTV Documentation ? <br>
  −
Explain a little about setting up the Frontend ?
  −
  −
----
  −
  −
====Other SME/Mythtv resources====
  −
  −
* http://www.stbecker.com/media/howto.html
  −
----
   
[[Category:Howto]]
 
[[Category:Howto]]
 +
[[Category:Media Apps]]

Navigation menu