自宅サーバ移行計画 その1(Subversion)
自宅サーバ(Linux)で動かしているサービスをTS-639(NAS)に移行することにしました。
理由は、暇つぶし電気代削減のためです。
TS-639は、NASですが中身はLinuxであり標準インストール(Webサーバ、PHP、MySQL)、sshログインが可能でありパッケージの追加も可能です。スペックも、CPU: Intel Atom 1.6 GHz、Mem:1GBあるので、自分だけで使用するWebサービスのデプロイ先には充分です。
まず、移行の第一弾としてSubversionを移行することにしました。
基本的な作業は、ここを参考にしました。ありがとうございます。
手順は、次になります。
sshサービスの有効化
ipkgからSubversionをインストールするためにTS-639にsshでログインする必要があるので、sshサービスを有効にします。
ipkg のインストール
Subversionパッケージをインストールするために、ipkgをインストールします。
Install Optware IPKG - QNAPediaの手順を参考にしました。
今回は、"Automatic installation via QPKG" の手順で行います。
- TS-639の管理コンソールにWebブラウザからログイン。
- Home > Applications > QPKG Plugins ページを開き、"Get QPKG" ボタンをクリック。
- Optware IPKG (Itsy Package Management System) をダウンロード。
- ダウンロードしたOptware_0.99.163_x86.zipを解凍。 -> Optware_0.99.163_x86.qpkgが出来る。
- Home > Applications > QPKG Plugins > INSTALLATION ページを開き、"参照" ボタンをクリック。
- Optware_0.99.163_x86.qpkgを選択する。
- "INSTALL" ボタンをクリック。
- Home > Applications > QPKG Plugins > QPKG INSTALLED ページを開き、"Optware" が一覧にあることを確認する。
- "Optware" をクリックし、"ENABLE" ボタンをクリック。
- "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
以上