공부하면서/기타

[SVN] subversion

omelette master 2022. 10. 3. 16:44

[ 1. 소스 설치 ]

  • RHEL 8
make, gcc, gcc-c++(예전에는 g++이였는데 이름이 바뀐듯)

mkdir -p /service/compire/bld
cd /service/compire

wget https://archive.apache.org/dist/subversion/subversion-1.7.14.tar.gz
wget http://mirror.navercorp.com/apache//apr/apr-1.7.0.tar.gz
wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz
wget https://github.com/sqlite/sqlite/archive/refs/tags/version-3.7.6.3.zip

tar xzf apr-1.7.0.tar.gz
tar xzf apr-util-1.6.1.tar.gz
tar xzf subversion-1.7.14.tar.gz
unzip version-3.7.6.3.zip

cd apr-1.7.0
sed  -i 's/$RM "$cfgfile"/#$RM "$cfgfile"/' configure
./configure --prefix=/usr/local/apr
make
make install

cd ../apr-util-1.6.1/
./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-util
make
make install

cd ../bld
../sqlite-version-3.7.6.3/configure
make
make install

subversion-1.7.14

tar xzf apr-1.4.5.tar.gz
tar xzf apr-util-1.3.12.tar.gz

cd apr-1.4.5/
./configure --prefox=/usr/local/apr
sudo make
sudo make install

cd ../apr-util-1.3.12/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
sudo make
sudo make install

(sqlite3도 컴파일 했지만 이건 나중에 추가 하는걸로...)

cd ../subversion-1.7.14/
./configure --with-apr-util=/usr/local/apr-util --with-apr=/usr/local/apr --with-zlib --without-berkeley-db
sudo make
sudo make install

[ 2. Repo 만들기 ]

mkdir -p /svn/repos
svnadmin create test
(* test 라는 폴더가 생성 되는데, 안에 svn에 관한 기본 셋팅이 되어 있다)

test/
├── README.txt
├── conf
│   ├── authz
│   ├── hooks-env.tmpl
│   ├── passwd
│   └── svnserve.conf
├── db
│   ├── current
│   ├── format
│   ├── fs-type
│   ├── fsfs.conf
│   ├── min-unpacked-rev
│   ├── revprops
│   │   └── 0
│   │       └── 0
│   ├── revs
│   │   └── 0
│   │       └── 0
│   ├── transactions
│   ├── txn-current
│   ├── txn-current-lock
│   ├── txn-protorevs
│   ├── uuid
│   └── write-lock
├── format
├── hooks
│   ├── post-commit.tmpl
│   ├── post-lock.tmpl
│   ├── post-revprop-change.tmpl
│   ├── post-unlock.tmpl
│   ├── pre-commit.tmpl
│   ├── pre-lock.tmpl
│   ├── pre-revprop-change.tmpl
│   ├── pre-unlock.tmpl
│   └── start-commit.tmpl
└── locks
    ├── db-logs.lock
    └── db.lock

[ 2-1. repo 접근 사용자 추가 ]

/svn/repos/test/conf/passwd

[users]
# harry = harryssecret
# sally = sallyssecret
kkyoung=test123

[ 2-2. repo 권한 설정 ]

/svn/repos/test/conf/svnserve.conf 
(이미 svn 서버가 실행중인경우에도 해당 conf파일을 변경하면 적용된다.)

anon-access = read
auth-access = write
password-db = passwd

**[anon-access, auth-access에 관한 내용]**
anon-access 및 auth-access 옵션은 인증되지 않은(익명) 사용자 및 인증된 사용자에 대한 저장소 액세스를 각각 제어합니다.
유효한 값은 "write", "read" 및 "none"입니다.
값을 "none"으로 설정하면 읽기와 쓰기가 모두 금지됩니다. "read"는 읽기 전용 액세스를 허용하고 "write"는 저장소에 대한 완전한 읽기/쓰기 액세스를 허용합니다.
아래 샘플 설정은 기본값이며 익명 사용자는 리포지토리에 대한 읽기 전용 액세스 권한을 갖고 인증된 사용자는 리포지토리에 대한 읽기 및 쓰기 액세스 권한을 갖도록 지정합니다.

**[password-db 관련]**
password-db 옵션은 암호 데이터베이스 파일의 위치를 제어합니다. 
/로 시작하는 경로를 지정하지 않으면 파일의 위치는 이 구성 파일이 포함된 디렉토리에 상대적입니다. 
SASL이 활성화된 경우(아래 참조) 이 파일은 사용되지 않습니다. 
기본 암호 파일을 사용하려면 아래 줄의 주석 처리를 제거하십시오.

[ 3. svn 서버 실행 ]

svnserve -d -r /svn/repos

[ 4. svn 접속 ]

[ 5. 파일 업로드 ]

  • svn 접속후 업로드할 파일을 드래그&드랍

커밋 메시지 같은거 같다

[ 5-1. 인증 정보가 틀릴경우 ]

인증정보를 다시 물어 본다

[ 6. SVN 백업&복구 ]

  • revision은 1 ~8 이 있고
  • 파일은 다음과 같다.

'공부하면서 > 기타' 카테고리의 다른 글

[Linux] Linux, window 개행문자  (0) 2022.11.18
[Linux] nslookup  (0) 2022.11.11
[Maven] Failed to clean project: Failed to delete  (0) 2022.11.07
SSH 자동인증  (0) 2022.10.24
[.Net] Hello World  (0) 2022.10.03