TortoiseSVN 3 🐢

2021-08-11

TortoiseSVN 3 🐢

TortoiseSVN 3 🐢 지난 게시글에 tortoisesvn을 사용해 등록된 저장소를 외부에서 불러와 데이터를 Commit 하는 방법에 대해 알아보았고 이어서 CentOS 환경에서 tortoise svn을 사용하는 방법을 알아본다. 가상환경 구축 먼저 기본적으로 가상머신에 ip 할당해주기 위해 간단하게 nmap를 활용해 내가 쓰고 있는 내부 ip만을 확

TortoiseSVN 3 🐢

지난 게시글에 tortoisesvn을 사용해 등록된 저장소를 외부에서 불러와 데이터를 Commit 하는 방법에 대해 알아보았고 이어서 CentOS 환경에서 tortoise svn을 사용하는 방법을 알아본다.

  • 가상환경 구축

먼저 기본적으로 가상머신에 ip 할당해주기 위해 간단하게 nmap를 활용해 내가 쓰고 있는 내부 ip만을 확인하였다.

사용한 옵션

code snippet
# sudo nmap -sn "스캔 할 네트워크 대역" -oG nmap_output

nmap 은 해킹, 보안 점검 등 다양하게 쓰이는 스캐닝 도구이고 사용법도 널리 알려져 있으니 궁금하신분들은 검색해보길 바란다.

이제 사용하지 않는 ip를 알았으니 가상 머신을 활용해 환경을 구축해보았다 구축한 외부 환경의 ip 주소는 150.9로 설정해 주었다.

  • SVN 설치

명령어

code snippet
# sudo yum install -y subversion # rpm -qa | grep subversion

정상적으로 설치가 완료되면 아래와 같이 패키지를 찾을 수 있게 될 것이다.

설치 진행

설치된 패키지 확인

이후 윈도우 환경에서와 마찬가지로 svn을 설치할 경로를 지정해주는 작업을 해주겠다.

  • SVN 저장소 생성, 경로 지정, 방화벽 해제

나는 윈도우에서 불러올 저장소를 담을 공간과 CentOS에서 새롭게 만들 공간을 생성해줬다.

다음으로 svn을 관리할 폴더를 지정할 수 있는 파일인 svnserve를 vim를 활용하여 수정해 CentOS 레포지를 추가해주었다.

svnserve 기본 설치 경로 : /etc/sysconfig/svnserve

code snippet
# vim /etc/sysconfig/svnserve

svnserve file


경로 지정

수정하고 나온 후 기본적으로 외부에서 접속 시도 시 추가적으로 svn 기본 포트인 3690를 방화벽에서 해제해주어야 하지만 사용 가능하기에 방화벽을 해제해 주었다.

명령어

code snippet
# firewall-cmd --permanent --zone=public --add-port=3690/tcp # filrewall-com --reload

방화벽이 해제되었는지 확인해보려면 아래 이미지와 같이 작성해주면 된다. 필자는 방화벽을 사용하지 않고 있기 때문에 "not running" 메시지를 확인할 수 있다.

  • 서비스 실행

명령어

code snippet
# sudo systemctl start svnserve.service # ps -ef | grep svn # netstat -anp | grep svnserve

윗줄부터 svnserve 서비스를 실행, 메모리에 올려졌는지 확인, 서비스가 실행중인지 확인하는 명령어이다.

실행 과정에서 permission error가 출력되면 경로로 지정한 저장소의 권한을 재 설정하면 된다.

하지만 root 사용자로 지정경로에 대한 권한 설정과 서비스 실행파일인 /sysconfig/svnserve 파일의 권한을 최고 권한으로 수정해도 정상적으로 서비스가 실행되지 않았다.

error 코드를 다시 확인해 본 결과 데몬 관련해서 에러가 나는 것 같았고 구축한 환경은 기존에 사용하던 가상 머신이미지를 가져왔으며 이미 데몬을 사용중인 것 같아서 나는 에러인 것 같았다.

이에 독립 실행형 데몬 프로세스로 서비스를 실행시켰고 잘 작동되는 것을 확인했다.

code snippet
# svnserve -d # netstat -tnlp | grep 6235

서비스는 실행되었지만 상태를 보니 정상적으로 실행할 수 있는 상태는 아니였고 /home 하위 권한을 모두 755로 수정해 보아도 마찬가지였다. 나중에 원인을 찾으면 마저 작성해야겠다.

code snippet
# journalctl -xe

해당 명령어로 디테일 에러사항을 확인해 보니 다음과 같은 에러가 발생하였고 그 내용은 SELinux가 /bin/svnserve의 /zino 폴더의 접근을 막는다는 내용이였다. 더 자세한 내용을 보기 위해 아래와 같은 명령어를 실행하였다.

code snippet
# sealert -l 48d0ef33-814b-474f-all

실행 결과 찾을 수 없는 에러라고한다...