본문 바로가기

IT/NAS

[자작NAS] 7. 우분투 서버에 ownCloud 설치

반응형

ownCloud는 직접 호스팅이 가능한 Dropbox 형식의 스토리지입니다.

NAS에서 활용하기 좋은 기능입니다.

ownCloud를 위해 MariaDB를 미리 설치한 상태로 작업을 진행하면 됩니다.


1. MariaDB 설정

먼저 ownCloud에서 MariaDB를 사용할 수 있도록 설정을 합니다.

MariaDB 도커 컨테이너가 멈춘 상태라면 start 명령으로 MariaDB를 시작합니다.

sudo docker start mariadb

컨테이너가 시작되면 MariaDB에 연결합니다.

sudo docker exec -it mariadb bash

MariaDB 설정을 위해 root 계정으로 DB에 접속합니다.

mysql -u root -p

연결한 이후에 owncloud가 사용할 DB를 생성합니다.

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'%' IDENTIFIED BY 'password';
flush privileges;

명령어를 순서대로 입력해서 계정과 DB를 생성합니다.

create user의 owncloud 부분에는 실제 사용할 ID를 입력하고 password 부분에는 비밀번호를 입력하면 됩니다.

정상적으로 생성되면 빠져나오면 됩니다.


2. 윈도우 폴더 마운트

데이터 디렉토리로 사용하기 위해서 윈도우의 폴더를 우분투에 마운트합니다.

우분투가 네이티브면 디스크 용량을 그대로 사용하기 때문에 하지 않아도 됩니다.

다만 우분투를 VMWare에 설치했기 때문에 실제 데이터를 윈도우 폴더에 저장하는 작업입니다.

아래의 /etc/fstab을 수정하는 형태로 디렉토리를 마운트하면 됩니다.

2016/09/17 - [IT/Linux] - [Ubuntu] 윈도우 공유 폴더(CIFS) 우분투에서 마운트하기

ownCloud는 www-data 계정을 사용하기 때문에 uid=33을 뒤에 추가해줍니다.

//192.168.1.111/ownCloud /mnt/owncloud cifs username=guest,password=,iocharset=utf8,sec=ntlm,uid=33,gid=33,file_mode=0770,dir_mode=0770 0 0

도커 컨테이너를 생성할 때 /mnt/owncloud 디렉토리를 사용합니다.

ownCloud의 데이터 디렉토리 권한은 770으로 설정해야 합니다.


2. 도커에서 ownCloud 이미지 받기

도커를 통해 ownCloud의 공식 이미지를 받을 수 있습니다.

아래의 페이지를 통해 공식 지원되는 ownCloud의 이미지를 확인할 수 있습니다.

https://hub.docker.com/_/owncloud/

ownCloud 이미지는 Apache와 fpm 버전으로 구분되어 있습니다.

Apache를 사용하는 latest 태그로 이미지를 받습니다.

sudo docker search owncloud

ownCloud의 공식 이미지를 확인할 수 있습니다.

도커의 pull 명령어를 통해 최신 버전의 ownCloud를 받습니다.

sudo docker pull owncloud:latest

도커의 images 명령어로 다운로드한 이미지를 확인할 수 있습니다.


3. 도커에 ownCloud 컨테이너 생성

docker run 명령어로 ownCloud 컨테이너를 생성합니다.

sudo docker run --name owncloud --link mariadb:mariadb -v /mnt/owncloud:/mnt/data -d -p 80:80 owncloud:latest

도커의 컨테이너와 컨테이너를 연결하기 위해서 --link 옵션을 사용했습니다.

앞의 mariadb는 컨테이너의 이름이고 뒤의 mariadb는 ownCloud 컨테이너 내의 별칭입니다.

나중에 뒤의 ownCloud 컨테이너 내의 별칭으로 DB에 연결하게 됩니다.

ownCloud는 기본적으로 SQLite를 사용하지만 MySQL이나 MariaDB 등의 DB 사용이 가능합니다.

