클라우드 설치 · 6 min read · Jan 05, 2026

자신의 클라우드 실행하기: Debian 8에 OwnCloud 9 설치하기

OwnCloud는 사용자가 관리하고 제어할 수 있는 클라우드 저장 서비스 실행 기능을 제공합니다. 최신 버전인 ownCloud 9.0은 3월 8일에 출시되었습니다.

ownCloud 설치하기

Debian Jessie에서 ownCloud 9.0을 설치하는 과정을 살펴보겠습니다.

1. 필수 및 권장 패키지 설치하기

지원 소프트웨어 패키지를 설치하는 것으로 시작합니다. OwnCloud는 PHP를 사용하며 MariaDB를 데이터베이스로 권장합니다. 루트 사용자로서 다음 패키지를 apt-get으로 설치합니다:

apt-get install mariadb-server mariadb-client apache2 libapache2-mod-php5 php5-json php5-gd php5-mysql php5-curl php5-intl php5-mcrypt php5-imagick

2. 다운로드

다음으로, ownCloud 9.0 패키지를 다운로드합니다. 이 단계에서는 SHA256 해시, ownCloud의 공개 PGP 서명, 소프트웨어 패키지의 PGP 서명도 다운로드합니다. 우리는 다음 단계에서 소프트웨어를 설치하기 전에 이를 사용하여 소프트웨어를 검증하고 인증합니다. SHA256은 권장되는 검증 알고리즘이지만, MD5를 사용하여 검증하고 싶다면 해당 해시도 ownCloud 웹사이트에서 다운로드할 수 있습니다.

이 명령은 wget을 사용하여 파일을 다운로드하지만, 웹 브라우저에 URL을 입력하여 다운로드할 수도 있습니다.

wget https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
wget https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2.sha256
wget https://owncloud.org/owncloud.asc
wget https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2.asc

3. 다운로드한 패키지의 무결성 검증하기

다운로드한 소프트웨어 아카이브의 SHA256 해시가 ownCloud에서 제공한 합계와 일치하는지 확인합니다:

sha256sum -c owncloud-9.0.0.tar.bz2.sha256

성공적인 출력:

owncloud-9.0.0.tar.bz2: OK

합계가 일치하지 않으면 진행하지 마십시오! 나머지 단계를 수행하기 전에 다운로드가 검증되었는지 확인하십시오.

4. ownCloud PGP 공개 키를 GnuPG 키링에 가져오기

다음으로, GnuPG를 사용하여 소프트웨어 패키지의 진위를 검증합니다. 이를 위해 먼저 ownCloud의 공개 PGP 키를 GnuPG 키링에 가져옵니다.

gpg --import owncloud.asc

성공적인 출력:

[...]  
gpg: Total number processed: 1  
gpg: imported: 1 (RSA: 1)

5. 패키지 서명의 진위 검증하기

다음으로, GnuPG를 사용하여 소프트웨어 패키지의 서명을 검증합니다. 이전 단계에서 가져온 키를 사용하여 아카이브에 대해 서명을 확인합니다.

gpg --verify owncloud-9.0.0.tar.bz2.asc

성공적인 출력:

[…]
gpg: Good signature from “ownCloud < [email protected] >”
[…]

ownCloud의 서명이 아직 신뢰되지 않는다는 경고를 받게 됩니다. 서명을 신뢰하는 것은 선택적 단계입니다. 공개 키를 신뢰하는 방법에 대한 자세한 내용은 GNU 개인 정보 보호 핸드북 3장을 참조하십시오.

6. 소프트웨어 패키지 추출하기

다운로드가 검증되고 인증된 후, 이를 추출합니다.

tar xjvf owncloud-9.0.0.tar.bz2

7. ownCloud 디렉토리를 Apache2 문서 루트에 복사하기

다음으로, 새로 생성된 owncloud 디렉토리와 그 내용을 웹 문서 루트로 복사합니다. Debian 8에서 Apache2는 기본 문서 루트로 /var/www/html을 사용합니다. 원하시면 이 위치를 사용자 정의할 수 있습니다. 이 튜토리얼에서는 owncloud/var/www에 직접 배치합니다.

cp -r owncloud /var/www

8. Apache2 사용 가능한 사이트에 owncloud 추가하기

이제 Apache2를 구성하기 시작할 수 있습니다. 기본 사이트 구성 파일인 /etc/apache2/sites-available/000-default.conf의 복사본을 만들어 owncloud.conf라는 이름을 지정합니다.

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/owncloud.conf

9. ownCloud 사이트 구성 수정하기

루트 사용자로서 /etc/apache2/sites-available/owncloud.conf를 텍스트 편집기로 엽니다. 다음과 같은 수정을 합니다:

  1. ServerName 줄을 찾아 주석을 제거하여 주석을 해제합니다.
  2. ServerName 값을 서버에 접근하는 URL에 나타날 호스트 이름으로 변경합니다: 예를 들어, www.mypersonaldomain.com 또는 myhostname.
  3. 파일 끝에 다음 줄을 추가하고, owncloud를 배치한 위치에 맞게 디렉토리 이름을 수정합니다:
