Lunux

RaspberryPi3 その2 motionのインストール・設定

RaspberryPi3を監視カメラに仕立てるためにmotionをインストールした。
http://192.168.xx.xxのネットワークカメラに接続して、動態検知し、検知した際にのみ
動画を保存する仕様にした。

インストール

apt-get install motion

設定

デフォルトのコンフィグファイルが長すぎ。必要と思われる分のみ抜粋した

vi /etc/motion/motion.conf

############################################################
# Daemon
############################################################
daemon off
process_id_file /var/run/motion/motion.pid

############################################################
# Basic Setup Mode
############################################################
setup_mode off
logfile /var/log/motion/motion.log
log_level 4
log_type all

############################################################
# Capture device options
############################################################
norm 1
framerate 100

############################################################
# Motion Detection Settings:
############################################################
threshold 9000

############################################################
# Image File Output
############################################################
output_pictures off
quality 80

############################################################
# FFMPEG related options
############################################################
ffmpeg_output_movies on
ffmpeg_bps 500000
ffmpeg_video_codec mpeg4

############################################################
# Snapshots (Traditional Periodic Webcam File Output)
############################################################
snapshot_interval 0

############################################################
# Text Display
############################################################
locate_motion_mode off
locate_motion_style box
text_right %Y-%m-%d\n%T-%q
text_left CAMERA %t
text_event %Y%m%d%H%M%S
text_double on

############################################################
# Target Directories and filenames For Images And Films
############################################################
snapshot_filename %Y%m%d/%Y%m%d_%H%M%S-snapshot
picture_filename %Y%m%d/%Y%m%d_%H%M%S
movie_filename %Y%m%d/%Y%m%d_%H%M%S
timelapse_filename %Y%m%d/%Y%m%d_%H%M%S-timelapse

############################################################
# Live Stream Server
############################################################
stream_localhost off
stream_auth_method 2
stream_authentication xxxx:xxxx

############################################################
# HTTP Based Control
############################################################
webcontrol_port 8080
webcontrol_localhost off
webcontrol_html_output on
webcontrol_authentication xxxx:xxxx

##############################################################
# Camera config directory - One for each camera.
##############################################################
camera_dir /etc/motion/conf.d

ファイルの保存先は「/mnt/nas/SecureCameras/camera1」とした。

mkdir -p /mnt/nas/SecureCameras/camera1
mkdir /etc/motion/conf.d
vi /etc/motion/conf.d/camera1.conf

camera_id = 1
netcam_url http://192.168.xx.xx:8088
target_dir /mnt/nas/SecureCameras/camera1
stream_port 8081
width 640
height 480

自動起動

vi /etc/default/motion

start_motion_daemon=no
↓
start_motion_daemon=yes
vi /etc/init.d/motion

if start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion; then
↓
if start-stop-daemon --start --oknodo --exec $DAEMON -b ; then
systemctl enable motion
systemctl start motion

logローテーション設定

vi /etc/logrotate.d/motion

logfile /var/log/motion/motion.log {
        rotate 31
        daily
        dateext
        missingok
        notifempty
        nocompress
        copytruncate
}

OracleLinux7 に Oracle Database 12c をインストール

以下の環境に対してOracleDatabase12cをインストールした。

環境

■OS



Oracle Linux 7.1 64bit



※Oracle Vritual Boxを用いて仮想環境で実行



 



■Oracle



Oracle Database 12c Release 1 (12.1.0.1.0) for Linux x86-64



 

インストール手順

1.ユーザー作成

<br />
	groupadd -g 54321 oinstall<br />
	groupadd -g 54322 dba<br />
	groupadd -g 54323 oper<br />
	groupadd -g 54324 backupdba<br />
	groupadd -g 54325 dgdba<br />
	groupadd -g 54326 kmdba<br />
	groupadd -g 54327 asmdba<br />
	groupadd -g 54328 asmoper<br />
	groupadd -g 54329 asmadmin<br />
	

<br />
	useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba oracle<br />
	passwd oracle<br />
	

※パスワードは好きな文字列で設定

2.リソース制限の変更



<code>/etc/security/limits.confに以下を追加</code>



 oracle soft nproc <span class="synConstant">2047</span> oracle hard nproc <span class="synConstant">16384</span> oracle soft nofile <span class="synConstant">1024</span> oracle hard nofile <span class="synConstant">65536</span> oracle soft stack<span class="synConstant"> </span>10240 oracle hard stack<span class="synConstant"> </span>32768</pre> 

OpenVPN使用時にファイルアップロードでエラー

QNAPのOpenVPNサーバーに接続してファイルをアップロード使用とした際に

エラーになることがあったので、対応策をメモしておく。

 

障害内容

 数MBの大きいファイルをアップロードしたら切断エラーが発生。

 小さいファイルはアップロードできる。

 また、たまに成功もする。

 

想定される原因

  パケットサイズが大きすぎる。

  デフォルトだと1450になっている模様。

  Bフレッツだとたぶんパケットサイズは1454にしているので、VPNを通すとサイズが超えるためか。

 

対応策

  OpenVPNクライアントの設定ファイル「openvpn.ovpn」に以下の構文を追加。

 

     mssfix 1300を追加。

 

  これはUDPパケットのパケットサイズを指定する設定。

SubVersionの構築

ソース管理としてSubversionをCentOS5.5にインストールしたので
その時の手順を以下に記載します。
Subversionにはapache経由でhttp,httpsで接続する方法と
subversionにもともとあるsvnserve経由で接続する方法があるが、
今回は簡単なsvnserve経由での構築を行った。

