작성일 댓글 남기기

자작NAS – 클라우드 스토리지

클라우드(Cloud)라는 말은 어느새 우리 디지털 생활(Digital Life)을 영위하는 데에 빠질 수 없는 말이 되었습니다. 하지만 우리가 클라우드라고 할 때에는 보통 클라우드 스토리지(Cloud Storage)를 가리키는 경우가 많습니다.

클라우드 스토리지

클라우드 스토리지는 “서버에 내 자료를 저장해두고, 클라이언트 단말기를 이용하여 언제 어디서든 내 자료에 접근하는 기술”이라고 할 수 있습니다. 백문이 불여일견이라고 설명을 들어도 이해가 가지 않는다면 실제 서비스를 보면 됩니다.

네이버의 네이버 클라우드, 마이크로소프트의 OneDrive, Dropbox 등이 있고, 지금은 서비스가 종료된 다음카카오의 다음클라우드도 있습니다. 이제는 감이 올 겁니다.

그래도 잘 모르겠다면 클라우드 스토리지에 대해 자세히 설명이 되어 있는 나무위키를 찾아보시기 바랍니다.

Nextcloud

제가 소개해드릴 클라우드 스토리지 Nextcloud는 앞서 잠깐 언급했던 네이버 클라우드, 다음클라우드, Dropbox, OneDrive 등과 같은 서비스와 거의 같은 기능을 제공합니다.

Nextcloud 주요 기능

  • Dropbox와 같은 동기화(Sync) 기능
  • 스마트폰 전용 애플리케이션(안드로이드, 아이폰)
  • Windows, Mac, Linux 다양한 OS 지원
  • 공개 주소를 통한 파일 및 폴더 공유
  • ownCloud 사용자 및 그룹 사이의 공유
  • 다양한 3rd Party 애플리케이션 제공

Dropbox의 설치형 버전이라고 생각하면 쉽습니다. 블로그도 기업에서 제공되는 서비스형 블로그와 개인이 웹호스팅과 도메인 서비스를 받아서 직접 설치하는 설치형 블로그가 있듯이, Nextcloud는 Dropbox의 설치형 버전이라고 할 수 있습니다.

물론 세부적인 기능들에서는 조금씩의 차이점이 있습니다만 거의 동일한 기능을 제공하며 오히려 대부분 무료 사용자인 것을 고려할 때 기능은 Nextcloud가 더 다양하다고 할 수 있습니다. 오히려 Nextcloud는 자신이 사용자이면서 동시에 관리자가 되는 것이기 때문에 자신뿐 아니라 다른 사람까지도 자신의 Nextcloud를 이용할 수 있게 계정을 만들고 관리할 수도 있습니다. 개인 드롭박스의 운영자쯤 된다 할 수 있겠습니다.

실제로 영리 운영자가 되어 수익을 내는 서비스를 제공할 수는 없겠지만 지인들끼리 사용할 클라우드 스토리지를 구축한다던가, 아니면 자기 자신만을 위한 클라우드 스토리지를 구축할 수 있는 것입니다.

Nextcloud를 설치하여 나를 위한 클라우드 스토리지를 구축해 봅시다.

 

작성일 댓글 남기기

우분투 자작 NAS – 번외편 2, ownCloud 8.1 업데이트

ownCloud 8.1 업데이트

ownCloud가 6월 6일 메이저 업데이트로 인해 8.1 버전이 되었다. 굉장히 눈에 띄는 몇 가지 추가 기능이 있다.
다음은 ownCloud 홈페이지에 있는 체인지로그다. 밑줄과 진하게로 주목할만한 기능을 표시했다.

Version 8.1.0 July 6th 2015

  • Much polishing, stability and performance improvements
  • Encryption 2.0
  • Updated Documents
  • New Mount Options for External Storage
  • Federated Cloud ID
  • Integrated documentation
  • LDAP Wizard Improvements
  • Security Improvements
  • App store improvements
  • Release channels
  • ownCloud API work: 190 new calls, 50 replaced
  • Many small improvements

1. New Mount Options for External Storage (외부 저장소를 위한 마운트 옵션)

