웹사이트 검색

나만의 클라우드 실행: 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 해시, ownClouds 공용 PGP 서명 및 softare 패키지용 PGP 서명도 다운로드합니다. 소프트웨어를 설치하기 전에 다음 단계에서 이를 사용하여 소프트웨어를 확인하고 인증하십시오. SHA256이 권장되는 확인 알고리즘이지만 MD5를 사용하여 확인하려는 경우에는 ownClouds 웹사이트에서 해당 해시를 다운로드할 수도 있습니다.

이러한 명령은 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를 사용하여 소프트웨어 패키지의 진위 여부를 확인합니다. 이렇게 하려면 먼저 ownClouds 공개 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: \ownCloud <[email >\의 좋은 서명
[...]

ownClouds 서명이 아직 신뢰할 수 없다는 경고가 표시됩니다. 서명 신뢰는 사용자가 직접 수행할 수 있는 선택적 단계입니다. 공개 키 신뢰에 대한 자세한 내용은 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. ownCoud 사이트 구성 편집

루트로 텍스트 편집기에서 /etc/apache2/sites-available/owncloud.conf를 엽니다. 다음과 같이 수정합니다.

  1. ServerName 줄을 찾아 선행 #을 제거하여 주석 처리를 제거합니다.
  2. ServerName 값을 서버에 액세스하는 데 사용하는 URL에 표시될 호스트 이름과 일치하도록 변경합니다(예: www.mypersonaldomain.com 또는 ). 내 호스트 이름
  3. 파일 끝에 다음 줄을 추가하고 필요에 따라 디렉토리 이름을 수정하여 owncloud를 배치한 위치에 맞춥니다.

Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud

</Directory>

10. /etc/apache2/sites-enabled에 대한 Symlink 구성 파일

/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

헤더 모듈이 권장됩니다. 활성화:

a2enmod headers

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

a2enmod env
a2enmod dir
a2enmod mime

12. ownCloud 사이트 구성을 활성화하고 Apache2를 다시 시작합니다.

사이트 구성 활성화:

a2ensite owncloud

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

service apache2 restart

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

ownCloud 구성을 시작하기 전에 HTTP 사용자/그룹에 ownClouds 파일을 변경할 수 있는 권한이 있는지 확인해야 합니다. Debian에서 이 사용자와 그룹의 이름은 www-data입니다. owncloud 디렉터리 및 모든 콘텐츠의 소유자로 지정합니다.

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

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

  • 모든 파일은 파일 소유자의 경우 읽기-쓰기, 그룹 소유자의 경우 읽기 전용이어야 하며 다른 사람이 액세스할 수 없어야 합니다.
  • 모든 디렉토리는 실행 가능해야 하며 디렉토리 소유자는 읽기-쓰기, 그룹 소유자는 읽기 전용이어야 합니다.
  • apps/ 디렉토리는 [HTTP 사용자]:[HTTP 그룹]이 소유해야 합니다.
  • config/ 디렉토리는 [HTTP 사용자]:[HTTP 그룹]이 소유해야 합니다.
  • themes/ 디렉토리는 [HTTP user]:[HTTP group]이 소유해야 합니다.
  • assets/ 디렉토리는 [HTTP 사용자]:[HTTP 그룹]이 소유해야 합니다.
  • data/ 디렉토리는 [HTTP 사용자]:[HTTP 그룹]이 소유해야 합니다.
  • [ocpath]/.htaccess 파일은 root:[HTTP group]이 소유해야 합니다.
  • 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 클라이언트 구성

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

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

데이터베이스 사용자, 데이터베이스 비밀번호데이터베이스 이름[ocuser], [ocuserpw ] 및 이전 단계에서 만든 [ocdbname] 값입니다.

설정 완료를 클릭합니다.

축하해요! ownCloud를 사용할 준비가 되었습니다.

선택 사항: SSL 사용

ownCloud를 드나드는 네트워크 트래픽을 암호화하는 것이 좋습니다. 다음은 설치와 함께 HTTPS를 시작하고 실행하는 몇 가지 단계입니다.

1. Apache2에서 SSL 활성화

a2enmod ssl
a2ensite default-ssl

2. owncloud.conf에 SSL Virtualhost 구성 추가

Apache2는 /etc/apache2/sites-available/default-ssl.conf에 있는 기본 SSL 사이트 구성과 함께 제공됩니다. 이 파일의 내용을 복사하여 owncloud.conf 상단에 붙여넣습니다. 섹션에서 다음과 같이 수정합니다.

호스트 이름을 값으로 사용하여 ServerName 줄을 추가합니다. 예:

 ServerName myhostname

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

 DocumentRoot /var/www/

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

섹션에는 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을 사용하여 자신의 Cloud 설치에 액세스할 수 있습니다. 인증서가 자체 서명되었기 때문에 웹 브라우저에 경고가 표시됩니다. 보안 연결을 설정하기 전에 수동으로 사이트를 예외로 추가해야 합니다.