Memo/PT2/CentOS

http://dexlab.net/pukiwiki/index.php?Memo%2FPT2%2FCentOS
 


CentOS

  • XBMCのインストールがうまくいかなかったため、XBMCを使いたい場合はUbuntu の方が良いでしょう

sambaでtsファイル共有

  • iptables
    1. vi /etc/sysconfig/iptables
    2. ----
    3. # samba
    4. -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -s 192.168.1.0/24 -j ACCEPT
    5. -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -s 192.168.1.0/24 -j ACCEPT
    6. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -s 192.168.1.0/24 -j ACCEPT
    7. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -s 192.168.1.0/24 -j ACCEPT
    8. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 901 -s 192.168.1.0/24 -j ACCEPT
    9. ----
    10. service iptables restart
  • sambaのインストール
    1. yum -y install samba samba-swat
  • ユーザの操作
    1. pdbedit -a -u ユーザー名:ユーザーの追加
    2. pdbedit -x ユーザー名:ユーザーの削除
  • ホームディレクトリ
    1. mkdir /etc/skel/samba
    2. vi mkhomedir.sh
    3. cat > mkhomedir.sh << 'EOS'
    4. #!/bin/bash
    5.  
    6. # /home/ユーザ名/samba ディレクトリを一括作成
    7.  
    8. for user in `ls /home`
    9. do
    10.     id $user > /dev/null 2>&1
    11.     [ $? -eq 0 ] && \
    12.     [ ! -d /home/$user/samba ] && \
    13.     mkdir /home/$user/samba && \
    14.     chown $user:$user /home/$user/samba && \
    15.     echo "/home/$user/samba create"
    16. done
    17. EOS
    18. chmod 755 mkhomedir.sh
    19. ./mkhomedir.sh
  • 共有ディレクトリ作成
    1. mkdir /home/samba
    2. chown nobody:nobody /home/samba
  • samba設定
    1. cat > /etc/samba/smb.conf << 'EOS'
    2. # Samba config file created using SWAT
    3. # from 192.168.1.2 (192.168.1.2)
    4. # Date: 2009/08/09 12:53:05
    5.  
    6. [global]
    7.  smb ports = 139
    8.  debug level = 0
    9.         dos charset = CP932
    10.         unix charset = UTF-8
    11.         display charset = UTF-8
    12.         server string = MediaCenter
    13.         passdb backend = tdbsam
    14.         load printers = No
    15.         disable spoolss = Yes
    16.         ldap ssl = no
    17.         hosts allow = 192.168.1., 127.
    18.         printing = bsd
    19.         cups options = raw
    20.         print command = lpr -r -P'%p' %s
    21.         lpq command = lpq -P'%p'
    22.         lprm command = lprm -P'%p' %j
    23.         map archive = no
    24.   create mask = 0664
    25.   force create mode = 0600
    26.   directory mask = 0775
    27.   force directory mode = 0700
    28.  
    29. [homes]
    30.         comment = Home Directories
    31.         path = %H
    32.         read only = No
    33.         browseable = No
    34.         vfs objects = recycle
    35.         recycle:repository = .recycle
    36.         recycle:keeptree = no
    37.         recycle:versions = yes
    38.         recycle:touch = no
    39.         recycle:maxsize = 0
    40.         recycle:exclude = *.tmp ~$*
    41.  
    42. [printers]
    43.         comment = All Printers
    44.         path = /var/spool/samba
    45.         printable = Yes
    46.         browseable = No
    47.  
    48. [public]
    49.         comment = ftp
    50.         path = /var/ftp
    51.         read only = No
    52.         guest ok = Yes
    53.         vfs objects = recycle
    54.         recycle:repository = .recycle
    55.         recycle:keeptree = no
    56.         recycle:versions = yes
    57.         recycle:touch = no
    58.         recycle:maxsize = 0
    59.         recycle:exclude = *.tmp ~$*
    60.  
    61. [tv]
    62.         comment = pt2
    63.         path =  /var/www/html/epgrec/video
    64.         read only = No
    65.         guest ok = Yes
    66.         vfs objects = recycle
    67.         recycle:repository = .recycle
    68.         recycle:keeptree = no
    69.         recycle:versions = yes
    70.         recycle:touch = no
    71.         recycle:maxsize = 0
    72.         recycle:exclude = *.tmp ~$*
    73. EOS
    74.  
    75. service smb restart
    76. chkconfig smb on
  • ごみ箱内ファイルの自動削除設定(7日間=168時間)
    1. cat > /etc/cron.daily/recyclewatch << 'EOS'
    2. ----
    3. #!/bin/bash
    4. for user in `ls /home/`
    5. do
    6.     if [ -d /home/$user/.recycle ]; then
    7.         /usr/sbin/tmpwatch -f -a 168 "/home/$user/.recycle/"
    8.     fi
    9.     if [ -d /home/$user/samba/.recycle ]; then
    10.         /usr/sbin/tmpwatch -f -a 168 "/home/$user/samba/.recycle/"
    11.     fi
    12.     if [ -d /var/www/html/epgrec/video/.recycle ]; then
    13.         /usr/sbin/tmpwatch -f -a 168 "/var/www/html/epgrec/video/.recycle/"
    14.     fi
    15. done
    16. EOS
    17.  
    18. chmod +x /etc/cron.daily/recyclewatch

