'IT'에 해당되는 글 221건
- 2019.05.22 [Moxa] IIoT 솔루션..?
- 2019.05.13 오픈인프라 경진대회
- 2019.04.25 [SVN] 접속 오류
- 2019.04.24 [SVN] trunk, tags, branches의 용도
- 2019.04.23 [SVN] project 추가 방법
- 2019.04.23 [Bitnami] SVN - Apache 연동하기
- 2019.04.19 버전관리 방법
- 2019.03.29 [C#] 프로그래밍 배우는 사이트
- 2019.03.26 List 중복제거
- 2019.03.26 숫자인치 확인하는 방법
'기타' 카테고리의 다른 글
[SK(주) C&C] Enterprise Modernization을 위한 Offering 웨비나 (0) | 2021.05.26 |
---|---|
[보안]talos PGP 공개 키블록 (0) | 2019.11.20 |
[SVN] 접속 오류 (0) | 2019.04.25 |
[Chrome] 크롬 속도 개선 방법 (0) | 2018.08.24 |
[도서] The Goal (0) | 2018.08.14 |
해결방법 - 권한 추가 & httpd 설정 변경
chown -R root.root /........./svn/reposi~
chmod -R go+w /........./svn/reposi~
setsebool -P httpd_unified=1
'기타' 카테고리의 다른 글
[보안]talos PGP 공개 키블록 (0) | 2019.11.20 |
---|---|
오픈인프라 경진대회 (0) | 2019.05.13 |
[Chrome] 크롬 속도 개선 방법 (0) | 2018.08.24 |
[도서] The Goal (0) | 2018.08.14 |
[의학] 교모세포종 원인 발견!!! (0) | 2018.08.10 |
[출처/참조 : http://phrack.blog.me/80103546149 ]
trunk
- 기본적으로 개발을 시작할 때 사용하는 디렉토리
- main, mainline, production의 의미로 사용됨
branches
- release 버전과 유지보수 버전을 분리하고 싶을 때 사용
- customizing이나 hot fix 목적으로 분리하여 수정함
- 수정이 계속해서 발생하다가 궁극적으로는 trunk에 merge 되는 것이 일반적임
tags
- 한번 만들면 수정하지 않음
- releases, snapshots, baselines의 의미로 사용됨
'OS > 리눅스' 카테고리의 다른 글
[SVN] project 추가 방법 (0) | 2019.04.23 |
---|---|
[Bitnami] SVN - Apache 연동하기 (0) | 2019.04.23 |
[CentOS7] ip 확인 방법 (0) | 2018.07.24 |
[리눅스] 기본 명령어 (0) | 2018.07.23 |
리눅스 공부 동영상 좋은곳 (0) | 2018.07.23 |
1. svnadmin create [Repository 경로]/[생성할 프로젝트폴더]
ex) svnadmin create repositories/testProject
2. /opt/bitnami/apache2/conf/extra/httpd-subversion.conf 에 신규 생성된 프로젝트 정보 추가
ex)
<Location /svn/codelabor>
DAV svn
SVNPath /opt/bitnami/repositories/testProject
AuthType Basic
AuthName "Test Project Repo"
AuthUserFile "/opt/bitnami/apache2/users"
Require valid-user
AuthzSVNAccessFile "/opt/bitnami/repositories/testProject/conf/authz"
</Location>
3. /opt/bitnami/repositories/testProject/conf/authz 에 권한 설정
ex) [groups]
testGroup= HongGilDong,JangYoungSil,UserID
[/]
testGroup = rw
4. ./ctlscript.sh restart apatch
[참고사항] 계정은 /opt/bitnami/apache2/users 에 설정한 계정을 따라갑니다.
'OS > 리눅스' 카테고리의 다른 글
[SVN] trunk, tags, branches의 용도 (0) | 2019.04.24 |
---|---|
[Bitnami] SVN - Apache 연동하기 (0) | 2019.04.23 |
[CentOS7] ip 확인 방법 (0) | 2018.07.24 |
[리눅스] 기본 명령어 (0) | 2018.07.23 |
리눅스 공부 동영상 좋은곳 (0) | 2018.07.23 |
[참조 : http://blog.naver.com/phrack/80193351514 ]
Bitnami Redmine 내에는 svn과 apach가 함께 동작한다.
이를 연계하여 사용하는 방법이다. 대부분 위의 사이트 내용이고, 몇가지 오류내용을 수정했다.
---------------------------------------------------------------------
SSH로 접속한 후, 아래와 같이 Repositories 디렉토리를 생성하고
bitnami user와 group에게 오너십을 부여한 후,
svnadmin 명령으로 repository를 생성한다. (이름은 codelabor 로 정의함)
bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ sudo mkdir repositories bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ sudo chown -R bitnami:bitnami repositories bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ svnadmin create repositories/codelabor bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ ls apache2 git perl ruby use_redmine apps img php scripts var changelog.txt licenses properties.ini sqlite common manager-linux-x64.run README.txt stats ctlscript.sh mysql repositories subversion |
생성된 repository 안을 살펴보면 Subversion Repository가 갖춰야할
파일 구조로 구성된 것을 알 수 있다.
bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami/repositories/codelabor$ ls -al total 32 drwxrwxr-x 6 bitnami bitnami 4096 Jul 4 15:35 . drwxr-xr-x 3 bitnami bitnami 4096 Jul 4 15:35 .. drwxrwxr-x 2 bitnami bitnami 4096 Jul 4 15:35 conf drwxrwsr-x 6 bitnami bitnami 4096 Jul 4 15:35 db -r--r--r-- 1 bitnami bitnami 2 Jul 4 15:35 format drwxrwxr-x 2 bitnami bitnami 4096 Jul 4 15:35 hooks drwxrwxr-x 2 bitnami bitnami 4096 Jul 4 15:35 locks -rw-rw-r-- 1 bitnami bitnami 229 Jul 4 15:35 README.txt
|
생성된 Repository에 접근하는 방법으로 http, https를 사용하기 위해
Apache 와 Subversion을 연동한다.
/opt/bitnami/apache2/conf/httpd.conf 파일에서 아래 내용이 활성화 되었는지 확인한다.
... LoadModule dav_module modules/mod_dav.so ... LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so |
참고로 위 module 파일은 이미 modules 디렉토리에 포함되어 있다.
bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami/apache2/modules$ ls mod_authz_svn.so mod_dav_svn.so mod_dav_fs.so mod_dav.so .... |
Subversion Repository에 접근하기 위한 Apache 설정을
/opt/bitnami/apache2/conf/httpd.conf 파일에 넣어도 무방하긴 하나
httpd.conf 파일과는 분리된 httpd-subversion.conf 파일을 만들고 이를 Include 하도록 한다.
/opt/bitnami/apache2/conf/httpd.conf 파일에서 아래 내용이 추가되도록 설정한다.
Include "/opt/bitnami/apache2/conf/extra/httpd-subversion.conf" |
그리고 실제로 해당 경로에 httpd-subversion.conf 파일을 생성하고
아래와 같이 편집한다.
<Location /svn/codelabor> DAV svn SVNPath /opt/bitnami/repositories/codelabor </Location> |
우선은 권한 제어는 하지 않고 http, https로 접근이 되는지만 확인한다.
수정된 내용들을 반영하기 위해 subversion과 apache를 재구동 한다.
bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ ./ctlscript.sh restart subversion This script requires root privileges bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ sudo ./ctlscript.sh restart subversion /opt/bitnami/subversion/scripts/ctl.sh : subversion stopped /opt/bitnami/subversion/scripts/ctl.sh : subversion started at port 3690 bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ sudo ./ctlscript.sh restart apache Syntax OK /opt/bitnami/apache2/scripts/ctl.sh : httpd stopped Syntax OK /opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80 |
이제 http, https로 접근이 가능한지 확인한다.
이 때 https는 인증서가 Self-signed 된 사설 인증서라 오류가 나는 것이 정상이다.
접속이 정상인 것을 확인하였으니
이제 해당 Repository 에 접근할 수 있는 사용자를 등록하고 권한을 설정한다.
접근 채널이 Apache를 경유하므로 간단히 Apache의 사용자로 등록한다.
참고로 Apache 사용자 정보는 아래 경로에 등록되며,
sudo /opt/bitnami/apache2/bin/htpasswd -c /opt/bitnami/repositories/users (추가할 계정명)
bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ sudo /opt/bitnami/apache2/bin/htpasswd -c /opt/bitnami/repositories/users bomber New password: Re-type new password: Adding password for user bomber |
위와 같이 사용자를 등록한 후, /opt/bitnami/apache2/users 파일을 살펴보면
아래와 같이 사용자가 등록된 것을 확인할 수 있다.
더 많은 사용자 추가를 위해서는 -c 옵션을 빼고 아래처럼 입력한다.
sudo /opt/bitnami/apache2/bin/htpasswd /opt/bitnami/repositories/users [추가할 다른 계정]
이제 추가된 Apache 사용자를 Subversion Repository에 접근 가능하도록 설정한다.
/opt/bitnami/apache2/conf/extra/httpd-subversion.conf 파일을 아래와 같이 편집한다.
<Location /svn/codelabor> DAV svn SVNPath /opt/bitnami/repositories/codelabor
AuthType Basic AuthName "CODELABOR Repository"
AuthUserFile "/opt/repositories/apache2/users" Require valid-user AuthzSVNAccessFile "/opt/bitnami/repositories/codelabor/authz" </Location> |
요컨데 Apache 사용자 파일에 등록된 사용자 정보를 활용하고
codelabor repository 안의 authz 파일을 참고하여 접근 제어를 하겠다는 의미이다.
아직 /opt/bitnami/repositories/codelabor/authz 파일은 생성되지 않았으므로
파일을 생성하고 아래와 같이 편집한다.
[groups] developer = bomber [/] developer = rw |
Apache, Subversion 설정 파일 모두 수정이 되었으니 각각을 재구동한다.
bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ ./ctlscript.sh restart subversion This script requires root privileges bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ sudo ./ctlscript.sh restart subversion /opt/bitnami/subversion/scripts/ctl.sh : subversion stopped /opt/bitnami/subversion/scripts/ctl.sh : subversion started at port 3690 bitnami@ip-xxx-xxx-xxx-xxx:/opt/bitnami$ sudo ./ctlscript.sh restart apache Syntax OK /opt/bitnami/apache2/scripts/ctl.sh : httpd stopped Syntax OK /opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80 |
재구동하였다면 http, https 접속 테스트를 해본다.
앞서 Basic 방식으로 인증토록 하였기 때문에 위와 같은 로그인 창이 뜨고
정상적으로 인증된 경우, 아래와 같이 Repository 접근이 가능해 진다.
'OS > 리눅스' 카테고리의 다른 글
[SVN] trunk, tags, branches의 용도 (0) | 2019.04.24 |
---|---|
[SVN] project 추가 방법 (0) | 2019.04.23 |
[CentOS7] ip 확인 방법 (0) | 2018.07.24 |
[리눅스] 기본 명령어 (0) | 2018.07.23 |
리눅스 공부 동영상 좋은곳 (0) | 2018.07.23 |
'언어 > 기타' 카테고리의 다른 글
[HTML] 기초 공부 (0) | 2018.06.08 |
---|---|
[python] 기초 강좌 (0) | 2018.06.08 |
투명배경 이미지 파일 만들기 (0) | 2017.10.16 |
'언어 > C#' 카테고리의 다른 글
[C#] Listview Column Sorting 기능 (0) | 2020.02.24 |
---|---|
[rabbit mq] 테스트 (0) | 2019.11.25 |
List 중복제거 (0) | 2019.03.26 |
숫자인치 확인하는 방법 (0) | 2019.03.26 |
invoke sample (0) | 2019.03.26 |
List<int> lst = new List<int>();
lst = lst.Distinct().ToList(); //중복삭제
'언어 > C#' 카테고리의 다른 글
[rabbit mq] 테스트 (0) | 2019.11.25 |
---|---|
[C#] 프로그래밍 배우는 사이트 (0) | 2019.03.29 |
숫자인치 확인하는 방법 (0) | 2019.03.26 |
invoke sample (0) | 2019.03.26 |
Textbox 커서(포커스) 마지막으로 항상 오게 하는 방법 (0) | 2019.03.26 |
int r = 0;
string val = "1";
bool result = int.TryParse(val, out r); // val 값이 r로 치환되는지 검사, 치환되면 true, 오류시 false
'언어 > C#' 카테고리의 다른 글
[C#] 프로그래밍 배우는 사이트 (0) | 2019.03.29 |
---|---|
List 중복제거 (0) | 2019.03.26 |
invoke sample (0) | 2019.03.26 |
Textbox 커서(포커스) 마지막으로 항상 오게 하는 방법 (0) | 2019.03.26 |
[WPF] 응용프로그램 따라해보기 (0) | 2018.08.21 |