본문 바로가기
IT

[이렇게 사용하세요!] 네이버 클라우드 플랫폼을 활용한 ownCloud 파일 공유 서비스 구축하기

by 엘리후 2022. 7. 16.

네이버 클라우드 플랫폼 위에 나만의 파일 공유 서비스를 구축하자!

ownCloud 서비스는 PHP 기반의 클라우드를 활용할 수 있는 웹 파일 공유 서비스 플랫폼입니다. NAVER Cloud (이전 nDrive), iCloud, Google Drive, Dropbox와 같은 서비스들 처럼 개인 자료 및 보관이 필요한 데이터를 보관할 수 있는 서비스를 구축할 수 있습니다.

위에서 언급한 유료로 이용하는 클라우드 파일 공유 서비스를 직접 구현해 볼 수 있다는 점이 ownCloud의 가장 큰 장점이 아닐까 생각합니다.

ownCloud 서비스

아래는 NDrive라는 서비스로 출발한 네이버의 개인 파일 저장 및 공유 서비스 ‘네이버 클라우드’ 입니다.

NAVER Cloud 서비스

Dropbox 서비스도 기본적으로 개인 파일 저장 및 백업/공유 서비스를 제공하지만, 최근에는 기업을 대상으로 Business 요금제를 출시하며 업무에서도 활용할 수 있는 방안을 제시하고 있습니다.

Dropbox 서비스

iCloud의 경우 iOS 및 MAC OS를 사용하고 있는 사용자에게는 친숙한 서비스인데요, Apple에서 제공하는 다양한 디바이스에서 공유할 수 있는 장점이 있어서, 많이 활용되고 있습니다.

iCloud 서비스

이렇게 다양한 클라우드 파일 저장 공유 서비스들이 운영이 되고 있는데요. 아래 Dropbox 요금제를 살펴 보시면, 요즘 추세는 요금 지불 방식이 대부분 구독제 형태로 바뀌고 있는 것을 알 수 있습니다.

Dropbox 요금제 예시

네이버 클라우드 플랫폼의 인프라 서비스를 활용하면, 이러한 서비스들과 유사한 나만의 파일 저장 및 공유 서비스 구축이 가능한데요, 그 방법에 대해 상세하게 설명을 드리겠습니다.

네이버 클라우드 플랫폼 서버 생성 및 설정 방법은 어떻게 되나요?

우선, 네이버 클라우드 플랫폼 인프라 서비스 구성 방법에 대해 간략하게 설명을 드릴텐데요. 저희 네이버 클라우드 플랫폼에서 제공하는 사용자 가이드를 통해 서버 생성 방법에 대해 간단하게 한 번 살펴보겠습니다.

(1) 네이버 클라우드 플랫폼 Linux OS VM 서버 생성

아래와 같이 상세한 사용자 가이드에 따라 단계별 설치를 진행하면 선택한 OS가 설치된 서버를 설치할 수 있습니다.
- Server 생성 가이드
: http://docs.ncloud.com/ko/compute/compute-1-1-v2.html.

네이버 클라우드 플랫폼 서버 생성 가이드

(2) 네이버 클라우드 플랫폼 LAMP Stack 서버 생성

아래와 같이 상세한 사용자 가이드에 따라 단계별 설치를 진행하면 LAMP Application Stack 및 OS가 설치된 서버를 사용할 수 있습니다.
— LAMP Server 생성 가이드
: http://docs.ncloud.com/ko/lamp/lamp-1-1.html

네이버 클라우드 플랫폼 LAMP 서버 생성 가이드

(3) 네이버 클라우드 플랫폼 MySQL VM 서버 생성

아래와 같이 상세한 사용자 가이드에 따라 단계별 설치를 진행하면 MySQL Database 및 OS가 설치된 서버를 사용할 수 있습니다.
— MySQL DB Server 생성 가이드 : http://docs.ncloud.com/ko/database/database-1-1.html

