윈도우즈 host 시스템을 통해 APM(Apache PHP Mysql) 을 운영시 네트워크 드라이브로 연결된 NAS를 upload / download 디렉토리로 구성 할 경우가 있다.
이럴때 단순히 바로가기 형태의 링크로는 해당 네트워크 드라이브의 디렉토리로 Apache를 통해 접근이 안되고 404 에러가 발생을 한다. 리눅스의 경우 아파치 홈디렉토리 밑으로도 NFS  볼륨을 마운트 포인트 디렉토리로 설정 할 수 있어서 문제가 없지만 윈도우즈는 다르게 설정을 해줘야 한다.

이 문서에서는 디렉토리 링크 방식을 통한 간단한 해결 방법을 안내한다.

 

1. 환경

♦ OS : 윈도우 2008 R2 (ip : 192.168.10.200)

♦ APM : APMSETUP 7 for Win32

♦ Apache Home Dir : c:\Homes

♦ NAS : 리눅스 SAMBA 서버 (ip : 192.168.10.254)

 

2.  링크 디렉토리 생성

– 바로가기 형태로 만들면 파일이 생성되지만 아래와 같이 생성하면 바로가기 디렉토리가 생성이 된다.

2.1. 링크디렉토리 생성

관리자 권한으로 CMD창 실행 후 아래와 같이 입력
mklink /D c:\Homes\download \\192.168.10.254\Images\download01

– 생성 전에 192.168.10.254\images 에 대해 인증/암호저장 형태로 네트워크 드라이브로 연결을 해 놓는다.
(암호 저장 형태로 연결을 안 해놓으면 나중에 연결이 끊어질 수 있다.)

– 링크폴더를 삭제시에는 윈도우즈 탐색기에서 링크폴더 아이콘(바로가기)을 지우면 된다. 이때 원본은 지워지지 않는다.

2.2. 설명

– c:\ImgStore\download : 업로드 링크 디렉토리

– \\192.168.10.254 \Homes\download01 : 업로드 링크 디렉토리에 연결되는 NAS 디렉토리

 

3. 권한 설정

– 위에 까지만 설정 후 해당 디렉토리에 엑세스 하면 403 (permission) 에러가 발생을 한다.

– 아래와 같이 설정하되 보안에 문제가 될 수 있다면 Administrator가 아닌 별도의 계정으로 세팅할 것.

3.1. httpd.conf  수정

User Administrator

Group Administrators

3.2. Apache 서비스 계정 지정

윈도우 시작 – 컴퓨터 (마우스 오른쪽 버튼) – 관리 – 서버 관리자 – 구성 – 서비스
–> 서비스 목록의 APM_APACHE2 – 속성 – 로그온 – 계정 지정 – Administrator(비번입력)

3.3. Apache 재시작

 

4. 접근 테스트

– 웹드라우져를 통해 해당 디렉토리의 파일을 엑세스 해본다.

http://서버도메인/download/image-sample.jpg

–> NAS 의 download01 내의 image-sample.jpg 이미지 파일이 브라우져에 제대로 표시가 된다.

 

apache 홈디렉토리 뿐만 아니라 FTP서버의 홈디렉토리에 다른 디렉토리를 링크폴더로 연결 시키거나 cifs(smb)서버의 디렉토리로 링크를 생성해서 사용할 수도 있다.

이상 이다.

Windows APM 기반 apache NAS 접근
태그:                         

Windows APM 기반 apache NAS 접근”에 대한 4개의 생각

  • 2015년 12월 22일 11:05 오전
    고유주소

    안녕하세요. 궁금한게 있어서 질문올립니다. 혹시 http.conf에서 alias 설정은 따로 안해도 되는건가요??

    응답
    • 2015년 12월 27일 7:41 오후
      고유주소

      제 경우에는 alias 설정은 따로 하지 않고 동작 되었습니다.

      응답
  • 2017년 3월 17일 5:43 오후
    고유주소

    3.2. Apache 서비스 계정 지정 을 웹서버 계정인가요?
    아니면 NAS 계정인가요?

    응답
    • 2017년 3월 17일 10:10 오후
      고유주소

      웹서버 계정입니다. 즉, 웹서버가 수행되는 Windows 계정입니다.

      응답

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다