1.subversionのインストール
 yum -y install subversion

2.subversionのリポジトリ(データの保存先)を作成
 svnadmin create /var/subversion
  ※企業などでは通常リポジトリ用のルートディレクトリを作成後、その中に
   案件ごとにリポジトリを分けます。
   自宅では複数のリポジトリは不要なので1つだけ作成しました。

3.設定ファイルの編集
 vi /var/subversion/conf/svnserve.conf
 以下の三行に変更
  anon-access = none
  auth-access = write
  password-db = passwd
 ※パスワードでの認証は必須で、パスワード認証をしないと
  読み込みも書き込みもできない。

4.パスワードファイルの編集
 vi /var/subversion/conf/passwd
 最終行に以下のようにユーザーを追加
 hiro = hogepass

5.xinetdのインストール
 CentOS5.5のデフォルトのオプションだとxinetdがインストールされないため、
 yumでインストールしておく。

 yum -y install xinetd

6.自動起動に設定。inet経由で起動させる。
 サービスの登録を行う。
 vi /etc/services
 下記2行が記述されているか確認。もしなければ追記する。
 svn 3690/tcp # Subversion
 svn 3690/udp # Subversion

7.起動ファイルの作成
 vi /etc/xinetd.d/svn
 以下のように記述する。

 service svn
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/svnserve
server_args = -i -r /home/subversion
}

8.自動起動するようにサービス設定
 /sbin/chkconfig –add svn

9.xinetを起動
 /etc/rc.d/init.d/xinetd start

その後OSを再起動して正常にsubversionに接続できればOK!!!
完了~~~

biffpopのインストール

自宅ではMyDNSを使用してダイナミックDNSを使っているため、
定期的に自宅のグローバルIPアドレスを通知する必要がある。
MyDNSではメール受信処理を自分のアカウントに行えば、
それでグローバルIPアドレスを更新してくれるため、今回は
メール受信を行ってくれる「biffpop」をインストールした。

1.biffpopをダウンロード

[root@developServer ~]# wget http://www.nakata-jp.org/computer/freesoft/biffpop.tgz
2.ダウンロードしたbiffpopを解凍

[root@developServer ~]#tar xvzf biffpop.tgz

3.biffpopをインストール

[root@developServer ~]# cd biffpop/src/

[root@developServer src]# make
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -c -Wall biffpop.c -o biffpop.o
biffpop.c:35 から include されたファイル中:
biffpop.h:17:1: 警告: “TRUE” が再定義されました
/usr/include/krb5.h:7 から include されたファイル中,
/usr/include/openssl/kssl.h:72 から,
/usr/include/openssl/ssl.h:191 から,
biffpop.c:24 から:
/usr/include/krb5/krb5.h:184:1: 警告: ここが以前の宣言がある位置です
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -c -Wall Pop3Client.c -o Pop3Client.o
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -c -Wall ApopString.c -o ApopString.o
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -c -Wall md5c.c -o md5c.o
cc -O3 -DIPv6 -DKILLLIST -DUSE_SSL  -o biffpop biffpop.o Pop3Client.o ApopString.o md5c.o  -lssl

※もしmakeコマンドでエラーが出るならコンパイラが必要かもしれません。

以下のコマンドでコンパイラをインストールしてください。

yum -y install gcc

yum -y install gcc-c++

[root@developServer src]# cp biffpop /usr/bin/

[root@developServer ~]# rm -rf biffpop
[root@developServer ~]# rm -rf biffpop.tgz

4.biffpopの設定ファイルの作成

一度biffpopコマンドを実行すると、root直下に.biffpoprcという設定ファイルが出力されます。

[root@developServer ~]# biffpop
-Config file does not exist : /root/.biffpoprc
+Trying to create new config file.
+New config file created : /root/.biffpoprc

  • ~/.biffpoprc must be configured before running biffpop.
    [root@developServer ~]#

5.設定ファイルの更新

vi .biffpoprc

Replace all < > with appropriate data

#
start          HIROROOM
popserver       メールサーバー名
port            110     # connection port
portv6          110     # connection port for IPv6
username        アカウント名
password        パスワード
mailcheckdelay  600     # default mail check time in seconds
viewallmessages 0       # 0 Shows both unread & total messages
inhibitAPOP     0       # 0 can use APOP
#                        and 1 never use APOP
end

6.メール受信テスト

[root@developServer ~]# biffpop
HIROROOM      mesg : unread 0 / total 0

※こんな感じで表示されればOK

7.biffpopの実行&ログ取得用バッチの作成

[root@developServer biffpop]# mkdir biffpop

[root@developServer biffpop]# cd biffpop/

[root@developServer biffpop]# vi  biffpopExec.sh

#!/bin/sh
#

メールチェックし、DNS更新

#
dateTime=date '+%Y%m%d%H%M%S'
HOME=/root

#

End configuration section

#
export LANG=ja_JP.UTF-8

echo “” >> /root/biffpop/biffpop.log
echo ${dateTime} >> /root/biffpop/biffpop.log
/usr/bin/biffpop >> /root/biffpop/biffpop.log 2>&1

8.CRONで定期的にバッチを実行させる

[root@developServer ~]# vi /etc/crontab

下記の1文を最終行に追加し、30分ごとにチェックするようにする

*/30 * * * * root /root/biffpop/biffpopExec.sh

9.30分ごとにログが出力され、ちゃんとメール受信できているか確認

[root@developServer ~]# less biffpop/biffpop.log

20101103180625
HIROROOM        mesg : unread 0 / total 0