네이버 클라우드 플랫폼 MySQL DB Server 생성 가이드

ownCloud 설치 및 설정 방법은 어떻게 되나요?

[1] MySQL DB + PHP + Nginx(Apache/httpd) 설치 및 설정

ownCloud 서비스 구축을 위해 가장 필수 요소인 WEB Service Package 설치 및 설정 방법을 알아보겠습니다. 나만의 ownCloud 서비스 구축을 위해 아래와 같이 구성을 해 보았습니다.

— Web Server : Nginx
— Database : MySQL
— Web Module : PHP

그럼, 이제 구축을 위해 필요한 작업을 아래와 같이 단계별로 상세하게 살펴볼까요?

(1–1) Nginx 설치 및 시작
Nginx 패키지의 경우 아래와 같이 설치 및 설정을 간단하게 실행할 수 있습니다. (아래 설명은 CentOS 7 기준으로 작성되었습니다.)

먼저, Nginx Yum Repository를 생성합니다. (Yum Repository 정보는 설치 시 최신 정보로 입력해주시면 됩니다.)

$ vi /etc/yum.repose.d/nginx.repo

# nginx.repo 예시
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

 

다음으로 Yum Installation 명령어를 통해 Nginx 패키지를 설치합니다.

$ yum install nginx

 

Nginx Start/Stop을 통해 프로세스를 실행 및 정지할 수 있습니다.

$ systemctl start nginx (CentOS 6의 경우 service nginx start)
$ systemctl stop nginx (CentOS 6의 경우 service nginx stop)
$ systemctl status nginx (CentOS 6의 경우 service nginx status)

Nginx Server Status 확인

위 항목을 모두 실행하면, Nginx 웹 서버를 사용할 준비가 완료되었습니다!

(1–2) Nginx HTTPS 설정
Nginx 서버의 경우, 설치 및 HTTPS 설정에 관한 내용을 다룬 기존 포스팅이 있습니다. Let’s Encrypt 서비스를 사용해 무료 인증서 획득 및 서비스를 적용하는 방법까지 상세하게 설명이 되어있으니, 해당 포스팅을 참고해주세요!
※ 포스팅 바로가기 >> https://blog.naver.com/n_cloudplatform/221245743135

네이버 클라우드 플랫폼 LINE Chabot 서비스 구축 관련 포스팅

(1–3) MySQL Database 설치 및 설정
MySQL Database 서버 구축은 위에서 설명드린 “(3) 네이버 클라우드 플랫폼 MySQL VM 서버 생성”부분을 참고하시면, 쉽게 패키지를 설치하고 구축할 수 있습니다. 위의 방법 이외에도 Nginx 서버 설치와 같이 기존 Linux 서버에 Yum 패키지 설치를 통해서도 설치가 가능합니다. (해당 방법은 이번 포스팅에서는 생략하겠습니다.)

우선, 보안적인 위험 요소를 회피를 위해 MySQL DB Daemon Shutdown을 실행합니다.

네이버 클라우드 플랫폼 MySQL DB Start/Stop

아래와 같이 터미널 콘솔에서 명령어 수행 결과를 확인할 수 있습니다.

네이버 클라우드 플랫폼 MySQL DB Start/Stop 실행 결과

MySQL Database에 접속하면, 아래와 같이 패스워드를 변경할 수 있습니다.

네이버 클라우드 플랫폼 MySQL DB Password 변경

위의 작업 이외에도 안전하고, 강화된 보안 사용을 위해 추가 작업을 하실 수 있습니다.

네이버 클라우드 플랫폼 MySQL DB 보안 설정 작업

[2] ownCloud 서비스를 위한 PHP 설치 및 설정

아래와 같이 ownCloud 서비스 구축을 위해 필수적인 요소인 PHP 사용을 위해 설치 및 설정 작업을 진행해줍니다.

(2–1) PHP 설치 저장소 등록
아래와 같이 모듈 설치를 위해 rpm 파일의 저장소를 등록합니다.

$ rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

PHP RPM 저장소 다운로드 및 등록

(2–2) 기존 설치된 PHP 버전 삭제

$ yum remove php-common php-zend-optimizer-debuginfo

기존 설치된 PHP 버전 삭제

(2–3) PHP 5.6 버전 설치

$ yum -y install php56w php56w-opcache php56w-mysql

PHP 5.6 버전 설치

(2–4) PHP 라이브러리 설치
owncloud 서비스 구축 시 필요한 PHP 라이브러리를 설치합니다.

$ yum install php56w-dom php56w-process php56w-xml

PHP Library 추가 설치

(2–5) 설치된 PHP 버전 확
설치가 완료되면, PHP 버전을 확인합니다.

$ php -v

PHP 버전 확인

[3] ownCloud 패키지 설치 및 설정

위와 같이 Web Server 및 Database 서버, PHP 모듈 설치가 완료되었다면, 이제 본격적으로 ownCloud 패키지를 다운로드 받아서 설치 후 최종 설정 작업을 진행할 차례입니다.

(3–1) ownCloud에서 사용할 Datastore MySQL Database 생성 및 설정
위에서 설명드린 “(3) 네이버 클라우드 플랫폼 MySQL VM 서버 생성”부분을 참고하셔서 My ownCloud에서 사용할 Database 생성과 원격 접속을 위한 설정을 완료해 주세요.

ownCloud Database 설정을 위한 준비 작업

(3–2) ownCloud 모듈 다운로드
아래의 모듈은 최신 버전으로 설치하시면 됩니다.

$ wget https://download.owncloud.org/community/owncloud-10.0.6.tar.bz2

ownCloud 모듈 다운로드

(3–3) 압축 해제 및 디렉터리 이동
ownCloud 압축을 해제 후 해당 디렉터리를 “/var/www/html/owncloud” 아래로 이동합니다.

$ tar jxvf owncloud-10*tar.bz2 -C /var/www/html/owncloud

ownCloud 모듈 압축 해제 후 “/var/www/owncloud” 로 이동

(3–4) “ownCloud” 디렉터리를 “apache” 소유자로 변경
이번 포스팅에서는 ownCloud 서비스의 빠른 시작을 위해서 Apache httpd 서버를 사용하였습니다.
(위에서 설명을 드린 Nginx 서버와 HTTPS 설정으로 보안이 강화된 서비스를 하실 수 있습니다.)

$ chown -R apache:apache config/ apps/

ownCloud 파일 소유자 권한 변경

(3–5) 디렉터리 생성 후, 소유자 변경
ownCloud의 데이터 디렉터리를 생성 후 “apache” 소유자로 변경합니다.

$ mkdir data
$ chown -R apache:apache data/

(3–6) httpd 서버 설치

$ yum -y install httpd

Apache httpd 설치

$ service httpd restart

httpd 서비스 시작

(3–7) ownCloud 실행
브라우저에서 “http://{IP}:{PORT}” 를 실행합니다.
실행 시, PHP 관련 오류가 발생한다면 아래와 같이 추가 모듈을 설치합니다.

$ yum install php56w-dom php56w-xml php56w-intl php56w-mbstring php56w-gd

PHP 추가 모듈 설치(2)
PHP-XML 모듈 다운로드

(3–8) ownCloud 접속
브라우저에서 “http://{IP}:{PORT}” 실행 후 접속합니다.

네이버 클라우드 플랫폼을 활용한 ownCloud 접속 화면

(3–9) 계정 정보 및 DB 설정
계정 정보 및 owncloud DataSource 설정을 합니다. 아래와 같이 ID/Password 및 데이터 폴더, 데이터베이스 설정을 진행합니다.

ownCloud Data Source 설정 화면

(3–10) 정보 등록 및 설치 완료
[MariaDB/MySQL]을 선택하고, 정보를 등록 후 [설치완료]를 클릭합니다. 아래와 같이 ownCloud를 위한 Database ID/Password 및 DB Name, Host:port 정보를 입력합니다.

