ラズパイでSVN(SubVersion)環境を作ろう
ラズパイでSVN
Raspberry PiにSVN(SubVersion)の環境を構築します。一般的には複数人で開発するプログラムのソースコードを管理することが多いと思いますが、ここでは知人や個人向けとして使用することを目的としており、ExcelやWordのファイルなどの管理にも使えると考えています。
最終的には外付けSSDやHDDへのデータ保存、外部(知人宅や出先)からの使用を目指します。
準備
準備として、Raspbianインストール済みのラズパイを用意し、sudo apt-get update、sudo apt-get upgradeを済ませておいてください。
また、IPアドレスはDHCPからの取得ではなく、固定IPアドレスを設定しておいてください。
固定IPアドレスの設定については、こちらをご参照ください。
ここでは、以下のRaspbianを使用しています。ラズパイ本体は、Raspberry Pi 3B+です。
Raspbian Buster with desktop and recommended software
Version:February 2020
Release date:2020-02-13
Kernel version:4.19
動作確認用のPCは、Windows10を想定しています。
SVN(SubVersion)のインストール
LXTerminalを起動し、以下のコマンドを入力してください。
sudo apt-get install subversion
sudo apt-get install subversion-tools
「続行しますか?」のメッセージが表示された場合は、Enterキーを押下してください。


続けて、subversion-toolsをインストールします。
「続行しますか?」のメッセージが表示された場合は、Enterキーを押下してください。

Apache(Webサーバ)のインストール
LXTerminalを起動し、以下のコマンドを入力してください。
SVNインストール時と同様、「続行しますか?」のメッセージが表示された場合は、Enterキーを押下してください。
sudo apt-get install apache2
sudo apt-get install libapache2-mod-svn


Apacheを有効化し、再起動します。
LXTerminalを起動し、以下のコマンドを入力してください。
sudo systemctl enable apache2
sudo systemctl restart apache2

以上で、SVNとApacheのインストールが完了しました。次は設定を行います。
最初は動作確認を目的に、最低限の設定を行います。
最終的には、httpでSVNに接続する際には認証(パスワード入力)するようにし、通信の暗号化(SSL化)を行います。
Apacheの設定
Apcheの設定ファイルに追記します。
LXTerminalを起動し、以下のコマンドを入力してください。
sudo mousepad /etc/apache2/mods-available/dav_svn.conf
Apacheの設定ファイルが開きます。最終行に以下の内容を追記してください。
<Location /svn>
DAV svn
SVNParentPath /var/svn/repos
</Location>

Apacheを再起動し、設定内容を反映します。
LXTerminalを起動し、以下のコマンドを入力してください。
sudo systemctl restart apache2
SVN(SubVersion)の設定
SVN用のディレクトリ、リポジトリを作成し、権限を設定します。
LXTerminalを起動し、以下のコマンドを入力してください。
sudo mkdir -p /var/svn/repos
sudo svnadmin create /var/svn/repos/myproj
sudo chown -R www-data:www-data /var/svn/repos

以上で設定は完了です。ラズパイを再起動します。
LXTerminalを起動し、以下のコマンドを入力してください。
sudo reboot
動作確認
ブラウザを起動し、SVNサーバ(ラズパイ)のアドレスを開きます。
ここでは、http://192.168.10.138/svn/myproj とします。
以下のような画面が表示されれば、正常に稼働しています。

SVNを使ってみる
実際にSVNを使ってみます。使用するクライアントは、TortoiseSVNです。
TortoiseSVN公式サイトから、最新版をダウンロードします。2020年5月時点では、version 1.13.1が最新でした。

ダウンロードページをスクロールすると、Language Packsがあるので、Japaneseをダウンロードしておきます。

ダウンロードしたTortoiseSVN-1.13.1.28686-x64-svn-1.13.0.msiを実行してインストールします。
インストールは画面の指示に従って進めます。ここではインストール手順は省略します。
TortoiseSVNのインストール後、日本語パックであるLanguagePack_1.13.1.28686-x64-ja.msiもダウンロードします。こちらもインストール手順は省略します。
インストール完了後、エクスプローラーを起動します。任意の場所で右クリックし、SVNの設定時に作成したmyprojリポジトリからチェックアウトします。
ここでは、Dドライブ上で右クリックし、「SVNチェックアウト(K)…」を選択しました。

チェックアウトのウィンドウが表示されるので、リポジトリのURL(SVNの動作確認時のアドレス)を入力し、チェックアウト先のディレクトリ(ここでは、Dドライブを指定したため、D:\myprojとなっています)を確認して「OK」をクリックします。

以下のようなウィンドウが表示されれば成功です。
ここまでの作業で、SVNサーバとSVNクライアントが使用できるようになりました。

終わりに
今回は最低限の作業のみを行いましたが、個人で利用するには十分な環境だと思います。
今後は、ユーザ認証(パスワード要求)、SSL化(通信の暗号化)、外付けSSD/HDDへのリポジトリ作成、リポジトリのバックアップ/リストアなどに挑戦したいと思います。
ディスカッション
コメント一覧
まだ、コメントがありません