이건 정말 있으면 좋겠다고 자주 생각해오던 기능이다. 이제 ownCloud에 외부 저장소를 추가할 수 있게 되었다.

다양한 외부 저장소를 지원한다. 자기 서버의 저장소를 삼바나 로컬경로를 이용해 추가할 수 있고, 타인의 서버의 저장소를 FTP나 WebDAV를 이용해 추가할 수도 있다. 아니면 다른 ownCloud 주소와 계정을 이용해 추가할 수도 있다. 뿐만 아니라, Amazon, Dropbox, Google Drive와 같은 상용 클라우드 서비스를 외부 저장소로 추가할 수도 있다.

owncloud-external storage

참고로 자신의 서버에 있는 폴더를 연결할 때, 로컬로 연결하게 되면 권한 문제로 복합해질 수 있다. ownCloud에서는 읽기만 가능하고 수정과 삭제가 안되었다. 권한으로 해결하려다 간단하게 SMB(삼바) 연결로 변경하여 해결했다. 별다른 권한 설정 없이 삼바 서버를 이용중이라면 매우 간편하다.

2. App store improvements (앱스토어 향상)

8.1 버전을 처음 쓴다면 앱스토어에 별 다른 감흥이 없겠지만, 이전 버전을 써오던 사람이 8.1 버전의 앱스토어를 들어가면 놀라움을 금치 못할 것이다. 원하는 앱을 원클릭으로 설치할 수 있게 굉장한 improvement가 있었다.

기본적으로는 ownCloud로부터 인증을 받은 앱을 설치할 수 있게 되있지만, 옵션을 눌러 [실험적인 앱 사용]을 체크하면 인증받지 않은 앱들도 모두 설치가 가능해진다.

owncloud-app store

그러나 어떤 앱이든지, 꼭 테스트 서버에서 테스트를 거친 후 사용하는 것을 추천한다.

3. Release channels (업데이트 채널)

이전에는 7.1.0에서 7.1.1이 릴리즈 되면 업데이트 하라는 메시지가 ownCloud 상단에 떴었다. 리비전 혹은 마이너 업데이트[ref]리비전은 0.0.1 단위로 올라가는 것을 말하고, 마이너 업데이트는 0.1 단위로 올라가는 것을 말하는 것 같다. 메이저 업데이트는 맨 앞의 번호가 올라가는 것이다.[/ref]마다 업데이트하라고 알림이 뜬 것이다.

그러나 이제는 어떤 주기로 업데이트 알림을 볼 것인가 선택할 수 있게 되었다. 네 가지를 선택할 수 있는데, 운영, 안정, 베타, 매일이다. 그리고 상위 버전으로 업데이트만 가능하고 하위 버전으로 내려올 수는 없다.

owncloud-update channels

[운영]은 0.1 이상의 업데이트가 있을 때에만 알림을 준다.
[안정]은 0.0.1 단위로 알림을 준다.
[베타]는 0.0.0.1 단위로 알림을 준다.
[매일]은 아마도 데일리빌드[ref]A daily build or nightly build is the practice of each day doing a software build of the latest version of a program. (출처: 영어 위키백과)[/ref]로 업데이트를 해주는 것 같다.

지금 최신 버전은 8.1.1.3 인데, 내 ownCloud 서버는 8.1.0 버전이다. 현재 업데이트 채널을 [운영]으로 해놨기 때문에 업데이트가 있다고 알림이 뜨지 않는다. 그러나 [안정]이나 [베타]로 놓게 되면 바로 알림이 뜬다.

별것 아닌 기능같지만, ownCloud 서버를 유지 보수하는데 있어서 꽤나 도움이 된다. 사소한 업데이트에도 알림이 뜨지 않는다는 것은 잦은 업데이트에 대한 스트레스도 감소시켜 준다.

4. 모바일 환경 개선

체인지로그 목록에는 없는 부분이다. 이것은 실제로 사용하기 때문에 알 수 있는 변화다. 8.0.x 버전에서는 링크로 공유된 파일이 모바일 디바이스에서 다운로드되지 않는 치명적인 버그가 존재했다. 아이폰에서는 정상이었으나 안드로이드폰에서는 동작하지 않았던 것으로 기억한다.

