Windows Apache 서버에서의 설치 » 이력 » 버전 1
Jinwuk Admin, 2018/07/06 15:04
1 | 1 | Jinwuk Admin | h1. Windows Apache 서버에서의 설치 |
---|---|---|---|
2 | 1 | Jinwuk Admin | |
3 | 1 | Jinwuk Admin | 본 문서는 Windwos Apcahe 서버에서 *WebDAV*를 기반으로 하면서 Git Server를 설치 운용하는 방법에 대하여 논한다. |
4 | 1 | Jinwuk Admin | 일단, Git For Windows가 설치되어 있다고 가정한 상태에서 설명을 서술한다. |
5 | 1 | Jinwuk Admin | |
6 | 1 | Jinwuk Admin | 많은 경우, Windows의 Apache 서버 세팅 대신 Linux Apache 서버 세팅인 관계로 Windows에서 어떻게 Git 서버 세팅이 가능한지, 잘 나와 있지 않다. 그러나 생각보다 쉽다. |
7 | 1 | Jinwuk Admin | |
8 | 1 | Jinwuk Admin | h2. 사전준비 |
9 | 1 | Jinwuk Admin | |
10 | 1 | Jinwuk Admin | 일단 서버의 경우 다음과 같이 bare Git Repository를 htdocs에 만든다. |
11 | 1 | Jinwuk Admin | 이 두 명령어는 Windows Commander로 만들고 |
12 | 1 | Jinwuk Admin | |
13 | 1 | Jinwuk Admin | <pre> |
14 | 1 | Jinwuk Admin | mkdir test_git.git |
15 | 1 | Jinwuk Admin | cd test_git.git |
16 | 1 | Jinwuk Admin | </pre> |
17 | 1 | Jinwuk Admin | |
18 | 1 | Jinwuk Admin | git 명령은 Windows용 Git Bash를 사용해야 한다. 디렉토리는 *test_git.git* 이라 가정한다. (..\htdocs\test_git.git) 이다. |
19 | 1 | Jinwuk Admin | |
20 | 1 | Jinwuk Admin | <pre> |
21 | 1 | Jinwuk Admin | git --bare init |
22 | 1 | Jinwuk Admin | git update-server-info |
23 | 1 | Jinwuk Admin | </pre> |
24 | 1 | Jinwuk Admin | |
25 | 1 | Jinwuk Admin | 즉, Command 창과 Git Bash 창을 동시에 사용해야 한다. |
26 | 1 | Jinwuk Admin | 다음 WebDav를 활성화 시켜야 한다. 2가지 방법이 있다. |
27 | 1 | Jinwuk Admin | |
28 | 1 | Jinwuk Admin | h2. WebDAV 기반 설치 |
29 | 1 | Jinwuk Admin | |
30 | 1 | Jinwuk Admin | h3. Windows IIS 로 WebDav를 활성화 시키는 방법 (그런데 이방식으로 Apache 서버가 활성화 되는 것 같지 않다.) |
31 | 1 | Jinwuk Admin | |
32 | 1 | Jinwuk Admin | * Windows 7 에서 Webdav 서버 설정하는 방법 |
33 | 1 | Jinwuk Admin | http://ycho.tistory.com/15 |
34 | 1 | Jinwuk Admin | |
35 | 1 | Jinwuk Admin | 제어판->Windows 기능 활성/비활성 -> IIS (Internet Information Service)기능 활성화 |
36 | 1 | Jinwuk Admin | |
37 | 1 | Jinwuk Admin | |
38 | 1 | Jinwuk Admin | h3. Apache의 WebDav 모듈을 Enable 시키는 방법 |
39 | 1 | Jinwuk Admin | |
40 | 1 | Jinwuk Admin | a2enmod dav_fs |
41 | 1 | Jinwuk Admin | 그런데 보통은 a2enmod.exe 가 Redmine Apache 서버에 없다 그럼 다른 방법은?? |
42 | 1 | Jinwuk Admin | |
43 | 1 | Jinwuk Admin | |
44 | 1 | Jinwuk Admin | h3. httpd.conf 에서 WebDav 활성화 시키기 |
45 | 1 | Jinwuk Admin | |
46 | 1 | Jinwuk Admin | 이 방법을 통해 실제로 Git Server를 활성화 시켰다. |
47 | 1 | Jinwuk Admin | |
48 | 1 | Jinwuk Admin | 일단, Apache 서버를 끄고 |
49 | 1 | Jinwuk Admin | |
50 | 1 | Jinwuk Admin | */conf/ httpd.conf* 에서 다음을 찾아보자. |
51 | 1 | Jinwuk Admin | <pre> |
52 | 1 | Jinwuk Admin | Dynamic Shared Object (DSO) Support |
53 | 1 | Jinwuk Admin | </pre> |
54 | 1 | Jinwuk Admin | |
55 | 1 | Jinwuk Admin | 이 항목에서 다음의 Module 3개가 모두 Load 되도록 한다. |
56 | 1 | Jinwuk Admin | |
57 | 1 | Jinwuk Admin | <pre> |
58 | 1 | Jinwuk Admin | LoadModule dav_module modules/mod_dav.so |
59 | 1 | Jinwuk Admin | LoadModule dav_fs_module modules/mod_dav_fs.so |
60 | 1 | Jinwuk Admin | LoadModule dav_lock_module modules/mod_dav_lock.so |
61 | 1 | Jinwuk Admin | </pre> |
62 | 1 | Jinwuk Admin | |
63 | 1 | Jinwuk Admin | 현재 httpd.conf 에 |
64 | 1 | Jinwuk Admin | |
65 | 1 | Jinwuk Admin | DocumentRoot "C:/Bitnami/redmine-2.4.2-0/apache2/htdocs" |
66 | 1 | Jinwuk Admin | |
67 | 1 | Jinwuk Admin | 로 설정되어 있고 해당 Root의 형식이 그 밑에 설정되어 있다. |
68 | 1 | Jinwuk Admin | 나중에 환경변수로 Git Repository 를 설정하고 비슷하게 만들어서 실험해 보자. |
69 | 1 | Jinwuk Admin | |
70 | 1 | Jinwuk Admin | 그 다음 Password File을 생성해야 한다. Bin 밑에 보면 htpasswd 가 있다. 이것을 사용하여 다음과 같이 만들자. |
71 | 1 | Jinwuk Admin | |
72 | 1 | Jinwuk Admin | <pre> |
73 | 1 | Jinwuk Admin | $ htpasswd -c passwd.git <user> |
74 | 1 | Jinwuk Admin | </pre> |
75 | 1 | Jinwuk Admin | |
76 | 1 | Jinwuk Admin | 그러면 password 를 묻는다. Password를 입력하면 passwd.git 파일이 생성된다. |
77 | 1 | Jinwuk Admin | passwd.git 파일을 /conf 밑에 복사한다. |
78 | 1 | Jinwuk Admin | |
79 | 1 | Jinwuk Admin | 사용자를 추가하기 위해서는 위에서 passwd.git 에 –c 옵션 없이 사용자를 추가하면 된다. |
80 | 1 | Jinwuk Admin | |
81 | 1 | Jinwuk Admin | 다시, httpd.conf 파일을 열어서 다음과 같이 편집한다. |
82 | 1 | Jinwuk Admin | |
83 | 1 | Jinwuk Admin | <pre> |
84 | 1 | Jinwuk Admin | # WebDAV for Git Server |
85 | 1 | Jinwuk Admin | # First Locking DAV Operation using DavLockDB |
86 | 1 | Jinwuk Admin | # Second Including the following Directory |
87 | 1 | Jinwuk Admin | # |
88 | 1 | Jinwuk Admin | |
89 | 1 | Jinwuk Admin | DavLockDB "c:\Bitnami\redmine-2.4.2-0\apache2\var\DavLock" |
90 | 1 | Jinwuk Admin | |
91 | 1 | Jinwuk Admin | <Location /test_git.git> |
92 | 1 | Jinwuk Admin | DAV on |
93 | 1 | Jinwuk Admin | AuthType Basic |
94 | 1 | Jinwuk Admin | AuthName Git |
95 | 1 | Jinwuk Admin | AuthUserFile conf/passwd.git |
96 | 1 | Jinwuk Admin | Require valid-user |
97 | 1 | Jinwuk Admin | </Location> |
98 | 1 | Jinwuk Admin | </pre> |
99 | 1 | Jinwuk Admin | |
100 | 1 | Jinwuk Admin | *DavLockDB 경로를 잘 적어 주어야 한다.* |
101 | 1 | Jinwuk Admin | User의 경우 valid-user로 해주어야 한다. |
102 | 1 | Jinwuk Admin | |
103 | 1 | Jinwuk Admin | Apache 서버를 다시 Enable 시킨다. |
104 | 1 | Jinwuk Admin | 이 정도만 하면 |
105 | 1 | Jinwuk Admin | |
106 | 1 | Jinwuk Admin | http://jnwhome.iptime.org/test_git.git 하면 해당 페이지를 볼 수 있다 (ID와 PW 입력 후) |
107 | 1 | Jinwuk Admin | |
108 | 1 | Jinwuk Admin | |
109 | 1 | Jinwuk Admin | h3. User 권한 설정 |
110 | 1 | Jinwuk Admin | |
111 | 1 | Jinwuk Admin | 그리고 가장 중요한 점은… |
112 | 1 | Jinwuk Admin | |
113 | 1 | Jinwuk Admin | Test_git.git 폴더의 권한을 잡아 주어야 한다. Linux에서는 이 부분을 chmod 혹은 chown -R www.www 을 통해 수행하는데 Windows 에서는 전혀 다르다. Windows에서는 test_git.git 에 우측 마우스를 대고 속성->보안으로 들어가서 |
114 | 1 | Jinwuk Admin | |
115 | 1 | Jinwuk Admin | *Authenticated Users*를 모든 권한으로 해 주어야 한다. 안 그러면 Git 에서 에러가 난다. 이로서 WebDav로 인증된 사용자가 Git Remote 서버를 인증하여 사용할 수 있게 된다. |
116 | 1 | Jinwuk Admin | |
117 | 1 | Jinwuk Admin | h2. 시험 및 확인 |
118 | 1 | Jinwuk Admin | |
119 | 1 | Jinwuk Admin | Client 에서는?? |
120 | 1 | Jinwuk Admin | 만일 Git Bash가 있다면 다음과 같이 하면 된다. (경로는 Windows 경로가 되도록 한다) |
121 | 1 | Jinwuk Admin | |
122 | 1 | Jinwuk Admin | <pre> |
123 | 1 | Jinwuk Admin | mkdir ~/Desktop/test-project |
124 | 1 | Jinwuk Admin | cd ~/Desktop/test-project |
125 | 1 | Jinwuk Admin | </pre> |
126 | 1 | Jinwuk Admin | <pre> |
127 | 1 | Jinwuk Admin | git init |
128 | 1 | Jinwuk Admin | git remote add origin http://<user>@<server name or IP address>/test-project.git |
129 | 1 | Jinwuk Admin | touch README |
130 | 1 | Jinwuk Admin | git add . |
131 | 1 | Jinwuk Admin | git commit -a -m “Initial import” |
132 | 1 | Jinwuk Admin | git push origin master |
133 | 1 | Jinwuk Admin | </pre> |
134 | 1 | Jinwuk Admin | |
135 | 1 | Jinwuk Admin | 만일 TortoiseGit 이 설치되어 있다면 다음과 같이 한다. |
136 | 1 | Jinwuk Admin | 일단, Git Repository here 를 수행하여 특정 폴더를 git Repository 로 만든다. |
137 | 1 | Jinwuk Admin | Bare로 만들면 안된다. |
138 | 1 | Jinwuk Admin | |
139 | 1 | Jinwuk Admin | TortoiseGit -> Setting -> Git 에서 설정을 확인한 후 (사용자 정보와 이메일) |
140 | 1 | Jinwuk Admin | Git->Remote를 설정한다. (매우 중요) |
141 | 1 | Jinwuk Admin | |
142 | 1 | Jinwuk Admin | <pre> |
143 | 1 | Jinwuk Admin | <URL> |
144 | 1 | Jinwuk Admin | http://jnwhome.iptime.org/test_git.git |
145 | 1 | Jinwuk Admin | </pre> |
146 | 1 | Jinwuk Admin | |
147 | 1 | Jinwuk Admin | 이것만 넣어 주어도 자동적으로 origin 이 뜬다. 다음이 중요하다. |
148 | 1 | Jinwuk Admin | |
149 | 1 | Jinwuk Admin | <pre> |
150 | 1 | Jinwuk Admin | <Push URL> |
151 | 1 | Jinwuk Admin | http://MyID:MyPW@jnwhome.iptime.org/test_git.git |
152 | 1 | Jinwuk Admin | </pre> |
153 | 1 | Jinwuk Admin | |
154 | 1 | Jinwuk Admin | 꼭 *ID와 PW를 http://* 앞에 같이 써주어야 한다. |
155 | 1 | Jinwuk Admin | 그리고 PUSH를 해주면 Remote에 Push가 된다. |
156 | 1 | Jinwuk Admin | |
157 | 1 | Jinwuk Admin | h2. 참조 사이트 |
158 | 1 | Jinwuk Admin | |
159 | 1 | Jinwuk Admin | * 기본적인 사항은 다음 사이트를 참조한다. |
160 | 1 | Jinwuk Admin | https://git-scm.com/book/ko/v1/Git-%EC%84%9C%EB%B2%84-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C |
161 | 1 | Jinwuk Admin | |
162 | 1 | Jinwuk Admin | * 혹은 다음 사이트를 참조한다. |
163 | 1 | Jinwuk Admin | http://www.rasplay.org/?p=1325 |
164 | 1 | Jinwuk Admin | |
165 | 1 | Jinwuk Admin | * 이 사이트도 아주 좋다. |
166 | 1 | Jinwuk Admin | http://blog.bobbyallen.me/2012/07/23/installing-a-git-server-using-apache-webdav-on-ubuntu-server-12-04/ |