自宅サーバ移行計画 その1(Subversion)

自宅サーバ(Linux)で動かしているサービスをTS-639(NAS)に移行することにしました。
理由は、暇つぶし電気代削減のためです。
TS-639は、NASですが中身はLinuxであり標準インストール(Webサーバ、PHPMySQL)、sshログインが可能でありパッケージの追加も可能です。スペックも、CPU: Intel Atom 1.6 GHz、Mem:1GBあるので、自分だけで使用するWebサービスのデプロイ先には充分です。

まず、移行の第一弾としてSubversionを移行することにしました。
基本的な作業は、ここを参考にしました。ありがとうございます。

手順は、次になります。

sshサービスの有効化

ipkgからSubversionをインストールするためにTS-639にsshでログインする必要があるので、sshサービスを有効にします。

  1. Home > Network Services > Telnet / SSH ページを開き、"Allow SSH Connection" のチェックをON。
  2. "APPLY"ボタンをクリック。

ipkg のインストール

Subversionパッケージをインストールするために、ipkgをインストールします。
Install Optware IPKG - QNAPediaの手順を参考にしました。
今回は、"Automatic installation via QPKG" の手順で行います。

  1. TS-639の管理コンソールにWebブラウザからログイン。
  2. Home > Applications > QPKG Plugins ページを開き、"Get QPKG" ボタンをクリック。
  3. Optware IPKG (Itsy Package Management System) をダウンロード。
  4. ダウンロードしたOptware_0.99.163_x86.zipを解凍。 -> Optware_0.99.163_x86.qpkgが出来る。
  5. Home > Applications > QPKG Plugins > INSTALLATION ページを開き、"参照" ボタンをクリック。
  6. Optware_0.99.163_x86.qpkgを選択する。
  7. "INSTALL" ボタンをクリック。
  8. Home > Applications > QPKG Plugins > QPKG INSTALLED ページを開き、"Optware" が一覧にあることを確認する。
  9. "Optware" をクリックし、"ENABLE" ボタンをクリック。
  10. "Status" が Enable になることを確認する。

Subversion のインストール

Subversion - QNAPedia の内容を参考にインストールします。

  • TS-639にsshでログイン。
  • 下記のコマンドを実行します。
# ipkg update
# ipkg upgrade
# ipkg install svn
  • 下記のコマンドの実行結果を確認し、正常にインストールされたことを確認します。
# which svn
/opt/bin/svn
# svn --version
svn, version 1.6.6 (r40053)
....

Subversion リポジトリの設定

# mkdir /share/MD0_DATA/svn
# svnadmin create /share/MD0_DATA/svn
# vi /share/MD0_DATA/svn/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
:wq

# vi /share/MD0_DATA/svn/conf/passwd
foo = bar
:wq

Subversion の起動と自動起動の設定

# svnserve -d --listen-port=4000 -r /share/MD0_DATA/svn
# mount -t ext2 /dev/sdx6 /tmp/config
# vi /tmp/config/autorun.sh
(sleep 60; /opt/bin/svnserve -d --listen-port=4000 -r /share/MD0_DATA/svn) &
:wq

# chmod +x /tmp/config/autorun.sh

※Optware-ipkg の起動/停止スクリプト Optware-ipkg.sh の呼び出しが完了するまで、60秒くらいsleepしておく。

Subversion リポジトリのバックアップ

cronにSubversionリポジトリのバックアップを設定します。
TS-639では、crontabで設定しても変更が反映されないので、/etc/config/crontabと(/etc/config/crontabからコピーされる)/tmp/cron/crontabs/adminを同じ内容で編集します。

# vi /etc/config/crontab
0 1 * * * tar cvfz /share/MD0_DATA/Qbackup/svn/svn_`date '+%F'`.tar.gz /share/MD0_DATA/svn/
:wq

# vi /tmp/cron/crontabs/admin
0 1 * * * tar cvfz /share/MD0_DATA/Qbackup/svn/svn_`date '+%F'`.tar.gz /share/MD0_DATA/svn/
:wq

以上