하지만 이번 업데이트에서 완전히 해결되었다. 다운로드 버튼을 누르면 정상적으로 다운로드가 된다. 모바일로 파일을 보내줄 때는 링크를 보내줄 수 없었던 불편함이 사라지게 되었다. 아마 이 버그는 8.0.x 버전에만 존재한 것으로 보인다. 7 버전을 쓸 때는 전혀 그런 일이 없었기 때문이다.


8.1 버전의 몇가지 주목할만한 기능에 대해서 알아봤다. ownCloud를 6버전일 때부터 쓰고 있지만 빌드 번호가 하나 하나 높아질 때마다 상용 클라우드 서비스 못지 않게 좋아지는 것을 경험한다. ownCloud 서버 뿐만 아니라 그 위에서 동작하는 여러가지 앱 또한 함께 좋아지고 있다. 이 모두가 앞으로의 ownCloud를 더욱 기대하게 만든다.

 

작성일 댓글 10개

우분투 자작 NAS – 12강, ownCloud 업로드 제한 변경, 데이터 저장 위치 변경

10강 11강에서 ownCloud를 설치하고, 한글 관련 문제를 해결하고, 업데이트 하는 방법에 대해서 다루었는데, 몇 가지 사항을 더 다뤄야 할 필요를 느껴서 두번 정도 더 ownCloud에 관한 포스팅을 할 것이다.

먼저 이 포스팅에서는 다음 항목을 다룬다.

  1. 기본 업로드 가능 용량인 512MB를 8GB로 변경하기
  2. 기본 데이터 저장 폴더를 다른 폴더로 변경하기

하나씩 살펴보자.

업로드 용량 제한 변경하기

1. ownCloud의 .htaccess 파일을 수정한다.
sudo vi /ownCloud가_설치된_경로/owncloud/.htaccess

php_value upload_max_filesize 과 php_value post_max_size 항목을 찾아서 8G로 변경한다.

php_value upload_max_filesize 8G
php_value post_max_size 8G
2. php.ini 파일을 수정한다.
sudo vi /etc/php5/apache2/php.ini

upload_max_filesize 항목을 찾아서 8G로 변경한다.
(php.ini 파일의 41% 쯤에 있는데, ‘/’키를 누른 후 검색할 문자열을 입력 후 엔터를 치면 해당 문자열을 찾아준다. vi 기초 사용법 참조)

upload_max_filesize = 8G
3. 웹서버를 재시작한다.
sudo service apache2 restart
4. ownCloud 관리자 페이지에서 업로드 용량을 8G로 변경한다.

owncloud-upload-file-size

이제 용량의 제한이 (거의) 없이 업로드가 가능해졌다.
이제 데이터 저장 위치를 변경해보자.


데이터 저장 위치 변경하기

데이터 저장 위치를 변경하는 방법에는 두 가지가 있다. ownCloud를 설치할 때 지정해 주는 방법과 이미 설치한 상태에서 데이터를 옮기고 저장 위치를 변경해 주는 방법이다. 하나씩 살펴보자.

ownCloud를 설치할 때 지정하기

다음은 ownCloud를 설치할 때 입력해야 하는 정보들이다. 중간에 보면 [데이터 폴더]라는 항목이 있고, 기본 저장 위치인 [/owncloud가_설치된_경로/data]가 적혀 있을 것이다.

owncloud-install-02

1. 먼저, [데이터 폴더] 텍스트 박스에 원하는 경로를 지정해 준다(설치 완료를 누르지 않는다).

예를 들어, /home/사용자이름/owncloud_data 에 저장하고 싶다고 해보자.

2. ssh로 접속해 해당 위치에 폴더를 생성하고 소유자와 권한을 변경한다.
$ sudo mkdir /home/사용자이름/owncloud_data
$ sudo chown www-data:www-data /home/사용자이름/owncloud_data
$ sudo chmod 775 /home/사용자이름/owncloud_data
3. 이제 웹브라우저로 돌아와 ownCloud 설치를 진행한다.