インストール

  • ハードウェア構成
    • ケース SA76G2 V2
    • 電源 250W (ベアボーン付属)
    • マザーボード Shuttle SA76(ベアボーン付属)
    • CPU AMD Phenom II X4 905e 65W
    • MEMORY 4.0GB DDR2-800
    • HDD1 HGST HDS721010CLA332(1TB SATA/300)
    • HDD2 WESTERN DIGITAL WD20EARS (2TB SATA300)
    • DVD Sony Optiarc AD-7260S-0B/BK(SATA)
    • PCI1 PT2 Rev.A
    • BCASカードリーダー
  • PC内部にB-CASカードリーダーを内蔵する場合に。マザーボードのUSBピンヘッダ -> USBポート変換
  • 上海問屋で昔購入した「FAPU2」余っていたので使用。左右のネジ固定部がPT2と干渉したので若干カット
  • ソフトウェア構成
    • CentOS 5.5 x86_64
  • アンテナ構成
    1. アンテナ - 2分配器 -- ダブル分波器 - TV
    2.                    |- ダブル分波器 - PT2
    • 2分配器x1
  • ダブル分波器x2
  • pt2が識別されているか確認
    1. lspci
    2.  
    3. 03:0a.0 Multimedia controller: Xilinx Corporation Unknown device 222a (rev 01)
  • PT2ドライバインストール
    1. mkdir -p /usr/local/src/pt2
    2. cd /usr/local/src/pt2
    3.  
    4. yum install mercurial --enablerepo=rpmforge -y
    5. hg clone http://hg.honeyplanet.jp/pt1/ pt2
    6. cd pt2/driver/
    7. make
    8. ※エラーが出ていないことを確認
    9. make install
    10. insmod /lib/modules/`uname -r`/kernel/drivers/video/pt1_drv.ko
  • デバイスができているか確認
    1. ls -l /dev/pt1*
    2. crw-rw-rw- 1 root root 253, 0  211 23:56 /dev/pt1video0
    3. crw-rw-rw- 1 root root 253, 1  211 23:56 /dev/pt1video1
    4. crw-rw-rw- 1 root root 253, 2  211 23:56 /dev/pt1video2
    5. crw-rw-rw- 1 root root 253, 3  211 23:56 /dev/pt1video3
  • 録画用プログラムのインストール
    1. cd /usr/local/src/pt2/
    2. hg clone http://hg.honeyplanet.jp/pt1/ pt2-r73 -r 73
    3. cd pt2-r73/arib25
    4. make
    5. ※エラーが出ていないことを確認
    6. make install
    7.  
    8. cd ../recpt1
    9. make
    10. ※エラーが出ていないことを確認
    11. make install