그리고 -p를 통해서 포트를 설정할 수 있습니다.

ownCloud는 기본적으로 80번 포트를 사용하며 호스트의 다른 포트와 연결할 수 있습니다.

80:80의 앞 부분은 호스트의 포트이며 뒤의 80은 컨테이너의 포트입니다.

앞의 포트를 변경하면 실제 연결되는 포트를 변경할 수 있습니다.

마지막으로 -v 옵션은 호스트 OS의 /mnt/owncloud 디렉토리를 /mnt/data로 가져오는 것입니다.

도커 컨테이너 내에서는 /mnt/data 디렉토리로 사용됩니다.

도커 컨테이너가 생성되면 기본적으로 ownCloud를 사용할 수 있는 준비가 완료됩니다.


4. ownCloud 설정

우분투 서버의 IP를 통해 웹페이지에 접속하면 ownCloud 시작 화면을 볼 수 있습니다.

저장소 및 데이터베이스 부분을 클릭하면 MariaDB 설정이 가능합니다.

MariaDB를 선택하고 각 필드를 채워줍니다.

가장 상단의 관리자 계정에는 원하는 계정과 비밀번호를 입력하면 됩니다.

데이터 폴더는 컨테이너 생성할 때 마운트 시킨 디렉토리를 입력합니다.

데이터베이스는 MySQL/MariaDB로 변경합니다.

username은 MariaDB에서 create user로 생성한 유저명이고 비밀번호 역시 동일하게 입력합니다.

데이터베이스 이름은 create database로 생성한 owncloud를 입력합니다.

마지막은 기본적으로 localhost인데 ownCloud 생성할 때 --link의 뒷 부분인 별칭으로 변경합니다.

정상적으로 입력하면 설치 완료를 눌러서 설치를 완료합니다.

정상적으로 입력이 되면 ownCloud 사용이 가능합니다.


5. ownCloud 업로드 용량 제한 설정

ownCloud는 기본적으로 512MB 정도의 업로드 제한이 설정되어 있습니다.

고용량의 파일을 업로드할 수 있도록 업도르 용량 제한의 크기를 변경할 수 있습니다.

우측의 메뉴에서 관리자를 선택합니다.

목록에 파일 처리 부분에 보면 최대 업로드 크기가 있습니다.

넉넉하게 8192 MB로 입력하면 파일 크기가 8 GB로 설정됩니다.

반응형
  • BlogIcon USB메모리 2017.04.15 15:28 신고

    좋은 글 작성 해주신 덕분에 잘 설치했습니다.

    한가지 질문이 있는데요.

    관리자 설정에서 외부 저장소항목이 다음과 같은 메시지가 떠서 설정이 안되는데 혹시 아시는지요?

    메모: "smbclient"이(가) 설치되어 있지 않습니다. SMB/CIFS, OC 로그인을 사용하는 SMB/CIFS을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.

    기존 윈도우 공유 폴더를 등록 하려니 안되더군요.

  • BlogIcon USB메모리 2017.04.16 18:27 신고

    답변 감사합니다.^^
    컨테이너 만들고 관리자 계정 만들고 나면 기본 폴더 Document , Photos 가 나오고
    그 다음에 원하는 윈도우 폴더를 알려주신대로 마운트 하면 루트 폴더는 보이는데 안에 내용이 안보이더라구요.

    아무래도 owncloud의 설정 - 외부 저장소에서 SMB/CIFS로 폴더를 마운트 해야 하는가 봅니다.
    에러 메시지대로 'smbclient'를 설치해야 하는데, 설명서를 읽어봐도 잘 이해가 안가네요
    좀 시간이 필요할것 같아요 ㅎ

    • BlogIcon psychoria 2017.04.16 19:37 신고

      해당 디렉토리에 대한 공유 설정이 필요한 것은 아닐까 싶은데 버전이 올라가면서 달라진 것은 아닐까도 싶네요. 잘 해결되셨으면 합니다.

  • 2020.04.29 15:43

    비밀댓글입니다