ownCloud 설치 · 3 min read · Jan 23, 2026

Debian Wheezy에서 Nginx (LEMP)로 ownCloud 5.0 실행하기

Debian Wheezy에서 Nginx (LEMP)로 ownCloud 5.0 실행하기

이 튜토리얼은 Apache 대신 nginx가 설치된 Debian Wheezy 시스템에서 ownCloud 5.0을 설치하고 실행하는 방법을 보여줍니다 (LEMP = Linux + nginx (발음: “ e ngine x”) + M ySQL + P HP). nginx는 Apache보다 훨씬 적은 자원을 사용하고 특히 정적 파일을 더 빠르게 제공하는 HTTP 서버입니다.

이 방법이 여러분에게 작동할 것이라는 보장은 하지 않습니다!

1 사전 참고

저는 www.example.com / example.com이라는 vhost에 문서 루트 /var/www/www.example.com/web에 ownCloud를 설치하고자 합니다.

이 튜토리얼에 설명된 대로 작동하는 LEMP 설치가 있어야 합니다:

  • Debian Wheezy에서 PHP5 (및 PHP-FPM) 및 MySQL 지원과 함께 Nginx 설치하기 (LEMP)

2 APC 및 몇 가지 다른 요구 사항 설치하기

APC는 PHP 중간 코드를 캐싱하고 최적화하기 위한 무료 오픈 PHP opcode 캐셔입니다. eAccelerator 및 XCache와 같은 다른 PHP opcode 캐셔와 유사합니다. PHP 페이지 속도를 높이기 위해 이러한 것 중 하나를 설치하는 것이 강력히 권장됩니다.

APC는 다음과 같이 설치할 수 있습니다:

apt-get install php-apc

몇 가지 다른 요구 사항을 설치합니다:

apt-get install php-xml-parser php5-intl php5-sqlite php5-mysql smbclient curl libcurl3 php5-curl

PHP-FPM을 다음과 같이 다시 로드합니다:

/etc/init.d/php5-fpm reload

3 ownCloud 설치하기

저의 www.example.com 웹 사이트의 문서 루트는 /var/www/www.example.com/web입니다 - 존재하지 않는 경우 다음과 같이 생성합니다:

mkdir -p /var/www/www.example.com/web

다음으로 ownCloud를 ownCloud 웹 사이트에서 서버로 다운로드하고 압축을 풀어 문서 루트에 배치합니다:

cd /tmp
wget http://download.owncloud.org/community/owncloud-5.0.13.tar.bz2
tar xvfj owncloud-5.0.13.tar.bz2
rm -f owncloud-5.0.13.tar.bz2
cd owncloud
mv * .htaccess /var/www/www.example.com/web/

문서 루트와 그 안의 ownCloud 파일이 www-data 사용자 및 www-data 그룹으로 실행 중인 nginx 데몬에 의해 쓰기 가능하도록 만드는 것이 좋습니다:

chown -R www-data:www-data /var/www/www.example.com/web

ownCloud를 위한 MySQL 데이터베이스를 아직 생성하지 않았다면 (MySQL ownCloud 사용자 포함), 다음과 같이 할 수 있습니다 (이 예제에서는 데이터베이스 이름을 owncloud로 하고, 사용자는 owncloud_admin이며 비밀번호는 owncloud_admin_password입니다):

mysqladmin -u root -p create owncloud
mysql -u root -p

GRANT ALL PRIVILEGES ON owncloud. TO ‘owncloud_admin’@’localhost’ IDENTIFIED BY ‘owncloud_admin_password’;
GRANT ALL PRIVILEGES ON owncloud.
TO ‘owncloud_admin’@’localhost.localdomain’ IDENTIFIED BY ‘owncloud_admin_password’;

FLUSH PRIVILEGES;
quit;

다음으로 /etc/nginx/sites-available/ 디렉토리에 www.example.com vhost를 위한 nginx vhost 구성을 생성합니다:

vi /etc/nginx/sites-available/www.example.com.vhost

| server { listen 80; server_name www.example.com example.com; root /var/www/www.example.com/web; if ($http_host != "www.example.com") { rewrite ^ http://www.example.com$request_uri permanent; } index index.php index.html; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # .htaccess, .htpasswd, .DS_Store (Mac)와 같은 숨겨진 파일에 대한 모든 접근 시도를 거부합니다. location ~ \. { deny all; access_log off; log_not_found off; } client_max_body_size 10G; # 최대 업로드 크기 설정 rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; rewrite ^/apps/calendar/caldav.php /remote.php/caldav/ last; rewrite ^/apps/contacts/carddav.php /remote.php/carddav/ last; rewrite ^/apps/([^/]*)/(.*\.(css|php))$ /index.php?app=$1&getfile=$2 last; rewrite ^/remote/(.*) /remote.php last; error_page 403 = /core/templates/403.php; error_page 404 = /core/templates/404.php; location ~ ^/(data|config|\.ht|db_structure\.xml|README) { deny all; } location / { rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ /index.php$is_args$args; } location ~ ^(.+?\.php)(/.*)?$ { try_files $1 =404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$1; fastcgi_param PATH_INFO $2; fastcgi_param HTTPS $https; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_intercept_errors on; fastcgi_index index.php; fastcgi_buffers 64 4K; } location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires 30d; access_log off; } } |

vhost를 활성화하려면 /etc/nginx/sites-enabled/ 디렉토리에서 그것에 대한 심볼릭 링크를 생성합니다:

cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost

변경 사항을 적용하기 위해 nginx를 다시 로드합니다:

/etc/init.d/nginx reload

이제 http://www.example.com으로 이동하여 웹 기반 ownCloud 설치 프로그램을 시작할 수 있습니다 - 관리자 계정의 사용자 이름과 비밀번호를 입력하고 고급을 클릭합니다. 그런 다음 아래로 스크롤합니다…

… 그리고 MySQL을 클릭합니다. 이렇게 하면 데이터베이스 세부정보를 입력할 수 있는 입력 필드가 나타납니다. 데이터베이스 세부정보를 입력하고 설정 완료를 클릭합니다:

모든 것이 잘 진행되면 ownCloud에 오신 것을 환영합니다 메시지가 표시됩니다:

설치가 완료되었으며 ownCloud를 사용하기 시작할 수 있습니다:

4 링크

Share: X/Twitter LinkedIn

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

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