BCASカードリーダーの設定

  1. cd /usr/local/src/pt2/
  2. yum install glib glib-devel perl-Gtk2  --enablerepo=rpmforge -y
  3. wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/x86_64/os/Packages/pcsc-perl-1.4.6-2.fc8.x86_64.rpm
  4. wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/x86_64/os/Packages/pcsc-tools-1.4.10-1.fc8.x86_64.rpm
  5. rpm -iivh pcsc-*
  6. hash -r
  7. mv /usr/share/pcsc/smartcard_list.txt /usr/share/pcsc/smartcard_list.txt.bak
  8. cp pt2-r73/b25_docs/smartcard_list.txt /usr/share/pcsc/
  9.  
  10. service pcscd restart
  11. chkconfig pcscd on
  • 確認
    1. pcsc_scan
    2.  
    3. PC/SC device scanner
    4. V 1.4.10 (c) 2001-2007, Ludovic Rousseau <ludovic.rousseau@free.fr>
    5. Compiled with PC/SC lite version: 1.3.3
    6. Scanning present readers
    7. …中略
    8. Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
    9. 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
    10.         B-CAS
    11. ... CTRL+Cで中断
  • 録画コマンドの確認
    1. recpt1 --help
    2.  
    3. Usage:
    4. recpt1 [--b25 [--round N] [--strip] [--EMM]] [--udp [--addr hostname --port portnumber]] [--device devicefile] channel rectime destfile
    5.  
    6. Remarks:
    7. if rectime  is '-', records indefinitely.
    8. if destfile is '-', stdout is used for output.
    9.  
    10. Options:
    11. --b25:               Decrypt using BCAS card
    12.   --round N:         Specify round number
    13.   --strip:           Strip null stream
    14.   --EMM:             Instruct EMM operation
    15. --udp:               Turn on udp broadcasting
    16.   --addr hostname:   Hostname or address to connect
    17.   --port portnumber: Port number to connect
    18. --device devicefile: Specify devicefile to use
    19. --help:              Show this help
    20. --version:           Show version
    21. --list:              Show channel list
    22.  
    23. Available Channels:
    24. 13-62: Terrestrial Channels
    25. 101ch: NHK BS1
    26. 102ch: NHK BS2
    27. 103ch: NHK BShi
    28. 141ch: BS Nittele
    29. 151ch: BS Asahi
    30. 161ch: BS-TBS
    31. 171ch: BS Japan
    32. 181ch: BS Fuji
    33. 191ch: WOWOW
    34. 200ch: Star Channel
    35. 211ch: BS11 Digital
    36. 222ch: TwellV
    37. CS2-CS24: CS Channels
  • テスト録画。
    1. cd /usr/local/src/pt2/
    2.  
    3. cat > rectest.sh << 'EOS'
    4. #!/bin/sh
    5. for ((i=14;i<63;i++))
    6. do
    7.   echo recording channel $i
    8.   /usr/local/bin/recpt1 --strip --b25 $i 30 test$i.ts &> /dev/null
    9. done
    10. EOS
    11.  
    12. chmod 700 rectest.sh
    13. ./rectest.sh