이미 설치된 ownCloud의 데이터 경로 변경하기

1. 우선 웹서버 서비스를 멈춘다.

sudo service apache2 stop

2. 변경하고자 하는 위치에 폴더를 이동하고 소유자를 변경한다.

예를 들어, /home/사용자이름/owncloud_data 에 저장하고 싶다고 해보자.

$ sudo mv /owncloud가_설치된_경로/data /home/사용자이름/owncloud_data
$ sudo chown www-data:www-data /home/사용자이름/owncloud_data
3. ssh로 접속해 ownCloud의 설정 파일을 수정한다.
$ sudo vi /owncloud가_설치된_경로/config/config.php
[datadirectory] 부분을 찾아 바뀐 경로로 수정한다.

'datadirectory' => '/home/사용자이름/owncloud_data',
4. 웹서버를 다시 시작한다.
sudo service apache2 start

굳이 데이터 저장 폴더를 따로 둘 필요가 있냐고 할 수 있다. 물론 옮기지 않아도 사용하는데는 전혀 상관없다.
그러나 데이터 관리에 있어서 좀 더 유용할 수 있기 때문에 추천한다.


다음 포스팅에서는 서드파티 앱 몇 가지를 추천해볼 것이다.

작성일 댓글 한 개

우분투 자작 NAS – 11강, ownCloud 업데이트하기

지난 강의에서는 ownCloud를 설치하고 PC에서와 모바일에서 사용하는 방법을 알아봤다. 이번 강의에서는 ownCloud를 업데이트 하는 방법을 알아본다.

사족을 달면, ownCloud가 출시된지 벌써 꽤 시간이 지났는데도 국내에 많이 알려지지 않았기 때문에 (아니면 알려졌음에도 불구하고 한글로 된 자료가 별로 없어서 그런지) 활성화된 커뮤니티가 없다. 블로그를 뒤져도 설치나 특히 업데이트에 대한 정보가 별로 없다. owncloud.org가 제공하는 문서가 있지만, 영어라서 눈에 잘 안들어온다. 여튼 업데이트를 해보자.

업데이트 알림

ownCloud를 설치하고 쓰다보면 다음과 같은 상단 배너가 떠서 업데이트가 존재함을 알려준다.

owncloud-update-01

ownCloud 백업

언제나 업데이트를 하기 전에는 반드시 해야할 것이 있는데, 바로 백업이다.
사실 잘 안하게 되는데, FM대로 하면 백업은 필수다. SSH로 작업한다.

백업해야 할 항목은 두 가지다.

  • ownCloud 파일
  • ownCloud 데이터베이스

이때 여기서 사용자 데이터는 백업하지 않는다. 용량이 클 경우 너무 오랜 시간이 걸리기 때문이다.

ownCloud 파일 백업

다음 명령어로 데이터 폴더를 제외한 ownCloud 파일들을 백업한다.

~$ tar czfp ~/oc-file-backup.tar.gz --exclude [ownCloud가 설치된 경로/data] [owncloud가 설치된 경로]

괄호는 빼고 ownCloud가 설치된 경로를 입력한다.

~$ mysqldump --lock-tables -u[아이디] -p[암호] owncloud-db-name > ~/oc-db-backup.sql

-u와 -p 다음에 아이디와 암호를 입력할 때는 띄어쓰기 없이 붙여쓴다. owncloud-db-name에는 자신의 ownCloud 데이터베이스 이름을 쓰면 된다.

이제 자신의 홈 폴더에 oc-file-backup.tar.gz와 oc-db-backup.sql 두 개의 파일이 생겼을 것이다. 백업 완료.

업데이트 센터

이제 업데이트 센터로 들어가야 한다. 7.0부터인지 업데이트 센터 기능을 제공한다. 콘솔에서 명령어로 작업하지 않아도 돼서 많이 편리해졌다.

오른쪽 상단의 계정 정보에 마우스를 대면 드롭다운 메뉴가 펼쳐진다. [관리자]를 눌러 설정 화면으로 들어간다.

owncloud-update-02

