Debian lenny でポータブルな Subversion Server を作る

Debian (lenny) を使った設定メモ
Subversion が使えるところまで

●準備

Debian — The Universal Operating System

左側の CD ISO images から “testing” distribution をダウンロード。
必要なのは debian-testing-i386-CD-1.iso だけ。

●VirtualBox

今回は VirtualBox 2.1.2 を使っています。

VirtualBox

(1) 仮想マシン作成
  新規→ OSタイプ Linux / Debian を選択 → RAM default の 256MB

(2) 仮想ハードディスク
  新規 → 可変サイズのストレージ
    → 容量必要に応じて(今回はdefault 8GBを選択) → 完了

swap を使うなら、swap 専用に仮想ハードディスクを分けて作成しておいた方が
良いと思われます。

(3) 作られた仮想マシンを選択して「設定」
   CD/DVD-ROM
     → CD/DVD ドライブのマウントにチェック
     → ISOイメージファイルを選択
     → 仮想メディアマネージャに debian-testing-i386-CD-1.iso を追加&選択
   ネットワーク
     → 割り当てを「NAT」から「ホストインターフェース」に変更

1.x の時はコマンドラインで設定が必要だったので、ネットワーク設定は以前より
簡単になっているようです。

(4) キーボードの確認
   キーボードに右 Control キーがあるならそのままで OK
   もし無いなら、メニューのファイル→環境設定→入力
     ここでホストキーを別のキーに変更しておく

(5) 起動
   マウスがキャプチャされた場合(マウスカーソルが消えた場合)は、右 Control
   キーで復帰することをあらかじめ覚えておきます。
   (4) でキー割り当てを変更した場合はそちら。

●Debian install

(1) 起動した画面で「Install」選択
   言語選択 日本語 → あとはインストーラに従う

インストーラのメッセージや手順は etch と同じです。
(PS3 やっぱり Debian 再インストールメモ)

(2) 以下手順

スワップは設定しない方針で。必要になったら別の仮想ハードディスクを作って
割り当てる。または仮想マシンに割り当てる物理メモリ量を増やす。

キーボード配置の選択
  日本 (106 キー)

ネットワークの設定
  ホスト名: 任意
  ドメイン名: 任意

ディスクのパーティショニング
  手動
	→ "IDE1 マスタ (hda) - 8.6GB VBOX HARDDISK" を選択
	→ 「新しいパーティションテーブルを作成しますか?」 はい
	→ "基/論 8.6GB  空き領域" を選択
	→ "新しいパーティションの作成" を選択
	→ サイズ 8.6GB のまま、続ける
	→ "基本パーティション" を選ぶ
	→ マウントポイントが / なっていることを確認して
		"パーティションのセットアップを終了" を選ぶ
	→ "パーティショニングの終了とディスクへの変更の書き込み"
	→ スワップがないと怒られるけど無視 (いいえ を選ぶ)
	→ 書き込みの最終確認が出るので「はい」

root のパスワード、ユーザーアカウントの設定

パッケージマネージャの設定
  別の CD や DVD を検査しますか?: いいえ
  ネットワークミラーを使いますか?: はい
	ミラーを選ぶ
  Debian パッケージ利用調査に参加しますか?: いいえ

ソフトウエアの選択
  デスクトップ環境のチェックを外して、ウェブサーバとファイルサーバを追加
    [ ] デスクトップ環境
    [*] ウェブサーバ
    [ ] 印刷サーバ
    [ ] DNS サーバ
    [*] ファイルサーバ
    [ ] メールサーバ
    [ ] SQL データベース
    [ ] ラップトップ
    [*] 標準システム
  続ける

samba server
  ワークグループ/ドメイン名: 任意
  DHCP から WINS 設定を使うよう smb.conf を変更しますか?: はい

GRUB ブートローダのインストール
  マスターブートレコードに GRUB ブートローダをインストールしますか?: はい

インストールの完了
  メニューの デバイス → CD/DVD-ROM マウントの解除
  続けるを選択し再起動、しばらく待つと login: プロンプトになる。

●Debian の設定

(1) root でログインして ssh を入れる

コンソールでそのまま続けても構いませんが、日本語がでないしテキストのコピペが
出来ないので ssh 入れて putty 使います。

# vi /etc/apt/sources.list

deb cdrom:[Debian GNU/Linux testing _Lenny_ – Official Snapshot i386 CD Binary-1 20090119-04:20]/ lenny main
の行をコメントアウトします。先頭に # を付ける。

# apt-get update
# apt-get install ssh

文字化けしてるけど気にしない。何か聞かれるので Y

# vi /etc/dhcp3/dhclient.conf

send host-name “ホスト名”

send host-name の行のコメントを外してホスト名(サーバー名)を書き込む。

終わったらログアウト

PuTTYjp
puttyjp を起動して、ウィンドウ→変換→文字セットを「UTF-8(CJK)」に変更
ホスト名を入れてログインする

(2) サーバーの設定

以後 root 作業です。

# vi /etc/samba/smb.conf

[homes] の read only を no に変更
read only = no

# smbpasswd -a USER

ユーザーを追加してパスワード登録。(‘USER’ は作成した個人アカウント)
これでファイルなどの転送が Windows の explorer からできます。

# apt-get install subversion
# apt-get install libapache2-svn libapache2-mod-encoding

dav_svn の設定はマニュアルを参考にします。

# more /usr/share/doc/libapache2-svn/README.Debian

/etc/apache2/mods-available/dav_svn.conf を見よ、と 1行しか書いてなかった。

# cd /etc/apache2
# vi mods-available/dav_svn.conf

下記の行のコメントを外す (必要に応じて書き換える)


  DVA svn
  SVNPath /var/lib/svn
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  Require valid-user

SVNPath の代わりに SVNParentPath を使うと複数のリポジトリを指定出来るように
なるとのこと。Windows の apache2 で dav_svn を設定するとこちらになるので
前から違うなと思ってましたが、、ここにありました。

# a2enmod auth_basic authn_file
# htpasswd -c /etc/apache2/dav_svn.passwd USER

Basic 認証のユーザー登録。’USER’ 部分は置き換えてください。

リポジトリ作成。(既存のリポジトリをコピーして使うなら不要)

# svnadmin create /var/lib/svn

ポート番号などの設定を変えるなら次も書き換える。変更しないなら不要

# vi ports.conf
# vi sites-available/default
# vi sites-available/default-ssl

SSL の設定はやはりマニュアルを参考にする。

# zmore /usr/share/doc/apache2/README.Debian.gz

設定方法が書いてありました。手順通りに実行してみます。

# apt-get install ssl-cert
# make-ssl-cert generate-default-snakeoil –force-overwrite
# a2ensite default-ssl
# a2enmod ssl
# /etc/init.d/apache2 restart

これは self-signed のみのサンプルです。必要に応じて変更してください。
今回の用途は家庭内サーバー用。

(3) 確認

PC や他のマシンのブラウザで確認します。うまくいけば次の通り。

http://作成したサーバー/svn
https://作成したサーバー/svn

ユーザー名とパスワードが必要。空のリポジトリが表示される。

関連エントリ
PS3 やっぱり Debian 再インストールメモ