웹사이트 검색

RHEL 기반 Linux 배포판에 SVN을 설치하는 방법


C 프로그래밍 언어로 작성된 Apache Subversion(대화적으로 SVN으로 약칭)은 기록을 추적하는 무료 오픈 소스 버전 관리 시스템입니다. 파일 및 디렉토리의 버전.

간단히 말해서, SVN은 사용자가 각 파일을 변경한 사람을 추적하는 저장소에 파일 변경 사항을 보낼 수 있게 해주는 단순한 버전 추적기입니다. 저장소는 파일 서버와 유사합니다. 차이점은 변경 사항을 추적하고 이전 버전의 코드를 복구하거나 파일 변경 내역을 조사할 수 있다는 것입니다.

이 문서에서는 CentOS, Fedora, Rocky Linux와 같은 RHEL 기반 Linux 배포판에 SVN을 설치하는 방법에 중점을 둡니다. AlmaLinux.

1단계: Linux에 SVN(Apache Subversion) 설치

먼저 표시된 대로 Subversion과 관련 패키지를 설치하는 것부터 시작합니다.

sudo dnf install mod_dav_svn subversion

이 명령은 이전에 설치되지 않은 경우 Apache HTTP 웹 서버도 설치합니다. 다음과 같이 Apache를 시작하고 상태를 확인할 수 있습니다.

sudo systemctl start httpd
sudo systemctl status httpd

2단계: 로컬 SVN 저장소 생성 및 구성

SVN이 설치되면 다음 단계는 파일과 코드를 저장하기 위한 저장소를 만드는 것입니다.

먼저 코드를 저장할 SVN 디렉터리를 만듭니다.

sudo mkdir -p /var/www/svn

그런 다음 디렉터리로 이동하여 svadmin create 명령을 사용하여 저장소를 만듭니다.

cd /var/www/svn/
sudo svadmin create demo_repo

다음으로 SVN 디렉터리에 권한을 할당합니다.

sudo chown -R apache.apache /var/www/svn

3단계: Subversion 구성 파일 생성

Subversion 구성 파일을 생성해야 합니다.

sudo vim /etc/httpd/conf.d/subversion.conf

다음 줄을 추가합니다.

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn

   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Subversion repo"
      AuthUserFile /etc/svn-auth-users
      Require valid-user
   </LimitExcept>
</Location>

변경 사항을 저장하고 종료합니다.

4단계: 승인된 Subversion 사용자 생성

다음 단계는 Subversion 사용자, 즉 Subversion 저장소에 액세스할 권한이 있는 사용자를 생성하는 것입니다. 첫 번째 사용자를 생성하려면 -cm 옵션과 함께 htpasswd 명령을 사용하세요. 비밀번호는 /etc/svn-auth-users 파일에 저장됩니다.

sudo htpasswd -cm /etc/svn-auth-users svnuser1

후속 사용자를 생성하려면 -c 옵션을 생략하고 -m 옵션만 사용하세요.

sudo htpasswd -m /etc/svn-auth-users svnuser2
sudo htpasswd -m /etc/svn-auth-users svnuser3

변경 사항을 적용하려면 Apache 웹 서버를 다시 시작하세요.

sudo systemctl restart httpd

5단계: SVN용 방화벽 및 SELinux 구성

다음과 같이 방화벽에서 HTTP 트래픽을 허용하도록 방화벽을 구성합니다.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

또한 저장소에 다음 SELinux 규칙을 적용하십시오.

sudo chcon -R -t httpd_sys_content_t  /var/www/svn/demo_repo
sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/demo_repo

6단계: 브라우저에서 SVN에 액세스

브라우저에서 SVN 저장소에 액세스하려면 URL로 이동하면 됩니다.

http://server-ip/svn/demo_repo

SVN 저장소 사용

SVN 저장소 사용을 시작하려면 svn checkout 명령을 사용하여 현재 작업 디렉터리에 SVN 저장소의 작업 복사본을 만들어야 합니다.

svn checkout URL 

일부 파일을 추가하려면 복제된 디렉터리로 이동하세요.

cd demo_repo

몇 가지 데모 파일을 만듭니다.

touch file1.txt file2.txt file3.txt

SVN에 파일을 추가합니다.

svn add file1.txt file2.txt file3.txt

그런 다음 다음과 같이 파일을 저장소에 커밋합니다.

svn commit -m "Adding new files" file1.txt file2.txt file3.txt

자격 증명으로 인증하면 파일이 저장소에 추가됩니다.

브라우저로 돌아가서 이를 확인할 수 있습니다.

이것으로 RHEL, CentOS, Fedora, Rocky Linux 및 <에 SVN을 설치하는 방법에 대한 가이드를 마칩니다. Strong>AlmaLinux.