개발 ON
  • [Raspberry Pi 5] 라즈베리파이5 WebDAV 설치
    2024년 10월 12일 16시 21분 13초에 업로드 된 글입니다.
    작성자: 이주여이

    회사에서 각종 자료들을 나스에 저장하는데 GUI로 되어있는 게 이뻤다.

     

    그거 따라서 되는건 줄 알고 했다가 나는 비루한 html 화면을 맞이했지만..

     

    그래도 설치는 해놨으니 간략하게 메모용으로 남긴다.

     

    1. Apache2 설치

    apt-get update
    apt-get install apache2

    2. dav, dav_fs 모듈 활성화

    a2enmod dav
    a2enmod dav_fs

    원래 그런건진 모르겠는데 명령어 실행하니 나는 둘 다 활성화되어 있는 상태였다.

    3. WebDAV용 디렉터리 생성

    ‘mkdir’ 명령어를 사용해 원하는 곳에서 디렉터리를 생성한다.

     

    참고로 나는 '/' 경로에 'webdav'라는 이름으로 디렉터리를 생성했다.

     

    밑에 설정 파일에서 작성해야 하니 경로는 기억해두면 된다.

    4. WebDAV 전용 계정 생성

    htpasswd -c /etc/apache2/webdav.password #{계정명}

     

    위의 명령어를 통해 WebDAV에 사용할 계정을 생성할 수 있다.

     

    명령어를 입력하면 해당 계정에서 사용할 비밀번호를 입력하라고 뜨는데 입력 후 해당 파일을 읽어보면 계정명이랑 암호화된 비밀번호가 출력된다.

     

    해당 파일은 Apache의 기본 인증을 통해 WebDAV에 접근할 때 사용되며 사용자 인증을 위해 필요한 정보가 포함되어 있다.

     

    계정을 몇 개 더 만들고 싶으면 위 명령어에서 -c 만 빼면 된다. ‘-c’ 명령어는 create의 약자라고 한다.

     

    참고로 htpasswd ~ 명령어로 하는 작업은 인터넷에서 WebDAV로 접속할 때 로그인하는 계정을 추가하는 작업이다.

     

    SSH 접속 이런 거랑 다른거니 헷갈리지말자.

    5. webdav.password 소유권 및 권한 변경

    chown root:www-data /etc/apache2/webdav.password
    chmod 640 /etc/apache2/webdav.password

     

    webdav.password 파일의 소유권과 권한을 바꿔준다.

    6. Apache2 설정

    1. WebDAV 접속 포트 변경

    ‘/etc/apache2/ports.conf’에서 원하는 포트로 변경한다.

     

    Listen #{원하는 포트 입력}
    
    <IfModule ssl_module>
            Listen 443
    </IfModule>
    
    <IfModule mod_gnutls.c>
            Listen 443
    </IfModule>

     

    나는 SSL 작업 후에 다시 복사해온 거라 443 이런 게 추가되어 있는데 무시하고 포트만 변경하면 된다.

    2. Apache2 설정 파일 수정

    그리고 원래있던 conf 파일을 건드리거나 새로 만들어서 WebDAV 설정 내용을 적어줘야 한다.

     

    ‘000-default.conf’에 넣는 경우도 있으나 나는 ‘webdav.conf’를 따로 만들어 분리했다.

     

    아래를 참고하자.

     

    root@raspberrypi:/etc/apache2/sites-available# tree
    .
    ├── 000-default.conf
    ├── 000-default-le-ssl.conf
    ├── default-ssl.conf
    └── webdav.conf

     

    내용은 아래를 참고해서 적어준다.

     

    <VirtualHost *:#{위에서 수정한 포트 번호 }>
        DocumentRoot /webdav
    
        Alias /webdav /webdav
        <Directory /webdav>
            DAV On
            Options Indexes
            AuthType Basic
    #        Require all granted
            AuthUserFile /etc/apache2/webdav.password
            Require valid-user
        </Directory>
    </VirtualHost>

     

    • Alias /webdav /webdav - URL 경로 ‘/webdav’를 서버 시스템 내 ‘/webdav’랑 매핑 시킨다. 즉, 클라이언트가 ‘/webdav’로 접근하면 서버의 ‘/webdav’ 디렉터리에 접근한다.
    • <Directory ‘/webdav’> - ‘/webdav’에 해당하는 디렉터리에 대한 설정을 정의한다.
    • DAV On - WebDAV 기능을 활성화한다.
    • Options Indexes - 해당 디렉터리의 파일 목록을 보여줄 수 있도록 설정하는 부분으로 해당 옵션이 없으면 파일 목록이 표출되지 않는다.
    • AuthType Basic - 기본 인증 방식을 사용하도록 설정하는 것으로 접근 시 사용자 이름과 패스워드를 입력 받는다.
    • AuthUserFile - 인증에 사용할 사용자 이름과 비밀번호가 저장된 파일의 경로를 지정한다.
    • Required valid-user - 인증받은 사용자가 이 디렉터리에 접근할 수 있도록 설정한다.

    이후 ‘systemctl restart apache2’ 명령어를 통해 서버를 재시작하고 접속해본다.

     

    해당 포트로 들어갔을 때 아래와 같이 로그인 화면이 뜨고 로그인에 성공한 경우 WebDAV 전용 디렉터리에 넣어놓은 파일이 표출되면 성공한 것이다.

     

     


    참고 레퍼런스

    https://lance.tistory.com/14

     

    댓글