Alias /owncloud "/var/www/owncloud/"  
  
  
  Options +FollowSymlinks  
  AllowOverride All  
  
   
  Dav off  
   
  
 SetEnv HOME /var/www/owncloud  
 SetEnv HTTP_HOME /var/www/owncloud  
  

10. /etc/apache2/sites-enabled에 구성 파일의 심볼릭 링크 만들기

사이트 구성에 대한 심볼릭 링크를 /etc/apache2/sites-enabled 디렉토리에 만듭니다:

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

11. Apache2 모듈 활성화하기

OwnCloud는 mod_rewrite가 필요합니다. 이를 활성화합니다:

a2enmod rewrite

headers 모듈도 권장됩니다. 이를 활성화합니다:

a2enmod headers

env, dir, mime 모듈도 권장됩니다. 이들은 일반적으로 기본적으로 활성화되어 있지만, 안전을 위해 수동으로 활성화할 수 있습니다:

a2enmod env
a2enmod dir
a2enmod mime

12. ownCloud 사이트 구성 활성화 및 Apache2 재시작하기

사이트 구성을 활성화합니다:

a2ensite owncloud

변경 사항이 적용되도록 Apache2 서비스를 재시작합니다:

service apache2 restart

13. ownCloud 파일에 대한 권한 설정하기

ownCloud를 구성하기 시작하기 전에 HTTP 사용자/그룹이 ownCloud의 파일을 변경할 수 있는 권한이 있는지 확인해야 합니다. Debian에서 이 사용자와 그룹은 www-data라고 합니다. owncloud 디렉토리와 그 모든 내용의 소유자로 설정합니다.

chown -R www-data:www-data /var/www/owncloud/

다음으로 이러한 권한을 세분화합니다. owncloud 설치에 대한 정확한 권한은 다음과 같습니다:

  • 모든 파일은 파일 소유자에게 읽기-쓰기 권한이 있어야 하며, 그룹 소유자에게는 읽기 전용이어야 하고, 다른 사용자에게는 접근할 수 없어야 합니다.
  • 모든 디렉토리는 실행 가능해야 하며, 디렉토리 소유자에게는 읽기-쓰기 권한이 있어야 하고, 그룹 소유자에게는 읽기 전용이어야 합니다.
  • apps/ 디렉토리는 [HTTP 사용자]:[HTTP 그룹]의 소유여야 합니다.
  • config/ 디렉토리는 [HTTP 사용자]:[HTTP 그룹]의 소유여야 합니다.
  • themes/ 디렉토리는 [HTTP 사용자]:[HTTP 그룹]의 소유여야 합니다.
  • assets/ 디렉토리는 [HTTP 사용자]:[HTTP 그룹]의 소유여야 합니다.
  • data/ 디렉토리는 [HTTP 사용자]:[HTTP 그룹]의 소유여야 합니다.
  • [ocpath]/.htaccess 파일은 root:[HTTP 그룹]의 소유여야 합니다.
  • data/.htaccess 파일은 root:[HTTP 그룹]의 소유여야 합니다.
  • .htaccess 파일은 파일 소유자에게 읽기-쓰기 권한이 있어야 하며, 그룹 소유자에게는 읽기 전용이어야 하고, 다른 사용자에게는 접근할 수 없어야 합니다.

이 권한 구조에 맞추기 위해, 다음 스크립트를 새 파일에 복사하여 붙여넣습니다. 이 예제에서 스크립트 파일 이름은 /root/oc-perms.sh가 됩니다. 사용자 정의 위치를 사용하는 경우 ocpath 값을 수정하십시오.

#!/bin/bash  
ocpath='/var/www/owncloud'  
htuser='www-data'  
htgroup='www-data'  
rootuser='root'  
  
printf "Creating possible missing Directories\n"  
mkdir -p $ocpath/data  
mkdir -p $ocpath/assets  
  
printf "chmod Files and Directories\n"  
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640  
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750  
  
printf "chown Directories\n"  
chown -R ${rootuser}:${htgroup} ${ocpath}/  
chown -R ${htuser}:${htgroup} ${ocpath}/apps/  
chown -R ${htuser}:${htgroup} ${ocpath}/config/  
chown -R ${htuser}:${htgroup} ${ocpath}/data/  
chown -R ${htuser}:${htgroup} ${ocpath}/themes/  
chown -R ${htuser}:${htgroup} ${ocpath}/assets/  
  
chmod +x ${ocpath}/occ  
  
