2014.01.02
カテゴリ:Linux
Raspberry PI に SVNインストール
- SVNことSubVersionをインストールして使えるようにしてみる。
- Apache2インストール
- 外部に公開するリポジトリの場合はApacheでHTTP公開になるということか。他にも方法あるのかもだけど。
sudo apt-get install apache2
- 外部に公開するリポジトリの場合はApacheでHTTP公開になるということか。他にも方法あるのかもだけど。
- SVNインストール
- で、Apache2でsvn使う為にモジュールがいると。
sudo apt-get install subversion subversion-tools libapache2-svn
- で、Apache2でsvn使う為にモジュールがいると。
- SVNリポジトリ作成
- ディレクトリは自動作成か? と思いきやそんなことは無かったので mkdir で作る。
svn ディレクトリ作って rep1 ディレクトリ作ってというのはめんどいので -p オプションで一気に。sudo mkdir -p /home/svn/rep1
sudo svnadmin create /home/svn/rep1
- ディレクトリは自動作成か? と思いきやそんなことは無かったので mkdir で作る。
- Apache2 のSVN関連設定を変更
- リポジトリに使うディレクトリのマッピングや認証方式の定義をここでやる模様。
既存のコメントを適宜外していく。sudo nano /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn> # 有効化 DAV svn # マッピング SVNParentPath /home/svn # 認証方式 AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd # 認証設定ファイル <IfModule mod_authz_svn.c> AuthzSVNAccessFile /etc/apache2/dav_svn.authz </IfModule> # 匿名アクセスを許可? いらないかも <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
- リポジトリに使うディレクトリのマッピングや認証方式の定義をここでやる模様。
- ユーザー追加
- とりあえず user1 追加。-c オプションはファイル作成時のみ付ける。
テキストファイルなのでユーザー情報は more とかで見れる。sudo htpasswd -c /etc/apache2/dav_svn.passwd user1
- とりあえず user1 追加。-c オプションはファイル作成時のみ付ける。
- ユーザー削除
- 削除は -D オプション。
sudo htpasswd -D /etc/apache2/dav_svn.passwd user1
- 削除は -D オプション。
- ユーザー権限ファイル
- 適当に。外部公開しないなら [/] に 全ユーザー許可(* = rw) でもいいかも
sudo nano /etc/apache2/dav_svn.authz
# [RepName:Path] # username | @groupname = [rw] # Group [groups] group1 = test1, test2 # All user read only [/] * = r [#he8f8438] # rep1: testuser write [rep1:/] @group1=rw
- 適当に。外部公開しないなら [/] に 全ユーザー許可(* = rw) でもいいかも
- リポジトリのディレクトリの権限変更
- Apache2 のデフォルト実行ユーザー www-data (/etc/apache2/envvers で定義)を所有者にする
sudo chown -R www-data.www-data /home/svn
- Apache2 のデフォルト実行ユーザー www-data (/etc/apache2/envvers で定義)を所有者にする
- Apache2 再起動
sudo /etc/init.d/apache2 restart
- テスト
- TortoiseSVNでリポジトリに接続
- なんだか /svn を開くと 403 Fobbiden になるようだが、これは別途対策が必要らしい。