그리고 중간쯤 해서 업데이트 센터로 가는 링크가 존재한다. 왼쪽 메뉴에서 [업데이트]를 눌러도 나온다. [업데이트 센터 열기]를 누른다.

owncloud-update-03

업데이트 실행

다음이 [업데이트 센터]다. [업데이트]를 눌러서 업데이트를 진행한다.

owncloud-update-04

순서대로, 1. 기존의 파일들을 백업하고(데이터 파일이 아닌 ownCloud 파일들), 2. 최신 패키지를 다운로드한 후, 3. 기존 ownCloud의 파일들을 최신버전으로 교체한다.

owncloud-update-05

데이터베이스 업그레이드

3단계의 작업이 모두 끝나면, 데이터베이스 업그레이드를 해야 한다. [진행]을 누른다.

owncloud-update-06

다음과 같은 화면이 나오는데, [업데이트 시작]을 눌러준다.

owncloud-update-07

업데이트 성공! 이 아니라 다음과 같은 에러 메시지가 뜰 것이다. 뭐라고 하는지 잘 모르겠다. 여튼 문제가 되는 것은 SQL의 설정 값이 BINLOG_FORMAT = STATEMENT 라서 바이너리 로그를 기록할 수 없다는 것이다.

*만약 에러 메시지가 발생하지 않느다면, 다음 부분인 에러 해결방법은 건너띄면 된다. 8.0.2에서만 발생하는 것인지도 모른다.

owncloud-update-08

데이터베이스 업그레이드 에러 해결방법

이 강의 시리즈에서는 MariaDB를 설치했는데, MySQL도 동일하다.

터미널로 작업

나스 서버의 MariaDB에 접속하여 작업한다.

mysql -u root -p owncloud-db-name 입력해 MariaDB의 ownCloud 데이터베이스에 바로 접속한다.
(owncloud-db-name은 자신이 정한 owncloud의 데이터베이스 이름을 적으면 된다)
비밀번호를 입력하면 다음과 같이 나온다.

$ mysql -u root -p owncloud-db-name
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 114057
Server version: 5.5.42-MariaDB-1~trusty-log mariadb.org binary distribution

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [owncloud-db-name]>

SET GLOBAL binlog_format = ‘MIXED’; 를 이용해 binlog_format의 값을 바꿔준다.
다음과 같이 나오면 된 것이다.

MariaDB [owncloud-db-name]> SET GLOBAL binlog_format = 'MIXED';
Query OK, 0 rows affected (0.00 sec)

MariaDB [owncloud-db-name]>

phpMyAdmin으로 작업

터미널 SSH로 작업한 것이 어렵다면 웹에서 작업해보자. phpMyAdmin은 저번에 설치 했을 것이다. 웹브라우저에서 phpMyAdmin에 접속하여 로그인한다.

IP주소/phpmyadmin 이나 도메인주소/phpmyadmin 으로 접속하면 된다.

로그인하면 다음과 같이 뜰텐데, 메인화면 상단의 메뉴 중에서 [환경설정값]에 들어간다.
그리고 [포함하고 있는 단어] 입력 창에 [binlog format]을 입력하면, 목록에 binlog format만 뜰 것이다.

owncloud-update-09

마우스 커서를 목록 가운데 쯤 위치시키면 [수정]이라고 뜬다. 클릭해서 값을 “MIXED”로 변경해주면 끝이다.

owncloud-update-10

업데이트 재개

이제 문제가 해결되었다. 자신의 owncloud에 다시 접속하면 업데이트를 다시 시도할 수 있다. [업데이트 시작]을 누른다.

owncloud-update-11

이제 뭔가 제대로 돌아가는 것 같다.

owncloud-update-12

업데이트 성공!
서드파티 앱들은 자동으로 비활성화 된다. 사용하려면 다시 활성화 시켜줘야 한다.

owncloud-update-13

업데이트된 버전 확인

[관리자] 설정에 들어가서 스크롤을 맨 밑으로 내리면 버전 항목이 나온다.
ownCloud 8.0.4 업데이트가 정상적으로 됐다.

owncloud-update-14