매일 업데이트
2023-09-02 22:15 10 min

Raspberry Pi 4를 사용하여 나만의 DIY NAS 서버 구축

전문 사진작가로서 수많은 고해상도 이미지를 관리하거나, 중요한 데이터를 보유한 소규모 사업주, 혹은 방대한 영화 컬렉션을 소장한 영화 애호가라면, 안정적이고 안전한 저장 솔루션은 필수 불가결합니다. 이는 완벽한 개인 정보 보호를 원하며 데이터를 안전하게 저장하고 언제든 접근하려는 개인에게도 마찬가지입니다. 이럴 때 NAS(Network Attached Storage)가 핵심적인 역할을 합니다.

물론 상용화된 NAS 제품도 존재하지만, Raspberry Pi 4와 ownCloud를 활용하여 자신만의 NAS를 구축하는 것이 더욱 경제적이고 맞춤형으로 구성할 수 있는 대안이 될 수 있습니다.

Raspberry Pi와 ownCloud를 사용한 자가 NAS 구축의 이점

직접 NAS를 구축하면 시중 제품을 구매하는 것보다 다양한 장점을 누릴 수 있습니다.

  • 개인의 필요에 맞춰 저장 용량을 자유롭게 조정할 수 있습니다.
  • 데이터에 대한 완전한 통제권을 가지며, 데이터는 로컬 환경에 안전하게 저장됩니다.
  • NAS 서버를 통해 모든 기기의 데이터를 백업하여 불의의 데이터 손실을 예방할 수 있습니다.
  • 최대 15W의 전력을 소모하는 Raspberry Pi 4를 사용하므로, 경제적이면서 에너지 효율적인 솔루션입니다.
  • Plex와 같은 다양한 다른 서비스에도 서버를 활용할 수 있습니다.

ownCloud는 자신만의 클라우드 스토리지를 구축할 수 있도록 돕는 유명한 오픈 소스 소프트웨어입니다. Android, iOS, macOS, Linux, Windows 등 다양한 플랫폼에서 파일 관리 및 접근이 가능한 안전하고 사용자 친화적인 인터페이스를 제공합니다.

또한, 여러 기기 간 파일 동기화 및 다른 사용자와의 공유를 지원합니다. 다양한 플러그인과 확장 기능을 통해 기능을 확장하고, 2단계 인증으로 보안을 강화할 수도 있습니다.

더 나아가, 원격 접근이 가능한 개인 DIY 클라우드 저장소나 웹 서버를 구축하고, Raspberry Pi 4를 사용하여 웹사이트를 호스팅할 수도 있습니다.

준비물

Raspberry Pi 4와 ownCloud를 이용하여 자신만의 NAS를 구축하기 위해 다음 항목들이 필요합니다:

  • 최적의 성능을 위한 4GB 또는 8GB RAM을 갖춘 Raspberry Pi 4
  • USB 인클로저/커넥터가 있는 NVME 또는 SATA SSD
  • Class 10 등급의 16GB 또는 32GB microSD 카드
  • Raspberry Pi 4 전원 공급 장치
  • 고속 데이터 전송을 위해 NAS를 로컬 네트워크에 연결할 수 있는 안정적인 기가비트 네트워크 (라우터)

1단계: NAS용 Raspberry Pi 4 설정

