본문 바로가기

웹개발/Server

[Cloud] Google Cloud Platform을 이용한 개인 svn서버 만들기


현재 구글 클라우드 플랫폼은 1년 무료 혹은 요금 300달러 까지 무료로 사용 가능합니다. 

구글 클라우드 플랫폼을 이용하여 간단하게 svn 서버를 만들어 보겠습니다

준비 : 구글 계정, 해외 결제가 가능한 신용 카드




구글 로그인 후 cloud.google.com에 접속하고
위와 같은 화면에서 TRY IT FREE를 클릭합니다.



동의 잘 체크해주시고 동의 및 계속하기 클릭
다음화면은 신용카드 정보를 입력하는 화면입니다.
※ 1년이 지나거나, 300달러의 요금을 모두 소비한 뒤에도 자동으로 결제되지 않습니다. 

반드시 사용자의 동의 후 결제가 진행되니 안심하고 신용카드 등록하셔도 됩니다.

신용 카드 등록을 마치면 위와 같은 플랫폼 시작 화면이 나옵니다.
왼쪽 위 메뉴버튼을 클릭합니다.


홈 메뉴를 누르면 화면과 같이 프로젝트를 선택하라고 나옵니다. 
현재 프로젝트를 만들지 않았기 때문에 만들기 버튼을 눌러 프로젝트를 만들어 줍니다. 
간단한 이름 정도만 입력하시면 됩니다.

프로젝트를 만들면 대시보드에 위와 같은 화면이 나타나게 됩니다.
빨간색 사각형 안에 있는 Compute Engine 대시보드로 이동을 클릭합니다.


위와 같은 화면으로 이동하는데 만들기 버튼을 클릭하여 VM 인스턴스를 만들어 줍니다. 
VM 인스턴스는 간단하게 가상 서버라고 생각하시면 됩니다.



이름 입력하시고, 영역은 asia-east1을 선택하시면 됩니다.
머신 유형은 CPU 성능을 나타내는데, CPU 성능과 아래 부팅디스크 용량 등에 따라 
요금의 차이가 있습니다. 

하지만 단순 svn 서버로만 사용할 용도이므로 가장 저렴한 초소형 CPU를 선택하고 
부팅디스크 용량은 10기가에서 늘리지 않습니다. 

혹여 SVN서버 말고 여러 용도로 사용하신다면 그에 맞게 선택해주시면 됩니다.
우분투 14.04 기반으로 진행할 예정이기 때문에 운영체제는 우분투 14.04를 선택해주시면 됩니다.

위와 같이 서버가 생성되었습니다. 
현재 외부IP는 임시 아이피이므로 고정 아이피로 변경하겠습니다.

좌측 상단에 메뉴 - VPC 네트워크 - 외부 IP 주소를 클릭합니다.

유형을 클릭하여 고정으로 변경해줍니다. 간단한 이름만 입력하시면 됩니다. 
변경 후 좌측 상단에 메뉴 - Compute Engine을 클릭합니다.

위와 같은 VM 인스턴스 화면이 나오면 SSH를 클릭해서 콘솔창을 실행하시면 됩니다.


우분투 14.04가 설치된 콘솔창이 나오게 됩니다. 
우선 모든 설치는 우분투 최고 권한을 가진 root로 설치하겠습니다. 

1. sudo passwd root 명령으로 root 비밀번호를 셋팅하겠습니다.
    비밀번호를 2번 입력해주시면 됩니다.
2. su - 로 root 계정으로 로그인 하겠습니다. 앞서 셋팅했던 비밀번호로 
    로그인 하시면 됩니다.
3. apt-get update 로 저장소를 새로 업데이트 하겠습니다.

4. 저장소 업데이트가 끝나면 apt-get install subversion 으로 svn을 설치하겠습니다. 
설치 유무를 한번 더 물어보면 Y를 입력하시면 됩니다.

5. 설치가 끝나면 폴더를 만들어 줍니다.
    mkdir -p /home/svn/repos/
    -p 옵션은 지정한 경로에 해당하는 폴더가 없다면 없는 폴더까지 모두
     만들어 줍니다.

6. svnadmin create /home/svn/repos/hanq
    - svnadmin create 명령으로 repos폴더 아래에 hanq라는 저장소를
      만들어 줍니다.

7. cd /home/svn/repos/hanq/conf 
    이제 svn 기본 셋팅을 하겠습니다. hanq아래 conf 폴더로 이동합니다.

8. vi svnserve.conf
    vi편집기로 svnserve.conf를 수정하겠습니다.

9. anon-access, auth-access, password-db 부분의 주석(#)을 del키로 제거해줍니다. 
   vi 편집기에서는 일반적으로는 입력이 되지 않습니다. 
   i를 눌러 insert 상태에서 입력이 가능합니다. anon-access의 값을 none으로 수정해줍니다.

   anon-access는 익명 사용자의 접근을 의미합니다.
   수정이 끝나고 저장할 땐 콜론키(쉬프트 + 세미콜론)를 누른 후 wq를
   입력해 줍니다. wq는 저장 후 종료입니다. 저장하지 않고 종료할 때는
   q!를 입력해 줍니다.


10. vi passwd
      이어서 passwd 파일을 편집하겠습니다.
      원하는 아이디와 비밀번호를 입력하시면 됩니다.
      저는 아이디는 test 비밀번호는 1234를 입력했습니다.
      다시 콜론 키 누른 후 wq를 입력하여 저장 후 종료해줍니다.


11. svnserve -d -r /home/svn/repos
      이제 svn 서버를 시작합니다.


12. 이제 클라우드 플랫폼으로 돌아와서
       메뉴 - VPC 네트워크 - 방화벽 규칙으로 이동합니다.
      svn 기본포트는 3690이며, 3690 포트를 열어주어야 합니다.
      상단에 방화벽 규칙 만들기를 클릭합니다.


13. 이름 적어주시고 현재는 인스턴스가 1개이므로 
      대상을 네트워크의 모든 인스턴스로 변경해줍니다.
      소스 IP 범위는 0.0.0.0/0 을 입력해 줍니다. 0.0.0.0/0은 모든 IP를 허용하는 의미입니다.

      프로토콜 및 포트는 지정된 프로토콜 및 포트를 체크해주시고,
      tcp:3690; 을 입력 후 만들기를 누르시면 됩니다.


14. 방화벽 규칙을 작성한 후 현재 저희는 도메인이 따로 있지 않으므로
      외부아이피 주소를 통해서 접속해보겠습니다.






15. 이클립스에서 svn을 추가합니다.
      주소는 svn://외부아이피/저장소이름
      저에게는 svn://35.201.148.61/hanq 입니다.
      아이디와 비밀번호 입력 후 프로젝트를 쉐어하면 업로드가 정상적으로 된 것을 확인할 수 있습니다.




아래는 선택사항입니다.



16. 추가로 서버 시작시 svn 서버가 자동으로 시작하도록 rc.local에 추가하셔도 됩니다.(선택사항)
      cd /etc             etc폴더로 이동
      vi rc.local         rc.local 파일 편집하기
     위와 같이 svnserve -d -r /home/svn/repos 입력 후 저장 후 종료
     shutdown -r now   재부팅하기
     정상적으로 등록되었다면 재부팅후에도 svn 서버가 실행됩니다.

끝으로 만약 개인만 사용하는 것이 아닌 경우 svn 서버를 서비스로 등록하여 관리하는게 훨씬 수월합니다.


'웹개발 > Server' 카테고리의 다른 글

[리눅스] CentOS 설치!  (0) 2018.05.26
[Server] 개인 PC 개발 서버 만들기  (2) 2018.05.22