본문 바로가기

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로 설정됩니다.

반응형