スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SVNサーバー構築

SVNサーバー構築メモ

目的
ローカル環境でSVNを使ったバージョン管理用のサーバーを準備


■事前準備
1、OSのインストール(パーテションはデフォルト、言語は英語)
2、可能なかぎり余分なパッケージはインストールしない
3、IPアドレスは固定を割り振る
4、インストールサービスと初期設定のyum関連のコマンド
yum -y install yum-fastestmirror
yum -y install httpd
yum -y install samba
yum -y install subversion
yum -y update
yum -y install ntp

echo "server -4 ntp.bit-drive.ne.jp" >> /etc/ntp.conf
/etc/rc.d/init.d/ntpd start
chkconfig ntpd on

reboot



■sambaの設定
※ホスト名でアクセス可能にするためにSambaをインストールします。
log保存用ディレクトリの作成
mkdir /home/log

-- smb.confの内容 ここから --
[global]
 dos charset = CP932
 unix charset = UTF-8
 display charset = UTF-8
 workgroup = WORKGROUP
 server string = svn-server
 netbios name = svn-server
 unix password sync = Yes
 password level = 0
 log level = 2
 log file = /home/log/%m %U.log
 max log size = 5000

 browseable = no
 dns proxy = No
 admin users = root
 hosts allow = 192.168., 127.0.0.1
 security = user
 writable = yes

-- smb.confの内容 ここまで --

起動スクリプト(/etc/init.d/smb)の確認
smbdの記述が無いようであれば、下記にの内容に差し替え
smbの再起動で、nmbも再起動できるように、以下の内容に差し替え。


-- /etc/init.d/smbの内容 ここから --
vi /etc/init.d/smb

#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops the Samba smbd and nmbd daemons \
#              used to provide SMB network services.
#
# pidfile: /var/run/samba/smbd.pid
# pidfile: /var/run/samba/nmbd.pid
# config:  /etc/samba/smb.conf


# Source function library.
if [ -f /etc/init.d/functions ] ; then
  . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
  . /etc/rc.d/init.d/functions
else
  exit 1
fi

# Avoid using root's TMPDIR
unset TMPDIR

# Source networking configuration.
. /etc/sysconfig/network

if [ -f /etc/sysconfig/samba ]; then
   . /etc/sysconfig/samba
fi

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 1

# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ] || exit 6

RETVAL=0


start() {
        KIND="SMB"
        echo -n $"Starting $KIND services: "
        daemon smbd $SMBDOPTIONS
        RETVAL=$?
        echo
        KIND="NMB"
        echo -n $"Starting $KIND services: "
        daemon nmbd $NMBDOPTIONS
        RETVAL2=$?
        echo
        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/smb || \
           RETVAL=1
        return $RETVAL
}

stop() {
        KIND="SMB"
        echo -n $"Shutting down $KIND services: "
        killproc smbd
        RETVAL=$?
        echo
        KIND="NMB"
        echo -n $"Shutting down $KIND services: "
        killproc nmbd
        RETVAL2=$?
        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb
        echo ""
        return $RETVAL
}

restart() {
        stop
        start
}

reload() {
        echo -n $"Reloading smb.conf file: "
        killproc smbd -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

rhstatus() {
        status smbd
        RETVAL=$?
        status nmbd
        RETVAL2=$?
        if [ $RETVAL -ne 0 ] ; then
                return $RETVAL
        fi
        if [ $RETVAL2 -ne 0 ] ; then
                return $RETVAL2
        fi
}


# Allow status as non-root.
if [ "$1" = status ]; then
       rhstatus
       exit $?
fi

# Check that we can write to it... so non-root users stop here
[ -w /etc/samba/smb.conf ] || exit 4



case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  reload)
        reload
        ;;
  status)
        rhstatus
        ;;
  condrestart)
        [ -f /var/lock/subsys/smb ] && restart || :
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}"
        exit 2
esac

exit $?


-- /etc/init.d/smbの内容 ここまで --

servcie smb start
chkconfig smb on



■Subversionの初期設定
1、ApacheとSubversionの連携のためmod_dav_svnする
yum -y install mod_dav_svn

2、暗号化のためのmod_sslもインストール
yum -y install mod_ssl

3、Subversionリポジトリの作成
mkdir /home/svn
svnadmin create --fs-type fsfs /home/svn/project


4、Apache経由でディレクトリ内部を操作できるように、リポジトリディレクトリのパーミッションを変更します。
chown -R apache.apache /home/svn/project

5、Basic認証用のパスワードファイルの作成とユーザーの追加
/usr/bin/htpasswd -c /home/svn/project/.htpasswd user
※既存のパスワードファイルが存在する場合は、『-c』オプションは利用しない

6、subvesion設定ファイルの記述
vi /etc/httpd/conf.d/subversion.conf

<Location '/project'>
    DAV svn
    SVNPath '/home/svn/project'
    AuthType Basic
    AuthName "2gou"
    AuthUserFile '/home/svn/project/.htpasswd'
    Require valid-user
</Location>


7、apacheを起動します
service httpd start
chkconfig httpd on


8、動作確認
WEBブラウザで、http://svn-server/project/
※Macの場合、hostファイルに記入するか、http://IPアドレス/project/で行けます。

後は、SVNクライアントからプロジエクト毎のディレクトリを作ってコミットしていくだけです。
関連記事
スポンサーサイト

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

jamasan

Author:jamasan
頑張るサラリーマン

にほんブログ村 サラリーマン日記ブログへ
にほんブログ村
ポチっとお願いします。


出来ればこっちもお願い

リンク
最新記事
最新コメント
最新トラックバック
カテゴリ
カウンター
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。