가장 먼저 공식 Raspberry Pi Imager 도구를 다운로드하고, 다음 절차에 따라 운영체제를 설치합니다.

  • Raspberry Pi Imager 도구를 실행합니다.
  • 'OS 선택'을 클릭하고 'Raspberry Pi OS(other)' > 'Raspberry Pi OS Lite (64-bit)'를 선택합니다.
  • '저장소 선택'을 클릭하고 SD 카드를 선택합니다.
  • 기어 아이콘(우측 하단)을 클릭하여 SSH를 활성화합니다. SSH 접속에 사용할 사용자 이름과 비밀번호를 설정하고 '저장'을 클릭합니다.
  • '쓰기'를 클릭하여 확인합니다.
  • microSD 카드 플래싱이 완료되면 Raspberry Pi 4에 삽입하고 전원 공급 장치를 연결합니다. Raspberry Pi 4가 Raspberry Pi OS Lite로 부팅됩니다.

    이제 라우터의 DHCP 설정을 확인하여 Raspberry Pi의 IP 주소를 찾거나 스마트폰 (iOS 및 Android)에서 Fing 앱을 활용할 수 있습니다. 또는 키보드, 마우스, 디스플레이를 Pi에 연결한 후 다음 명령을 실행하여 IP 주소를 확인할 수 있습니다:

    hostname -I

    2단계: Raspberry Pi 4에 ownCloud 설치 및 구성

    Raspberry Pi 4에서 ownCloud를 설치하기 위해서는 다음 항목들을 설치해야 합니다:

    • 웹 서버 (NGINX 또는 Apache)
    • PHP
    • MariaDB 데이터베이스

    이러한 서비스를 설치하기 위해 Windows에서는 Putty 앱을 사용하고, macOS에서는 터미널 앱을 사용하여 SSH를 통해 Raspberry Pi에 접속합니다.

    다음 명령을 실행합니다:

    sudo apt-get update
    sudo apt-get upgrade

    업그레이드가 완료될 때까지 기다립니다. 'Y'를 입력하고 메시지가 나오면 Enter 키를 누릅니다. 업데이트 후 다음 명령어를 실행하여 필요한 패키지를 설치합니다.

    sudo apt-get install apache2
    sudo apt install apache2 libapache2-mod-php7.4 openssl php-imagick php7.4-common php7.4-curl php7.4-gd php7.4-imap php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-pgsql php-smbclient php-ssh2 php7.4-sqlite3 php7.4-xml php7.4-zip

    필수 패키지 설치가 완료되면, Apache 서버를 재시작합니다.

    sudo service apache2 restart

    다음으로, 'www-data' 그룹에 사용자를 추가합니다.

    sudo usermod -a -G www-data www-data

    이제 다음 명령어를 사용하여 Raspberry Pi 4에 ownCloud를 다운로드하고 설치합니다.

    cd /var/www/html
    sudo wget https:
    sudo unzip owncloud-complete-latest.zip

    외부 SSD를 마운트하기 위한 디렉토리를 생성하고, ownCloud 디렉토리의 소유권을 변경합니다.

    sudo mkdir /media/ExternalSSD
    sudo chown www-data:www-data /media/ExternalSSD
    sudo chmod 750 /media/ExternalSSD

    문제 발생을 예방하기 위해 권한을 수정합니다.

    sudo chown -R www-data: /var/www/html/owncloud
    sudo chmod 777 /var/www/html/owncloud
    sudo mkdir /var/lib/php/session
    sudo chmod 777 /var/lib/php/session

    다음으로, Apache 웹 서버를 구성해야 합니다. 설정 파일을 엽니다.

    sudo nano /etc/apache2/conf-available/owncloud.conf

    다음 줄을 추가합니다:

    Alias /owncloud "/var/www/owncloud/"

    <Directory /var/www/owncloud/>
      Options +FollowSymlinks
      AllowOverride All

     <IfModule mod_dav.c>
      Dav off
     </IfModule>

     SetEnv HOME /var/www/html/owncloud
     SetEnv HTTP_HOME /var/www/html/owncloud

    </Directory>

    Ctrl + O, Ctrl + X를 차례로 눌러 nano 편집기를 저장하고 종료합니다. 이제 Apache 모듈을 활성화합니다.

    sudo a2enconf owncloud
    sudo a2enmod rewrite
    sudo a2enmod headers
    sudo a2enmod env
    sudo a2enmod dir
    sudo a2enmod mime

    MariaDB 데이터베이스를 설치합니다.

    sudo apt install mariadb-server

    사용자를 위한 데이터베이스를 생성합니다.

    sudo mysql

    CREATE DATABASE owncloud;
    CREATE USER 'ownclouduser'@'localhost' IDENTIFIED BY 'YourPassword';
    GRANT ALL PRIVILEGES ON owncloud.* TO 'ownclouduser'@'localhost';
    FLUSH PRIVILEGES;
    Exit;

    라즈베리 파이를 재부팅합니다.

    sudo reboot

    3단계: 외부 저장소 추가

    USB 3.0 포트를 통해 Raspberry Pi 4에 여러 USB 저장 장치를 연결할 수 있습니다. USB 포트에 SSD 또는 하드 드라이브를 연결하고, 아래 단계에 따라 외부 저장 장치를 파일 시스템의 디렉토리에 마운트하여 DIY NAS에 저장 공간을 추가합니다.

    외부 저장소를 마운트하기 위해 '/media/ExternalSSD' 디렉토리를 이미 만들었습니다. SSD 또는 HDD가 NTFS로 포맷되었는지 확인하고 다음 단계에 따라 마운트합니다.

    sudo apt-get install ntfs-3g

    이제 GID, UID, UUID를 확인합니다.

    id -u www-data
    id -g www-data
    ls -l /dev/disk/by-uuid

    UUID, GID, UID 값을 기록해 둡니다. 이 예시에서, sda1은 외부 NTFS로 포맷된 SSD 디스크입니다. 이제 fstab 파일에 해당 드라이브를 추가합니다.

    sudo nano /etc/fstab

    다음 줄을 추가합니다:

    UUID= 01D9B8034CE29270 /media/ExternalSSD auto nofail,uid=33,gid=33,umask=0027,dmask=0027,noatime 0 0

    외부 저장 장치를 마운트하려면 해당 장치의 식별자를 찾아야 합니다. 연결된 모든 저장 장치를 나열하기 위해 다음 명령을 사용합니다.

    lsusb

    이 단계에서, Raspberry Pi를 재부팅하여 외부 저장소를 자동 마운트하거나, 다음 명령어를 사용하여 수동으로 마운트할 수 있습니다.

    sudo mount /dev/sda1 /media/ExternalSSD

    NTFS 드라이브의 모든 파일은 '/media/ExternalSSD' 디렉토리에 나타나야 합니다.

    드라이브에는 현재 시스템 볼륨 정보와 RECYCLE.BIN 숨겨진 폴더만 있습니다. 시스템을 재부팅합니다.

    sudo reboot

    4. ownCloud 구성

    재부팅 후 웹 브라우저에서 Raspberry Pi의 IP 주소로 접속하여 ownCloud에 접근합니다.

    원하는 사용자 이름과 비밀번호를 입력합니다. 저장소 및 데이터베이스를 선택하고, 아래와 같이 MariaDB 데이터베이스 정보를 입력합니다.

    외부 드라이브를 사용하여 데이터를 저장하는 경우, 데이터 폴더 경로를 기본 값인 '/var/www/html/owncloud/data'에서 '/media/ExternalSSD'로 변경해야 합니다. 나중에 새 드라이브나 저장소를 추가하려면, ownCloud 가이드에 따라 디렉토리 경로를 업데이트하십시오.

    '설정 완료'를 클릭합니다. 잠시 후 ownCloud에 로그인할 수 있습니다.

    스마트폰이나 컴퓨터에 ownCloud 앱을 다운로드하여 파일을 동기화할 수 있습니다. 하지만 동기화나 파일 업로드를 시작하기 전에 외부 HDD 또는 SSD 스토리지를 추가해야 합니다.

    각 단계를 주의 깊게 따라 했다면, 이제 자신만의 Cloud NAS에 파일을 업로드할 준비가 된 것입니다.

    새로운 Raspberry Pi 4 NAS 활용하기

    NAS를 사용하면 로컬 네트워크 내 여러 장치의 데이터를 중앙 집중화하고 접근할 수 있습니다. 집이나 사무실에서 파일을 저장, 공유, 백업하는 효율적이고 편리한 방법입니다. 더 많은 사용자를 생성하고 각자의 클라우드 계정을 할당하여 데이터를 업로드하고 보호할 수 있도록 설정하십시오.

    Raspberry Pi 4와 ownCloud를 활용하여 자신만의 NAS를 구축하는 것은, 스토리지 요구사항을 충족하고 데이터에 대한 통제권을 확보할 수 있는 경제적이고 사용자 맞춤형 솔루션을 제공합니다!

    저자
    Korea

    기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.