ownCloud Data Source 정보 입력

(3–11) ownCloud 로그인
설정이 완료된 후 로그인 화면으로 자동으로 이동합니다. 아래와 같이 위에서 등록한 ID/Password를 입력 후 로그인합니다.

ownCloud Web Service Login 화면

(3–12) Client S/W 설치
아래와 같이 다양한 Client S/W 설치가 가능합니다. Desktop, iOS, Android 등을 설치할 수 있으며, 캘린더/연락처 등을 연결할 수 있습니다.

ownCloud Client Application

(3–13) Desktop Application 다운로드
위의 화면에서 Desktop Client를 클릭하면, 아래와 같이 다운로드 페이지로 이동합니다. Web, OS별 다양한 바이너리를 제공하고 있어서, 각 사용자 환경에 맞게 설치가 가능합니다.

ownCloud Desktop Application
ownCloud Desktop 실행 예시

(3–14) 접속/보안 설정 정보 수정
아래와 같이 설정 페이지를 통해 owncloud의 접속/보안 등 설정 정보를 수정합니다. ownCloud 서비스의 다양한 설정 방법에 대해서는 추후 다른 포스팅을 통해 상세하게 설명을 드릴 예정입니다.

ownCloud Web Service 설정 화면

(3–15) PC 파일 업로드
아래와 같이 Local PC에 있는 파일 업로드가 가능합니다.

ownCloud 파일 업로드 예시

(3–16) 클라우드 공유 서비스 지원
아래와 같이 일반적인 클라우드 공유 서비스도 지원합니다.

ownCloud 파일 공유 서비스 예시

(3–17) 다양한 편의 기능
사용자를 위해 여러 편의 기능을 제공하고 있으며, 아래와 같이 마켓플레이스도 제공합니다.

ownCloud 마켓 플레이스

네이버 클라우드 플랫폼 인프라 서비스는 어떻게 사용할 수 있나요?

네이버 클라우드 플랫폼의 인프라 상품 및 서비스 플랫폼을 사용하기 위해서는 아래와 같이 네이버 클라우드 플랫폼 포털 사이트 및 사용자 가이드를 참고하시면 쉽게 사용하실 수 있습니다.

- 네이버 클라우드 플랫폼 포털
: https://www.ncloud.com
- 네이버 클라우드 플랫폼 사용자 가이드
: http://docs.ncloud.com/ko
- 네이버 클라우드 플랫폼 Compute 상품 소개 : https://www.ncloud.com/product/compute

- 네이버 클라우드 플랫폼 Storage 사용 가이드 : http://docs.ncloud.com/ko/storage/storage-6-1.html
- 네이버 클라우드 플랫폼 Network 사용 가이드 : http://docs.ncloud.com/ko/compute/compute-7-1.html

- 네이버 클라우드 플랫폼 서버 생성 가이드 : http://docs.ncloud.com/ko/compute/compute-1-1-v2.html
- 네이버 클라우드 플랫폼 LAMP Stack 생성 가이드 : http://docs.ncloud.com/ko/lamp/lamp-1-1.html
- MySQL DB Server 생성 가이드 : http://docs.ncloud.com/ko/database/database-1-1.html

글을 마무리 하며…

위와 같이 네이버 클라우드 플랫폼의 인프라 서비스를 활용하여 나만의 파일 공유 서비스를 구현하고, 사용하는 방법에 대해서 공유 드렸습니다. ownCloud 패키지 서비스를 활용하여 유료 클라우드 파일 공유 서비스 못지 않은 Private File Storage 서비스를 구축할 수 있는 방법을 알아보았는데요.

앞으로도 네이버 클라우드 플랫폼 Compute 상품 및 서비스에 많은 관심을 부탁 드립니다. 끝까지 읽어 주셔서 감사합니다.

댓글