응용

Windows - WebDAV/Apache24

상석하대 2023. 12. 3. 14:28

【취지】

Windows(Windows Server 말고)가 허용한 공유폴더의 동시 접속수는 매우 적다.

외부에서 공유폴더처럼 이용하고 싶다.

***IIS 기반 WebDAV는 역시 동시 접속수가 공유 폴더와 마찬가지이다.

 

【설치】

Windows 11에서 설치했으나 다른 버전이나 Windows Server도 마찬가지이다.

Windows Server라면 명령 프롬프트를 관리자 권한으로 실행할 필요는 없다.

 

1. 필요한 파일을 다운로드한다.

https://aka.ms/vs/17/release/vc_redist.x64.exe
https://www.apachelounge.com/download/VS17/binaries/httpd-2.4.58-win64-VS17.zip

2. 다운로드한 VC_redist.x64.exe를 실행한다.

3.  Visual C++ 2015-2022 재배포 패키지를 설치한다.

4. 사용자 계정 컨트롤을 허용한다.

5.  Visual C++ 2015-2022 재배포 패키지 설치를 마친다.

6. 다운로드한 httpd-2.4.58-win64-VS17.zip 파일을 푼다.

7. 표시 선택은 알아서 한다.

8. 안에 있는 Apache24 폴더를 통째로 복사한다.

9. 복사한 Apache24 폴더를 C:\ 바로 밑으로 붙여 넣는다.

10. 아파치 실행 파일들은 C:\Apache24\bin 안에 있음을 알아 둔다.

5. 제어판 > 시스템 > 고급 시스템 설정 > 환경 변수로 들어 간다.

6. 시스템 변수에서 Path를 선택하고 편집한다.

7. 새로 만들기를 클릭한다.

8. C:\Apache\bin 폴더를 바로 입력한다.

9. 확인으로 적용하고 환경변수 설정을 마친다.

【설정】

1. C:\Apache24\conf 안에 있는 httpd.conf 파일을 메모장으로 연다.

2. 편집한다.

 ① mod_auth_digest.so 주석 해제

 ② mod_dav.so 주석 해제

 ③ mod_dav_fs.so 주석 해제, 빨강줄 나머지들은 WebDAV서비스에 필수 모듈임을 참고한다.

 ④ ServerAdmin 줄 주석

 ⑤ ServerName 수정

 ⑥ DocumentRoot 주석

 ⑦ Directory 섹션 주석

 ⑧ httpd-dav.con 주석 해제

 ⑨ 저장

3. 명령 프롬프트를 관리자 권한으로 실행한다.

4. httpd -k를 입력해서 httpd.conf 파일 편집에 오류는 없는지 확인한다.

httpd -k install을 입력해서 Apache를 윈도우의 서비스로 등록한다.

5. Windows Defender 방화벽 경고에 뜨는 이름, 경로 등을 확인하고 허용한다.

6. 개인 네트워크에 체크하지 않았다면 허용한다.

7. 인바운드 규칙에 Apache HTTP Service가 2개 생기는데 각각 TCP, UDP여서다.

8. TCP 것의 속성으로 간다.

9. 프로그램 및 서비스 탭에서 프로그램은 윈도우 방화벽에 이런식으로 등록된다는 걸 참고로 알아 둔다.

10. 고급에서 프로필을 모두 허용한다.

11. WebDAV 사용자를 만든다.

일단, C:\Apache24\conf\extra\httpd-dav.conf를 수정하지 않고 그대로 따랐다.

하여 사용자는 admin으로 했다.

처음 생성은 -c 옵션이다.

예) htdigest -c C:\Apache24\user.passwd DAV-upload admin

또한 -c 옵션은 기존 입력들을 초기화 한다.

이후 사용자 추가는 -c 옵션을 빼고 생성한다.

예) htdigest C:\Apache24\user.passwd DAV-upload demouser

12. C:\Apache24 안에 var, uploads 폴더를 만든다.

httpd-dav.conf를 수정하지 않고 그대로 따랐기 때문에 var, uploads 이다.

13. httpd -k start를 입력해서 Apache를 시작한다.

14. 웹서비스(WebDAV)가 잘 기동됐는지 확인한다. 

【접속】

1. 탐색기 > 내 PC > 컴퓨터 > 네트워크 드라이브 연결을 클릭한다.

예)

Apache 실행하는 컴퓨터의 내부 IP는 192.168.0.100이며 공유기의 WAN 주소는 210.179.xxx.xxx이다.

공유기에서 TCP 80번 포트를 192.168.0.100으로 포워딩했다.

내부에서 접속 주소와 폴더는 http://192.168.0.100/uploads,

외부는 http://210.179.xxx.xxx/uploads 이다.

2. 로그인한다.

3. 폴더를 만들어 본다.

(쓰기 테스트)

만든 폴더를 바탕화면으로 드래그 해본다.

(읽기, 다운로드 테스트)

4. 폴더를 선택하고 오른 클릭으로 삭제를 클릭한다.

5. 삭제를 확인한다.

6. 삭제가 잘 됐는지 확인한다.

(수정 테스트)

7. 네트워크 드라이브를 오른 클릭하여 연결을 종료해 본다.

(끊기 테스트)

8. 웹브라우저에서는 210.179.xxx.xxx 입력시 접근 금지가 나와야 한다.

(보안 테스트)

9. 210.179.xxx.xxx/uploads 입력시에도 마찬가지여야 한다.

【튜닝】

WebDAV 서비스는 httpd-dav.conf 파일을 기반으로 한다.

Alias(접속시 붙인 uploads) 수정,

Directory(파일 저장 폴더) 변경,

Require user(사용자 관리) 등에 httpd-dav.conf 파일을 수정한다.

반응형