일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 쇼핑몰구축
- JQuery
- PHP
- 포트폴리오
- 홈페이지제작
- 홈페이지
- 개발자
- 고도몰
- 웹퍼블리싱
- 커스터마이징
- 안드로이드
- 튜닝
- CSS
- 웹디자이너
- work6.kr
- 홈페이지구축
- 웹개발자
- plugin
- 플러그인
- 워크식스
- 웹디자인
- jQuery Plugin
- 쇼핑몰
- 3D프린터
- 프로그래머
- 제이쿼리
- 쇼핑몰제작
- 웹퍼블리셔
- 사이트제작
- 웹에이전시
- Today
- Total
그냥 개발자 블로그
svn 설치 및 웹서버 연동 (centos7 환경) 본문
svn을 통해서 웹서버를 버전관리 할 경우 커스터마이징시 매우 쓸모 있어요.
따라서 svn 설치 및 svn서버와 웹서버간의 연동을 다뤄볼게요.
1. 상태
1-1. 기존의 웹서버가 운영되고 있었음
1-2. 운영체제는 centos7 이며 svn은 설치되어 있지 않음
1-3. 별도의 서버가 운영되고 있음
2. 요구사항
2-1. 외부에서 다수의 사용자가 접속하여 버전 관리가 가능해야함
2-2. commit 시 자동으로 웹서버에 파일들을 적용 되어야 함
3. svn 설치 여부 확인
[root@localhost ~]# svnserve --version |
에러가 발생한다면 미설치 상태 입니다.
4. svn 설치
[root@localhost ~]# yum install subversion |
중간의 질문을 한다면 y를 눌러서 설치합니다.
5. 관리를 편하게 하기 위해 svn 이라고 별도의 디렉토리 생성
[root@localhost ~]# mkdir /svn [root@localhost ~]# cd /svn |
관리를 편하게 하기 위해 svn 이라고 별도의 디렉토리 생성후 생성한 디렉토리로 이동 합니다.
6. 저장소생성 (프로젝트 단위) 및 폴더 권한 수정
[root@localhost svn]# svnadmin create --fs-type fsfs 프로젝트명(디렉토리명) |
권한을 변경하지 않을 경우 root 이외에는 svn 명령어가 동작하지 않을수 있습니다.
7. 저장소 내에 svn 설정
[root@localhost svn]# vi 프로젝트명/conf/svnserve.conf anon-access = none //모든사용자접속(인증된 사용자만 접속) auth-access = write //작성가능여부 password-db = db //인증설정파일 authz-db = authz //권한설정파일 |
svnserve.conf 내에 설정을 위와 같이 변경해 줍니다.
8. svn 접속 아이디 만들기 (인증생성)
[root@localhost svn]# vi 프로젝트명/conf/passwd
[users]
아이디 = 패스워드
svn 이용할 아이디와 패스워드를 설정 합니다.
9. svn 접속 아이디 권한 설정
[root@localhost svn]# vi 프로젝트명/conf/authz
[/]
아이디 = rw //읽기쓰기 보두 가능
권한 설정이 안되어 있을 경우 접속이 안됩니다.
10. svnserve 를 systemctl 에 등록
[root@localhost svn]# vi /etc/sysconfig/svnserve
OPTIONS="--threads --root /svn"
systemctl start svnserve 와 같이 svn 서버의 동작/멈춤을 위해서 등록합니다.
11. svn 동작
[root@localhost svn]# systemctl start svnserve
12. 서버동작시 자동 실행 설정
[root@localhost svn]# systemctl enable svnserve.service
자동실행을 원치 않는다면 서버가 재부팅 또는 켤때마다 11번을 이용해 svn을 동작시켜 주세요.
13. 외부에서 svn 사용 가능하도록 방화벽 설정
[root@localhost svn]# vi /etc/firewalld/zones/public.xml
<port protocol="tcp" port="3690"/> //추가
</zone>
[root@localhost svn]# firewall-cmd --reload
</zone> 바로 위에 3690 포트 설정을 추가해주시고 방화벽을 재시작해주셔야 적용되요.
14. 주작업 컴퓨터와 svn을 연동
14-1. http://tortoisesvn.net/ 에서 프로그램을 다운로드 하여 설치합니다.
14-2. 원하는 위치에 폴더를 만들고 폴더 내에 반영하고자 하는 프로젝트(파일들)를 넣어 둡니다.
14-3. 폴더를 우클릭하여 SVN Checkout.. 을 클릭합니다.
14-4. URL of repository (저장소 URL) 을 입력하고 OK 합니다.
14-5. 인증하면 프로젝트(파일들)이 svn에 업로드 됩니다.
15. svn서버와 웹서버 연동
svn을 commit 할 경우 별도의 업데이트 없이 웹서버에 바로 적용 가능하도록 설정 합니다.
15-1. 상태
svn서버 : /svn/프로젝트명
웹서버 : /home/프로젝트명
15-2. svn서버와 웹서버 연결
[root@localhost svn]# svn checkout file:///svn/프로젝트명 /home/프로젝트명
최초 checkout 해서 연결을 만들어 줍니다.
15-3. Commit 시 자동 동작 설정 (post-commit)
[root@localhost svn]# vi 프로젝트명/hooks/post-commit
#!/bin/sh
export LANG=en_US.UTF-8
svn update /home/프로젝트명
chwon -R 소유자:그룹명 /home/프로젝트명
export LANG = en_US,UTF-8 은 한글 파일명이 프로젝트 내에 있을 경우 작성하며, commit 될 경우 svn update 가 자동으로 동작 합니다.
15-4. post-commit 파일 권한 변경
[root@localhost svn]# chmod 777 post-commit
post-commit 이 권한에 구애 받지 않고 정상적으로 동작할수 있도록 권한을 777 로 변경합니다.
'프로그래밍팁 > linux' 카테고리의 다른 글
centos7 방화벽 설정, 포트 열기 (0) | 2015.10.24 |
---|---|
우분투 가상호스트 이용해서 포트로 사이트 두개 이용하기 (0) | 2015.10.23 |
우분투에서 웹서버(apm) 설치 (0) | 2015.09.29 |
우분투 사용자 기본경로 변경하기 (0) | 2015.09.29 |
centos7 minimal 설치 후 wireless(무선) 설정 (0) | 2015.09.29 |