RaspberryPi3 및 NextCloud로 미디어 서버 구축
12647 단어 RaspberryPinextcloud
입문
Raspberry Pi3와 Next Cloud로 전용 미디어 서버를 구축해 보았습니다. 본 기사는 당시 단계의 노트입니다.
또한 본 기사에서 OS는 Raspbian을 사용하고 데이터의 저장 장소는 RaspberryPi3 USB와 연결된 외장 HDD를 사용합니다.
참고로 라즈파에서 Nextcloud를 사용하기 위해 NextCloudPi라는 OS도 발표했습니다. 마음에 드는 사람은 조사해 주십시오. ->https://ownyourbits.com/2017/02/13/nextcloud-ready-raspberry-pi-image/
준비물
NextCloud 정보
NextCloud는 온라인 스토리지를 구축할 수 있는 Open Source 소프트웨어입니다.
ownCloud라는 서비스는 포크를 통해 개발되었다.
NextCloud HP - https://nextcloud.com
이번 편 - 랩스베리Pi3에서 Nextcloud 사용
초기 설정
우선 라즈베리피에 라즈비안을 설치합니다.
Raspbian 설치에 관해서는 과거에 다른 기사를 썼기 때문에 생략했습니다. Raspbian의 설치 절차를 모르는 분들은 꼭 보세요! ->Raspbian 설치 및 초기화
Raspbian을 설치하면 패키지도 업데이트됩니다.$ sudo apt-get update
$ sudo apt-get upgrade
Apache 설치
웹 서버 소프트웨어를 설치하는 Apache$ sudo apt-get install apache2
PHP7.0을 설치합니다.$ sudo apt-get install php7.0
설치가 완료되면 Apache를 다시 시작합니다.$ sudo service apache2 restart
NextCloud 설치
디렉토리를 이동합니다.$ cd /var/www/html
인터넷에서 NextCloud를 다운로드하여 압축을 풀다.$ curl https://download.nextcloud.com/server/releases/nextcloud-13.0.1.tar.bz2 | sudo tar -jxv
해동이 끝나면 이 디렉터리로 이동하여 데이터 폴더를 만듭니다. 기본적으로 미디어 서버의 데이터를 저장합니다.$ cd nextcloud
$ sudo mkdir data
마지막으로 다양한 파일과 폴더에 대한 액세스 권한을 편집합니다.www-data
는 Apache의 기본 사용자(및 그룹)입니다.
NextCloud 설치는 여기서 끝납니다.$ sudo chown www-data:www-data /var/www/html/nextcloud/data
$ sudo chmod 750 /var/www/html/nextcloud/data
$ sudo chown www-data:www-data config apps
MariaDB 설치
MariaDB를 설치합니다.$ sudo apt-get install mariadb-client mariadb-server
설치가 완료되면 DB의 초기 설정을 수행합니다.
마리아 DB에 들어가는 CCTV 화면.$ sudo mysql -u root -p
그런 다음 NextCloud에 대한 DB를 생성합니다.CREATE DATABASE <db-name>;
데이터베이스를 사용하는 사용자와 비밀번호를 만듭니다.CREATE USER '<db-username>'@'localhost' IDENTIFIED BY '<db-userpass>';
생성된 사용자에게 DB 관리 권한을 부여합니다.GRANT ALL PRIVILEGES ON <db-name>.* to '<db-username>'@'localhost';
콘솔에서 권한을 새로 고치고 MariaDB를 종료합니다.FLUSH PRIVILEGES;
quit
외장 하드 드라이브 설정
기본적으로 미디어 서버의 데이터는 RaspberryPi 호스트에 삽입된 Micro SD에 저장되므로 외부 HDD로 변경됩니다.
우선 Linux의 파일 시스템 ext4로 외장 HDD를 포맷하면 HDD에 저장된 데이터가 삭제되기 때문에 미리 백업하는 것을 권장합니다.
HDD 포맷은 fdisk
및 parted
으로 할 수 있으며, fdisk
2TB 미만의 파티션만 만들 수 있는데, 이번에는 3TB HDD를 충분히 활용하고 싶어서 parted
사용했습니다.
먼저 RaspberryPi에 HDD를 연결하여 df
명령 등을 통해 연결된 HDD의 디바이스 이름을 확인합니다.$ df
HDD의 초기 설치 위치가 /dev/sda
, /dev/sdb
등 설치 위치가 다른 사람은 매번 교체해 주십시오.
그럼 하드디스크를 포맷하세요.
우선 GNU parted를 사용하여 기존 파티션을 삭제하고 새 파티션을 만듭니다. 아래 내용을 참고하십시오.$ sudo parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel
New disk label type? gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? y
(parted) mkpart
Partition name? []? nextcloud
File system type? [ext2]? ext4
Start? 0%
End? 100%
(parted) print
Model: TOSHIBA External USB 3.0 (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB ext4 nextcloud
(parted) quit
이어서 ext4로 하드디스크를 포맷합니다.$ sudo mkfs.ext4 /dev/sda
다음은 HDD를 마운트하는 폴더를 만듭니다. 일반적으로 /media
또는 /mnt
에서 만듭니다.$ sudo mkdir /media/hdd0
적재 목적지를 변경하다.$ sudo mount /dev/sda /media/hdd0
디스크 용량을 확인할 때 적절한 위치에 설치되었는지 확인하십시오.$ df
그런 다음 하드 드라이브를 자동으로 마운트하도록 설정합니다.$ sudo blkid /dev/sda
표시된 UUID를 복사하십시오.
백업을 먼저 작성한 후 편집합니다/etc/fstab
.$ sudo cp /etc/fstab /etc/fstab_backup
$ sudo vi /etc/fstab
마지막 줄에 다음과 같이 보충하여 저장하십시오.# HDD for NextCloud
UUID=******** /media/hdd0 ext4 defaults,noatime 0 0
HDD를 연결한 상태에서 RaspberryPi를 다시 시작하면 HDD가 정해진 위치에 설치되기만 하면 됩니다.sudo shutdown -r now
$ df
마지막으로 설치된 HDD에 데이터를 저장할 수 있는 환경을 구축합니다.
제작.ocdata
, 액세스 권한 편집.$ sudo chown www-data:www-data /media/hdd0
$ sudo touch /media/hdd0/.ocdata
$ sudo chown www-data:www-data /media/hdd0/.ocdata
NextCloud 설정
Chromium 등의 브라우저 액세스http://localhost/nextcloud
를 통해 NextCloud의 초기 설정을 수행합니다.
PHP 관계가 부족하면 혼난다. 필요한 것을 넣고 아파치를 다시 시작하자.
$ sudo apt-get install php7.0-mysql php7.0-pgsql php7.0-zip php7.0-dev php7.0-mbstring php7.0-gd php7.0-curl
$ sudo service apache2 restart
NextCloud 시작. 처음 시작할 때 관리자 계정의 사용자 이름과 암호를 설정해야 합니다.
데이터 폴더에 외장 HDD가 마운트된 위치를 입력하고 데이터베이스의 사용자 이름, 비밀번호, 데이터베이스 이름에 각각 MariaDB 설정을 입력할 때 만든 내용을 입력합니다.
설정 완료를 클릭하면 NextCloud 설정이 종료됩니다.
NextCloud 사용 시도
NextCloud의 미디어 서버에 액세스하는 경우http://<ラズパイのIPアドレス>/nextcloud
.
Raspberry Pi의 IP 주소는$ ifconfig
$ ip route
확인해 보겠습니다.
또한 처음에 IP 주소를 통해 직접 액세스할 경우 다음과 같은 오류가 발생할 수 있습니다.Access through untrusted domain
Please contact your administrator. If you are an administrator, edit the "trusted_domains" setting in config/config.php like the example in config.sample.php.
Depending on your configuration, this button could also work to trust the domain:
"192.xxx.xxx.xxx" を信頼するドメイン名に追加
열기config.php
domains 를 편집하십시오.$ sudo vi /var/www/html/nextcloud/config/config.php
config.php
'trusted_domains' =>
array(
0 => 'localhost',
1 => '192.xxx.xxx.xxx',
),
이제 NextCloud를 통해 하드 드라이브에 액세스할 수 있습니다. 수고하셨습니다.
기타
파일 검색
포맷된 데이터 저장용 HDD에 대량의 데이터를 넣으려면 NextCloud를 통해 업로드하는 데 시간이 많이 걸리므로 미리 HDD에 데이터를 모두 넣은 후 파일을 총 스캔하여 DB에 로그인하는 방법을 추천합니다.
이번에는 exFAT의 HDD에서 데이터를 복사하려고 하지만 Linux는 기본적으로 exFAT를 설치할 수 없기 때문에 처음에는 exFAT 주위의 패키지를 설치했습니다.$ sudo apt-get install exfat-fuse exfat-utils
NextCloud의 데이터 저장 위치/media/hdd0/<nextcloud-username>/files
로 데이터를 복사합니다.
다음은 파일 소유자를 www.data로 편집합니다.$ sudo chown -R www-data:www-data /media/hdd0/<nextcloud-username>/files
마지막으로 파일을 총 스캔합니다.cd /var/www/html/nextcloud/
sudo -u www-data php occ files:scan <nextcloud-username>
NextCloud에 다시 액세스할 때 파일이 추가되었습니다.
고정 IP 주소
RaspberryPi를 재부팅할 때마다 IP 주소가 변경될 때마다 미디어 서버에 액세스하기 어렵기 때문에 IP 주소를 고정합니다.
먼저 라우터의 설정 화면에 액세스하여 DHCP 서버의 주소 범위를 확인합니다. 고정 IP 주소를 할당할 때 이 범위 밖으로 설정해야 합니다.
고정 IP 주소를 설정하면 업데이트config.php
합니다.
끝날 때
라스파에서 NextCloud를 시작하여 외장형 HDD를 사용하는 전용 미디어 서버를 구축했습니다. 라스파와 HDD는 항상 전원을 연결해야 하지만 그렇게 많은 전력을 소모하지 않기 때문에 여러 단말기에서 HDD에 접근할 수 있는 것은 상당히 편리합니다. 하지만,좀 늦은 것 같은데...
이번에 설정한 것은 집에서만 사용하는 개인용입니다. 그 중에서 포트가 개방되고 도메인이 취득되며 SSL화되고 외부도 접근할 수 있습니다.
본 보도와 관련하여 잘못된 지적, 개량 방안, 문제 등이 있으면 언제든지 논평해 주십시오. 열람해 주셔서 감사합니다.
참고 자료
초기 설정
우선 라즈베리피에 라즈비안을 설치합니다.
Raspbian 설치에 관해서는 과거에 다른 기사를 썼기 때문에 생략했습니다. Raspbian의 설치 절차를 모르는 분들은 꼭 보세요! ->Raspbian 설치 및 초기화
Raspbian을 설치하면 패키지도 업데이트됩니다.
$ sudo apt-get update
$ sudo apt-get upgrade
Apache 설치
웹 서버 소프트웨어를 설치하는 Apache
$ sudo apt-get install apache2
PHP7.0을 설치합니다.$ sudo apt-get install php7.0
설치가 완료되면 Apache를 다시 시작합니다.$ sudo service apache2 restart
NextCloud 설치
디렉토리를 이동합니다.
$ cd /var/www/html
인터넷에서 NextCloud를 다운로드하여 압축을 풀다.$ curl https://download.nextcloud.com/server/releases/nextcloud-13.0.1.tar.bz2 | sudo tar -jxv
해동이 끝나면 이 디렉터리로 이동하여 데이터 폴더를 만듭니다. 기본적으로 미디어 서버의 데이터를 저장합니다.$ cd nextcloud
$ sudo mkdir data
마지막으로 다양한 파일과 폴더에 대한 액세스 권한을 편집합니다.
www-data
는 Apache의 기본 사용자(및 그룹)입니다.NextCloud 설치는 여기서 끝납니다.
$ sudo chown www-data:www-data /var/www/html/nextcloud/data
$ sudo chmod 750 /var/www/html/nextcloud/data
$ sudo chown www-data:www-data config apps
MariaDB 설치
MariaDB를 설치합니다.
$ sudo apt-get install mariadb-client mariadb-server
설치가 완료되면 DB의 초기 설정을 수행합니다.마리아 DB에 들어가는 CCTV 화면.
$ sudo mysql -u root -p
그런 다음 NextCloud에 대한 DB를 생성합니다.CREATE DATABASE <db-name>;
데이터베이스를 사용하는 사용자와 비밀번호를 만듭니다.CREATE USER '<db-username>'@'localhost' IDENTIFIED BY '<db-userpass>';
생성된 사용자에게 DB 관리 권한을 부여합니다.GRANT ALL PRIVILEGES ON <db-name>.* to '<db-username>'@'localhost';
콘솔에서 권한을 새로 고치고 MariaDB를 종료합니다.FLUSH PRIVILEGES;
quit
외장 하드 드라이브 설정
기본적으로 미디어 서버의 데이터는 RaspberryPi 호스트에 삽입된 Micro SD에 저장되므로 외부 HDD로 변경됩니다.
우선 Linux의 파일 시스템 ext4로 외장 HDD를 포맷하면 HDD에 저장된 데이터가 삭제되기 때문에 미리 백업하는 것을 권장합니다.
HDD 포맷은
fdisk
및 parted
으로 할 수 있으며, fdisk
2TB 미만의 파티션만 만들 수 있는데, 이번에는 3TB HDD를 충분히 활용하고 싶어서 parted
사용했습니다.먼저 RaspberryPi에 HDD를 연결하여
df
명령 등을 통해 연결된 HDD의 디바이스 이름을 확인합니다.$ df
HDD의 초기 설치 위치가 /dev/sda
, /dev/sdb
등 설치 위치가 다른 사람은 매번 교체해 주십시오.그럼 하드디스크를 포맷하세요.
우선 GNU parted를 사용하여 기존 파티션을 삭제하고 새 파티션을 만듭니다. 아래 내용을 참고하십시오.
$ sudo parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel
New disk label type? gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? y
(parted) mkpart
Partition name? []? nextcloud
File system type? [ext2]? ext4
Start? 0%
End? 100%
(parted) print
Model: TOSHIBA External USB 3.0 (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB ext4 nextcloud
(parted) quit
이어서 ext4로 하드디스크를 포맷합니다.$ sudo mkfs.ext4 /dev/sda
다음은 HDD를 마운트하는 폴더를 만듭니다. 일반적으로 /media
또는 /mnt
에서 만듭니다.$ sudo mkdir /media/hdd0
적재 목적지를 변경하다.$ sudo mount /dev/sda /media/hdd0
디스크 용량을 확인할 때 적절한 위치에 설치되었는지 확인하십시오.$ df
그런 다음 하드 드라이브를 자동으로 마운트하도록 설정합니다.$ sudo blkid /dev/sda
표시된 UUID를 복사하십시오.백업을 먼저 작성한 후 편집합니다
/etc/fstab
.$ sudo cp /etc/fstab /etc/fstab_backup
$ sudo vi /etc/fstab
마지막 줄에 다음과 같이 보충하여 저장하십시오.# HDD for NextCloud
UUID=******** /media/hdd0 ext4 defaults,noatime 0 0
HDD를 연결한 상태에서 RaspberryPi를 다시 시작하면 HDD가 정해진 위치에 설치되기만 하면 됩니다.sudo shutdown -r now
$ df
마지막으로 설치된 HDD에 데이터를 저장할 수 있는 환경을 구축합니다.제작
.ocdata
, 액세스 권한 편집.$ sudo chown www-data:www-data /media/hdd0
$ sudo touch /media/hdd0/.ocdata
$ sudo chown www-data:www-data /media/hdd0/.ocdata
NextCloud 설정
Chromium 등의 브라우저 액세스
http://localhost/nextcloud
를 통해 NextCloud의 초기 설정을 수행합니다.PHP 관계가 부족하면 혼난다. 필요한 것을 넣고 아파치를 다시 시작하자.
$ sudo apt-get install php7.0-mysql php7.0-pgsql php7.0-zip php7.0-dev php7.0-mbstring php7.0-gd php7.0-curl
$ sudo service apache2 restart
NextCloud 시작. 처음 시작할 때 관리자 계정의 사용자 이름과 암호를 설정해야 합니다.데이터 폴더에 외장 HDD가 마운트된 위치를 입력하고 데이터베이스의 사용자 이름, 비밀번호, 데이터베이스 이름에 각각 MariaDB 설정을 입력할 때 만든 내용을 입력합니다.
설정 완료를 클릭하면 NextCloud 설정이 종료됩니다.
NextCloud 사용 시도
NextCloud의 미디어 서버에 액세스하는 경우http://<ラズパイのIPアドレス>/nextcloud
.
Raspberry Pi의 IP 주소는$ ifconfig
$ ip route
확인해 보겠습니다.
또한 처음에 IP 주소를 통해 직접 액세스할 경우 다음과 같은 오류가 발생할 수 있습니다.Access through untrusted domain
Please contact your administrator. If you are an administrator, edit the "trusted_domains" setting in config/config.php like the example in config.sample.php.
Depending on your configuration, this button could also work to trust the domain:
"192.xxx.xxx.xxx" を信頼するドメイン名に追加
열기config.php
domains 를 편집하십시오.$ sudo vi /var/www/html/nextcloud/config/config.php
config.php
'trusted_domains' =>
array(
0 => 'localhost',
1 => '192.xxx.xxx.xxx',
),
이제 NextCloud를 통해 하드 드라이브에 액세스할 수 있습니다. 수고하셨습니다.
기타
파일 검색
포맷된 데이터 저장용 HDD에 대량의 데이터를 넣으려면 NextCloud를 통해 업로드하는 데 시간이 많이 걸리므로 미리 HDD에 데이터를 모두 넣은 후 파일을 총 스캔하여 DB에 로그인하는 방법을 추천합니다.
이번에는 exFAT의 HDD에서 데이터를 복사하려고 하지만 Linux는 기본적으로 exFAT를 설치할 수 없기 때문에 처음에는 exFAT 주위의 패키지를 설치했습니다.$ sudo apt-get install exfat-fuse exfat-utils
NextCloud의 데이터 저장 위치/media/hdd0/<nextcloud-username>/files
로 데이터를 복사합니다.
다음은 파일 소유자를 www.data로 편집합니다.$ sudo chown -R www-data:www-data /media/hdd0/<nextcloud-username>/files
마지막으로 파일을 총 스캔합니다.cd /var/www/html/nextcloud/
sudo -u www-data php occ files:scan <nextcloud-username>
NextCloud에 다시 액세스할 때 파일이 추가되었습니다.
고정 IP 주소
RaspberryPi를 재부팅할 때마다 IP 주소가 변경될 때마다 미디어 서버에 액세스하기 어렵기 때문에 IP 주소를 고정합니다.
먼저 라우터의 설정 화면에 액세스하여 DHCP 서버의 주소 범위를 확인합니다. 고정 IP 주소를 할당할 때 이 범위 밖으로 설정해야 합니다.
고정 IP 주소를 설정하면 업데이트config.php
합니다.
끝날 때
라스파에서 NextCloud를 시작하여 외장형 HDD를 사용하는 전용 미디어 서버를 구축했습니다. 라스파와 HDD는 항상 전원을 연결해야 하지만 그렇게 많은 전력을 소모하지 않기 때문에 여러 단말기에서 HDD에 접근할 수 있는 것은 상당히 편리합니다. 하지만,좀 늦은 것 같은데...
이번에 설정한 것은 집에서만 사용하는 개인용입니다. 그 중에서 포트가 개방되고 도메인이 취득되며 SSL화되고 외부도 접근할 수 있습니다.
본 보도와 관련하여 잘못된 지적, 개량 방안, 문제 등이 있으면 언제든지 논평해 주십시오. 열람해 주셔서 감사합니다.
참고 자료
$ ifconfig
$ ip route
Access through untrusted domain
Please contact your administrator. If you are an administrator, edit the "trusted_domains" setting in config/config.php like the example in config.sample.php.
Depending on your configuration, this button could also work to trust the domain:
"192.xxx.xxx.xxx" を信頼するドメイン名に追加
$ sudo vi /var/www/html/nextcloud/config/config.php
'trusted_domains' =>
array(
0 => 'localhost',
1 => '192.xxx.xxx.xxx',
),
파일 검색
포맷된 데이터 저장용 HDD에 대량의 데이터를 넣으려면 NextCloud를 통해 업로드하는 데 시간이 많이 걸리므로 미리 HDD에 데이터를 모두 넣은 후 파일을 총 스캔하여 DB에 로그인하는 방법을 추천합니다.
이번에는 exFAT의 HDD에서 데이터를 복사하려고 하지만 Linux는 기본적으로 exFAT를 설치할 수 없기 때문에 처음에는 exFAT 주위의 패키지를 설치했습니다.
$ sudo apt-get install exfat-fuse exfat-utils
NextCloud의 데이터 저장 위치/media/hdd0/<nextcloud-username>/files
로 데이터를 복사합니다.다음은 파일 소유자를 www.data로 편집합니다.
$ sudo chown -R www-data:www-data /media/hdd0/<nextcloud-username>/files
마지막으로 파일을 총 스캔합니다.cd /var/www/html/nextcloud/
sudo -u www-data php occ files:scan <nextcloud-username>
NextCloud에 다시 액세스할 때 파일이 추가되었습니다.고정 IP 주소
RaspberryPi를 재부팅할 때마다 IP 주소가 변경될 때마다 미디어 서버에 액세스하기 어렵기 때문에 IP 주소를 고정합니다.
먼저 라우터의 설정 화면에 액세스하여 DHCP 서버의 주소 범위를 확인합니다. 고정 IP 주소를 할당할 때 이 범위 밖으로 설정해야 합니다.
고정 IP 주소를 설정하면 업데이트
config.php
합니다.끝날 때
라스파에서 NextCloud를 시작하여 외장형 HDD를 사용하는 전용 미디어 서버를 구축했습니다. 라스파와 HDD는 항상 전원을 연결해야 하지만 그렇게 많은 전력을 소모하지 않기 때문에 여러 단말기에서 HDD에 접근할 수 있는 것은 상당히 편리합니다. 하지만,좀 늦은 것 같은데...
이번에 설정한 것은 집에서만 사용하는 개인용입니다. 그 중에서 포트가 개방되고 도메인이 취득되며 SSL화되고 외부도 접근할 수 있습니다.
본 보도와 관련하여 잘못된 지적, 개량 방안, 문제 등이 있으면 언제든지 논평해 주십시오. 열람해 주셔서 감사합니다.
참고 자료
Reference
이 문제에 관하여(RaspberryPi3 및 NextCloud로 미디어 서버 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pira/items/10efe9e93cbf13e1617f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)