오라클 클라우드로 개인 svn 서버 만드는 방법을 정리해보고자 한다.
다른 여타 클라우드와 사용법은 비슷하다.
오라클 클라우드로 가상 머신을 만드는 방법은 이미 많은 정보글이 올라와있어
정보를 찾는데 큰 어려움은 없었다.
오라클 클라우드로 원격 접속, SVN만들기를 하면서 포트의 개념을 좀 더 몸으로 이해할 수 있었다.
우선 서버에 svn을 설치해야 한다.
이 블로그의 내용을 따라서 설치를 진행하였다.
sudo apt-get install subversion
다음 명령어로 svn을 서버에 설치한다.
중간에 Y를 입력해서 설치를 계속 해주면 간단하게 끝난다.
다음으로 레포지토리를 만들어주었다.
svn 폴더를 만들고, 해당 폴더로 가서 ChordEverdu 라는 폴더를 만들었다.
ChordEverdu는 현재 개인프로젝트로 만들고 있는 코드 악보 편집, 모음 어플리케이션의 가명으로,
어플리케이션 소스파일의 버전관리를 이곳에서 할 예정이다.
그 다음으로 svn의 설정을 해주는데, vi 를 사용하는 방법을 몰라서 애를 엄청 먹었었다,,
처음에 들어가면 이렇게 나오는데, 파란색이 주석이다.
이 상태로는 마우스로 클릭을 하고 키보드로 입력을 하려고 해도 입력이 안됐다.
인터넷 검색을 통해 공부한 결과
i 를 눌러 입력모드로 전환해야 편집이 가능하고
esc를 눌러 입력모드를 나올 수 있으며
: 을 입력해서 커맨드 모드를 띄워 vi로 편집한 문서를 저장하거나 vi를 종료할 수 있었다.
i를 눌러 편집모드로 가고, 위 블로그 링크에서 보인대로 수정을 해주었다.
수정이 끝났다면 : 을 누르고
wq를 누르면 저장후 종료하게 된다.
passwd 파일과 authz 파일도 수정을 해준다.
계정이름은 root로 하고, 비밀번호는 기존에 쓰던 비밀번호로 통일해서 넣었다.
권한도 읽고 쓰기로 부여한다.
설정을 마치고 svn을 실행시킨다.
0.0.0.0 은 모든 사용자를 의미한다고 한다.
따라서 이 svn에는 ip주소를 아는 누구나 접속할 수 있다.
하지만 이렇게만하면 svn에 접속할 수 없다.
포트를 설정하지 않았기 때문이다.
오라클에서 인스턴스 목록을 들어가, 해당하는 가상머신을 선택한다.
그 다음 리소스 항목에서 '연결된 VNIC' 를 눌러준다.
좌측에 사용중인 VNIC를 볼 수 있다.
공용 서브넷 쪽을 눌러준다.
그럼 다음과 같이 보안목록을 볼 수 있다.
보안 목록을 클릭하면 열어줄 포트를 설정할 수 있다.
그럼 아래와 같이 사용중인 포트 목록을 볼 수 있다.
'수신 규칙 추가'를 눌러 사진처럼 3690 포트를 열어주면 SVN에 접속할 수 있다.
마우스 우클릭 - TortoiseSVN - Repo-browser 을 선택하면 아래와 같은 창이 뜬다
여기에 svn 레포지토리의 경로를 넣어주면 된다
이때 웹서버에 접속하듯 http를 사용하면 안되고, svn:// ip주소 를 사용해야 접속할 수 있다.
포스팅을 작성하는 시점에서는 임포트를 해둔 파일이 있기 때문에 내용물이 있는 것으로 보이지만
원래대로라면 아무것도 없는 것이 정상이다.
이제 원하는 파일을 골라서 임포트를 하면 되는데,
나는 임포트를 하는 도중 다음과 같은 오류가 나왔다.
svn: Can't open file 'path/db/txn-current-lock': Permission denied
인터넷을 찾아보니 다음 사이트를 찾았다.
yulisys.tistory.com/category/IT
파일 권한문제로 아파치에게 권한을 주는 것을 설명하고 있었는데,
아쉽게도 나는 nginx를 사용하고 있어서 곧이곧대로 적용할 수 있는 해법은 아니었다.
문득 nginx는 www-data 로 접근하여 파일을 건들였던 것같은 기억이 나서
chmod, chgrp, chown 을 공부해가며 svn폴더의 권한을 모두 www-data로 바꿨으나
오히려 그나마 잘되던 svn에 접속 자체가 안되어버렸다..
그래서 혹시나하는 마음으로 기본 계정인 ubuntu로 모든 권한을 바꿔주었더니 잘되었다
svn 폴더 하위로 모두 ubuntu로 소유자와 소유그룹을 설정하고
chmod로 읽기, 쓰기 권한을 모두 주자 임포트를 하는데 성공했다!
서버에 올릴 폴더를 선택하고 마우스 우클릭
TortoiseSVN - Import 를 눌러 임포트를 진행한다.
하지만 임포트를 하고나서도 내가 기억하던 녹색 v 표시 아이콘이 보이지도 않고,
Add, Commit 같은 기능이 전혀 보이지 않아서 당황하던차에
SVN Checkout을 해야한다는 것을 직감적으로 떠올렸다.
당연히 깃허브마냥 지금 선택한 폴더를 SVN에 import하면 그 폴더가 바로 공유된다고 생각했었다.
하지만 import는 자료만 올리는 것일뿐 서버와 연결은 전혀 없었다.
따라서 SVN Checkout 을 누르고 내려받을 경로를 지정하면,
해당 경로에 서버의 자료가 내려받아지면서 그 자료가 서버와 연결되게 된다.
그 결과가 위 사진의 왼쪽에 얼핏 보이는 ChordS... 하는 녹색 v 표시 아이콘이 들어간 폴더이다.
인턴으로 일했던 곳에서 SVN을 썼던 경험을 집에서도 경험해보고자 시도했던 SVN 설치..
중간 중간 오류때문에 몇시간을 고생했지만 다 해놓고나니 역시 뿌듯하다
덕분에 우분투환경에 더욱 더 익숙해졌다
그리고 다음부터는 vi로 삽질하지 말고 돈주고 산 Edit Plus를 적극활용해야겠다는 생각이 들었다ㅋㅋ
왜 이걸 놔두고 힘들게 vi로 편집했을까...
'Infra > 오라클 클라우드' 카테고리의 다른 글
[오라클 클라우드] curl 에서 'no route to host' 가 뜨는데 핑은 잘 가는 경우 (feat. ChatGPT) (0) | 2023.03.17 |
---|---|
[Powershell] ssh 인스턴스 원격 접속 방법 (0) | 2022.08.14 |
안드로이드에서 MySQL(MariaDB) 원격 접속하기 (0) | 2022.06.07 |
[오라클 클라우드(Oracle Cloud)] Toad for MySQL SSH 접속하기 (0) | 2021.04.10 |
[오라클 클라우드(Oracle Cloud)] Atom SFTP 연결하기 (2) | 2021.04.08 |