Subversion 으로 WordPress 설치 / 업데이트

워드프레스에 Subversion 을 사용하면 언제 어디서나, 동시에 여러 사람이 작업해도 문제가 없습니다.

협업 프로그램으로 Subversion 과 Github 을 많이 사용하지만, 제가 Subversion 을 사용하는 방법을 소개해드릴께요.

Subversion , Apache, Webdav, mod_auth_mysql 세팅

Apache 를 설치합니다.

그리고 webdav 에서 mysql 을 통해 subversion 을 관리 하기 위해서는 mod_auth_mysql 이라는 것이 필요합니다

 

이렇게 세팅을 하면

내부적으로는 select count(*) from admin_member where user_id = ‘$user_id’ and password = ‘$password’ 이렇게 로그인 채크를 하게 됩니다.

apache 를 재실행한 다음, 설치할 프로젝트를 만듭니다.

Subversion 프로젝트 만들고, wordpress 파일을 import 하기

다시 프로젝트를 운영할 서버에 가서

처음 세션에서는 아이디 비밀번호 묻고 페스워드 저장할꺼냐 save yes 눌러 줍니다.

Import 한 파일을 이동하고 trunk 를 webroot 로 지정합니다.

이렇게 하면 /home/project1/trunk 에 .svn 파일이 포함된 웹소스가 다운로드됩니다.
이후에 다시 ln -s trunk public_html 로 symbolic 링크를 잡아줍니다.

그 다음에는 워드프레스 사이트 안전하게 운영하기 글을 참고해서 하드닝 작업을 더 해 주면 됩니다.

파일 권한 설정 및 워드프레스 ignore list 세팅

플러그인을 svn 으로 관리할 수도 있고, 제외할 수도 있습니다.

이 경우에는

이런식으로 제외하면 됩니다.

Windows 에서 Subversion 클라이언트 (TortoiseSVN) 와 서버 설치하는 방법은
http://pyrasis.com/book/WindowsProjectEssentialUtility/Chapter02 에서 확인해보세요.

Tortoise SVN 간편 사용법

TortoiseSVN 을 https://tortoisesvn.net/ 에서 다운로드 받아서 설치합니다.

SVN 서버로 부터 컨텐츠를 받아서 설치할려면 탐색기 마우스 우클릭을 합니다.

tortoisesvn 이 설치되고 나면, 탐색기에서  탐색기의 아이콘이 바뀝니다.

우선 d:\webroot 에서 우클릭한 후에 checkout 선택하시고

프로젝트 URL ( http://svn.abc.com:7979/repos/msgapi ) 을 입력합니다.

화면 하단에 거북이 모양의 아이콘이 100%까지 차면 다운로드가 완료된 것입니다. 통신 상태에 따라 몇 번에 걸쳐서 다운로드 받아야 하는 경우도 있습니다.

svn 으로 다운로드 된 파일은 탐색기에서 상태가 표시됩니다.

초록색 채크모양은 현재 버전이고, 빨간색 느낌표 모양은 로컬 파일을 수정해서 서버에 저장된 버전과 현재 버전이 차이나서, 로컬 파일을 commit 하여 서버버전을 올려야 된다는 것을 암시합니다.

svn commit 을 하면 서버에 올릴 파일들을 채크하고 OK 버턴을 눌러서 전송할 수 있습니다.

svn 으로 작업할 때 주의할 부분은 .svn 파일과 자신의 파일상태를 비교해서 버전 채크를 하기 때문에 다른 사람이 작업을 했다면, 작업 시작전에 svn update 를 해서 최신 버전의 .svn 상태를 유지한 다음 작업해야 합니다.

svn update 를 하면 서버에 새로 갱신된 파일이 자신의 로컬 디스크에 저장되고 버전도 동기화가 되게 됩니다.

그럼에도 불구하고 어떤 이유로 자신의 결과물을 무시하고 누군가가 commit 을 했다면, Diff with previous Version 을 통해 과거 버전과 비교해서 과거 버전으로 revert 할 수 있습니다.

Working Version 과 Revision 을 비교해서 올바른 코드르 맞추어 revert ( 과거 코드가 올바른 코드여서 과거 버전으로 돌아가기 ) 를 하거나 commit ( 로컬버전이 바른 코드라서 commit 을 해서 버전을 올림) 을 하면 됩니다.

새로운 파일이 추가되면 commit 창에서 changes made 패널에 아이템이 자동으로 추가되지 않기 때문에 채크를 하여 등록해야 합니다.

로컬에서 삭제한 파일을 SVN 서버에서도 삭제할 때도 채크를 해서 commit 을 해주면 서버와 동기화 됩니다.

워드프레스는 파일들이 여러 디렉토리에 나눠져 있기 때문에 FTP 로 파일을 관리하기 보다는 SVN 으로 하는 편이 훨씬 쾌적합니다.

한 번에 수십개의 파일을 수정한 다음에 한 번에 프로젝트 시작 폴더에서 ( trunk 폴더 ) commit 을 하면 모든 파일들이 동기화되고 만약 어떤 이유로 오류가 있어서 원복이 필요하면, 원복이 필요한 파일만 revert 를 하면 됩니다.