printf "chmod/chown .htaccess\n"  
if [ -f ${ocpath}/.htaccess ]  
 then  
  chmod 0644 ${ocpath}/.htaccess  
  chown ${rootuser}:${htgroup} ${ocpath}/.htaccess  
fi  
if [ -f ${ocpath}/data/.htaccess ]  
 then  
  chmod 0644 ${ocpath}/data/.htaccess  
  chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess  
fi

스크립트를 실행 가능하게 만듭니다:

chmod u+x /root/oc-perms.sh

실행합니다:

/root/oc-perms.sh

14. ownCloud 데이터베이스 및 데이터베이스 사용자 생성하기

다음으로, ownCloud가 사용할 데이터베이스를 준비합니다. MariaDB 클라이언트에 데이터베이스 루트 사용자로 로그인합니다:

mysql -u root -p

데이터베이스 루트 사용자 비밀번호를 입력하라는 메시지가 표시됩니다. 1단계에서 MariaDB를 처음 설치한 경우 이 비밀번호를 생성하라는 메시지가 표시되었습니다. 지금 입력하십시오. MariaDB 클라이언트 프롬프트로 이동합니다.

owncloud 데이터베이스의 이름( ocdbname), owncloud 데이터베이스 사용자( ocuser), 해당 사용자의 비밀번호( ocuserpw )를 선택합니다. 그런 다음 MariaDB 프롬프트에서 다음 두 명령을 실행하고, 대괄호로 묶인 값을 자신의 값으로 바꿉니다:

CREATE DATABASE [ocdbname];
GRANT ALL ON [ocdbname].* TO [ocuser]@localhost IDENTIFIED BY '[ocuserpw]';

데이터베이스 클라이언트를 종료합니다:

quit

15. ownCloud 클라이언트 구성하기

웹 브라우저를 ownCloud 설치로 이동합니다, 예: http://myhostname/owncloud. ownCloud 관리자 계정을 생성하고 데이터베이스 구성 값을 입력할 수 있는 필드가 표시됩니다.

OwnCloud 설정.

사용자 이름비밀번호는 설치를 관리할 사용자의 값입니다; 원하는 대로 설정하십시오.

데이터베이스 사용자, 데이터베이스 비밀번호, 및 데이터베이스 이름은 이전 단계에서 생성한 [ocuser], [ocuserpw], 및 [ocdbname] 값에 맞아야 합니다.

설정 완료를 클릭하십시오.

축하합니다! 이제 ownCloud를 사용할 준비가 되었습니다.

OwnCloud가 설치되었습니다.

선택 사항: SSL 사용하기

ownCloud를 통해 들어오고 나가는 네트워크 트래픽을 암호화하는 것이 좋습니다. 설치와 함께 HTTPS를 설정하는 몇 가지 단계는 다음과 같습니다.

1. Apache2에서 SSL 활성화하기

a2enmod ssl
a2ensite default-ssl

2. owncloud.conf에 SSL 가상 호스트 구성 추가하기

Apache2는 기본 SSL 사이트 구성을 제공하며, 이는 /etc/apache2/sites-available/default-ssl.conf에 위치합니다. 이 파일의 내용을 복사하여 owncloud.conf의 맨 위에 붙여넣습니다. default:443> 섹션 내에서 다음과 같은 수정을 합니다:

ServerName 줄을 추가하고 값으로 호스트 이름을 입력합니다, 예:

 ServerName myhostname**

DocumentRoot 줄을 owncloud 설치의 상위 디렉토리를 반영하도록 수정합니다, 예:

 DocumentRoot /var/www/

3. 필요한 경우 새 인증서/키 쌍 생성하기

default:443> 섹션에는 HTTPS로 사이트에 접근할 때 SSL을 활성화하기 위한 세 가지 중요한 줄이 이미 포함되어 있습니다:

SSLEngine on  
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem  
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

SSLCertificateFileSSLCertificateKeyFile 값은 시스템에 이미 존재해야 하는 파일을 가리킵니다. 이는 기본 opensslssl-cert 패키지의 일부로 설치됩니다. 그러나 특정 상황에서는 이러한 파일을 다시 생성해야 할 수도 있습니다 – 예를 들어, /etc/hosts의 구성을 변경하는 경우입니다.

이러한 파일을 다시 생성해야 하는 경우, 다음 명령을 사용합니다:

make-ssl-cert generate-default-snakeoil --force-overwrite

자세한 정보 및 인증서 오류 문제 해결을 위해서는 /usr/share/doc/apache2/README.Debian.gz의 주석을 참조하십시오.

4. Apache2 구성 다시 로드하기

service apache2 reload

이제 https:// URL을 사용하여 ownCloud 설치에 접근할 수 있어야 합니다. 인증서가 자체 서명된 것이기 때문에 웹 브라우저에서 경고가 표시됩니다. 안전한 연결을 설정하기 전에 사이트를 수동으로 예외로 추가해야 합니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.