EPG対応録画フロントエンド epgrecのインストール

  • epgdumpのインストール
    1. cd /usr/local/src/pt2/
    2. wget -O epgdumpr2-utf8.tar.gz "http://www.mda.or.jp/epgrec/index.php?plugin=attach&refer=%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%89%8D%E3%81%AE%E6%BA%96%E5%82%99&openfile=epgdumpr2-utf8.tar.gz"
    3. tar xvfz epgdumpr2-utf8.tar.gz
    4. cd epgdumpr2
    5. make
    6. cp epgdump /usr/local/bin
  • apacheユーザのログインシェルを変更。「nologinのアカウントではatコマンドも利用できず、epgrecによる録画予約が機能しません。」
    1. yum install at
    2. ※apacheがある場合は削除
    3. vi /etc/at.deny
    4.  
    5. vi /etc/passwd
    6. ----
    7. apache:x:48:48:Apache:/var/www:/bin/sh
    8. ----
  • httpd.confの変更
    1. cat > /etc/httpd/conf.d/vhost.conf << 'EOS'
    2. ----
    3. NameVirtualHost *:80
    4.  
    5. <VirtualHost *:80>
    6.     ServerAdmin root@localhost
    7.     ServerName 127.0.0.1
    8.     ServerAlias 192.168.1.x
    9.     DocumentRoot /var/www/html
    10.     ErrorLog logs/error_log
    11.     CustomLog logs/access_log combined env=!no_log
    12.     <Directory />
    13.         Options -Indexes FollowSymLinks
    14.         AllowOverride All
    15.     </Directory>
    16.  
    17.     Alias /epgrec /var/www/html/epgrec
    18.     <Location /epgrec>
    19.         DirectoryIndex index.php index.html
    20.         Options -Indexes FollowSymLinks
    21.         AllowOverride All
    22.         Order allow,deny
    23.         Allow from 127.0.0.1
    24.         Allow from 192.168.1
    25.     </Location>
    26.  
    27. </VirtualHost>
    28. ----
  • epgrecのインストール
    1. yum install ffmpeg --enablerepo=rpmforge -y
    2.  
    3. cd /usr/local/src/pt2/
    4. wget -O epgrec-20100322.tar.gz "http://sourceforge.jp/frs/redir.php?m=globalbase&f=%2Fepgrec%2F46492%2Fepgrec-20100322.tar.gz"
    5. tar xvzpf epgrec-20100322.tar.gz -C /var/www/html
    6. find . -uid 1000 /var/www/html
    7. find /var/www/html -uid 1000 | xargs chown apache.
    8.  
    9. cd /var/www/html/epgrec/
    10. cp config.php.sample config.php
    11. cp --archive do-record.sh.pt1 do-record.sh
    12.  
    13. vi config.php
    14. ----
    15. $GR_CHANNEL_MAP = array(
    16.         "GR27" => "27",         // NHK
    17.         "GR26" => "26",         // 教育
    18.         "GR25" => "25",         // 日テレ
    19.         "GR22" => "22",         // 東京
    20.         "GR21" => "21",         // フジ
    21.         "GR24" => "24",         // テレ朝
    22.         "GR23" => "23",         // テレ東
    23.         "GR20" => "20",         // MX TV
    24. //      "GR18" => "18",         // テレ神
    25. //        "GR30" => "30",         // 千葉
    26. //      "GR32" => "32",         // テレ玉
    27. //        "GR28" => "28",         // 大学
    28. );
    29. ----
    30.  
    31. cd /var/www/html/epgrec
    32. cat > .htaccess << 'EOS'
    33. Options Indexes
    34. EOS
  • mysqlのインストール
    1. ※チューニング
    2. vi /etc/my.cnf
    3. ----
    4. innodb_buffer_pool_size=64M
    5. key_buffer_size=16M
    6. ----
    7. service mysqld restart
  • epgrec用dbの設定
    1. mkpasswd -l 16 -s 0 > ~/.mysql-pw-epgrec
    2.  
    3. echo "GRANT ALL PRIVILEGES ON *.* TO epgrec@localhost  IDENTIFIED BY '`cat ~/.mysql-pw-epgrec`';FLUSH PRIVILEGES;create database epgrec;" | mysql -u root mysql
    4.  
    5. ログインできるか確認
    6. mysql -u epgrec -p`cat ~/.mysql-pw-epgrec` -h localhost epgrec
  • 初期設定
    • http://192.168.1.x/epgrec/
    • MySQLホスト名:localhost
    • MySQL接続ユーザー名:epgrec
    • MySQL接続パスワード:設定したパスワード
    • 使用データベース名:epgrec
    • インストールURL:http://192.168.1.x/epgrec
    • サムネールの使用:使用する
    • 地デジチューナーの台数:2
    • BSチューナーの台数:2
    • mediatomb連係機能:使う
  • EPG自動更新設定
    1. cat > /etc/cron.d/getepg << 'EOS'
    2. SHELL=/bin/sh
    3. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    4.  
    5. 29 */2 * * * apache /var/www/html/epgrec/getepg.php
    6. EOS
    7.  
    8. chmod 644 /etc/cron.d/getepg
  • EPG取得 1度目は手動で実行するのが確実
    1. nohup /var/www/html/epgrec/getepg.php &
  • ドロップチェック
    • up0001.zip Multi2Dec Ver.2.10 でエラーチェックができる

mediatombでDLNAクライアントと連携

  1. yum -y --enablerepo=rpmforge install mysql-devel.x86_64 libexif-devel.x86_64 taglib-devel.x86_64 js-devel.x86_64 file.x86_64 zlib-devel.x86_64 expat-devel.x86_64
  2. cd /usr/src/redhat/
  3. wget http://downloads.sourceforge.net/mediatomb/mediatomb-0.12.1.tar.gz
  4. tar xvfz mediatomb-0.12.1.tar.gz
  5. cp mediatomb-0.12.1/mediatomb.spec SPECS/
  6. mv mediatomb-0.12.1.tar.gz SOURCES/
  7. rm -rf mediatomb-0.12.1
  8.  
  9. vi SPECS/mediatomb.spec
  10. ----
  11. BuildRequires: sqlite-devel, mysql-devel, libexif-devel, taglib-devel, file, js-devel, zlib-devel
  12. ----
  13. rpmbuild -ba SPECS/mediatomb.spec
  14.  
  15. rpm -ivh RPMS/x86_64/mediatomb-0.12.1-1.x86_64.rpm
  • mediatomb用dbの設定
    1. mysql -u epgrec -p`cat ~/.mysql-pw-epgrec` epgrec < /usr/share/mediatomb/mysql.sql
  • 設定
    1. vi /etc/mediatomb.conf
    2. ----
    3. MT_INTERFACE="eth0"
    4. ----
    5. service mediatomb restart
    6.  
    7. vi /etc/mediatomb/config.xml
    8. ----
    9.     <storage>
    10.       <sqlite3 enabled="no">
    11.         <database-file>mediatomb.db</database-file>
    12.       </sqlite3>
    13.       <mysql enabled="yes">
    14.         <host>localhost</host>
    15.         <username>epgrec</username>
    16.         <password>パスワード</password>
    17.         <database>epgrec</database>
    18.       </mysql>
    19.     </storage>
    20.  
    21.     <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
    22.  
    23.   <import hidden-files="no">
    24.     <filesystem-charset>UTF-8</filesystem-charset>
    25.     <metadata-charset>CP932</metadata-charset>
    26.  
    27.       <extension-mimetype ignore-unknown="no">
    28.         <map from="jpg" to="image/jpeg"/>
    29.         <map from="jpeg" to="image/jpeg"/>
    30.         <map from="gif" to="image/gif"/>
    31.         <map from="png" to="image/png"/>
    32.         <map from="m4v" to="video/mp4"/>
    33.         <map from="mp4" to="video/mp4"/>
    34.         <map from="mpg" to="video/mpeg"/>
    35.         <map from="mpeg" to="video/mpeg"/>
    36.         <map from="ts" to="video/mpeg"/>
    37.  
    38.         <map from="avi" to="video/divx"/>
    39. ----
    40. service mediatomb restart
    41. chkconfig mediatomb on
  • iptables設定
    1. vi /etc/sysconfig/iptables
    2. ----
    3. # mediatomb
    4. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50500 -s 192.168.1.0/24 -j ACCEPT
    5. ----
    6. service iptables restart

XBMCのインストール

Memo/XBMC/CentOS


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-04-08 (火) 11:07:50 (1479d)