VPS에 Nextcloud 설치하기: Google Drive 대체 셀프 호스팅 클라우드 스토리지 2026

Nextcloud를 VPS에 직접 호스팅하면 구글 드라이브를 대체하는 완벽한 개인용 클라우드가 완성됩니다.

데이터 주권을 확보하고 용량 제한 없이 자유롭게 파일 동기화를 마음껏 활용할 수 있습니다.

이러한 설정은 실무 환경에서 즉시 효과를 발휘하며 시스템의 안정성을 크게 높여줍니다.

Google Drive 월 구독료, VPS로 절약하려면 어떻게 해야 할까요?

Google One 2TB 플랜은 월 12,900원(약 $9.99)이다. 연간 약 15만 원. 하지만 VPS 하나를 빌려 Nextcloud를 운영하면, 같은 가격으로 50GB 이상의 클라우드 스토리지를 소유할 수 있다. 프라이버시도 보장된다.

이 가이드에서는 Docker Compose로 Nextcloud를 설치하고, Let’s Encrypt SSL까지 적용하는 전체 과정을 다룬다. 설치 시간은 약 30분.


1. Nextcloud란?

VPS에 Nextcloud 설치하기: Google Drive 대체 셀프 호스팅 클라우드 스토리지 2026

Nextcloud는 오픈소스 셀프 호스팅 클라우드 스토리지 플랫폼이다. Google Drive, Dropbox, OneDrive의 셀프 호스팅 대안이다.

주요 기능

기능 Nextcloud Google Drive
파일 동기화 지원 (데스크톱/모바일) 지원
파일 공유 링크/사용자/그룹 링크/사용자
캘린더 Nextcloud Calendar Google Calendar
연락처 Nextcloud Contacts Google Contacts
오피스 문서 Collabora/OnlyOffice Google Docs
사진 관리 Nextcloud Memories Google Photos
저장공간 VPS 디스크만큼 구독 플랜 한도
프라이버시 완전 통제 Google 정책
월 비용 VPS 비용 ($4-12) $1.99-9.99

비용 비교: Google Drive vs Nextcloud on VPS

옵션 저장공간 월 비용 연간 비용
Google One 2TB 2TB $9.99 $120
Vultr 50GB 50GB (+확장 가능) $6 $72 (첫 해 $0)
Hetzner 40GB 40GB (+확장 가능) €3.29 (~$3.59) $43
DigitalOcean 50GB 50GB (+확장 가능) $6 $72 (첫 해 $0)

핵심: Google Drive는 저장공간이 고정되지만, Nextcloud는 VPS 디스크를 늘리면 무제한으로 확장할 수 있다. Object Storage를 연결하면 비용을 더 낮출 수 있다.


2. VPS 준비는 무엇일까요?

청록색 불빛이 켜진 서버 랙

Nextcloud는 RAM을 많이 사용하므로 최소 2GB RAM을 권장한다.

추천 VPS 스펙

스펙 최소 권장 최적
vCPU 1 2 2
RAM 2GB 4GB 4GB
Disk 40GB 80GB 160GB NVMe
OS Ubuntu 22.04 Ubuntu 24.04 LTS Ubuntu 24.04 LTS

추천 VPS

Provider 스펙 월 비용 특징
Vultr 2vCPU/4GB/80GB $24/월 서울 리전, $100 크레딧
Hetzner 2vCPU/4GB/40GB €6.59/월 압도적 가성비
DigitalOcean 2vCPU/4GB/80GB $24/월 $200 크레딧

가성비를 원한다면 Hetzner CX22 (€6.59/월)를 추천한다. 한국 속도가 중요하다면 Vultr Seoul을 선택한다.


3. Docker + Docker Compose 설치는 어떻게 하나요?

컨테이너 선박에 쌓인 색색의 컨테이너들

3.1 Docker 설치


curl -fsSL https://get.docker.com | sh
sudo systemctl enable docker
sudo systemctl start docker

3.2 Docker Compose 확인

Docker 24+에는 Compose 플러그인이 포함되어 있다:

docker compose version


4. Nextcloud Docker Compose 설정는 무엇일까요?

4.1 디렉토리 구조

mkdir -p ~/nextcloud/{data,db,html,config}
cd ~/nextcloud

4.2 docker-compose.yml 작성

version: "3.8"

services:
  db:
    image: mariadb:10.11
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=CHANGE_THIS_STRONG_PASSWORD
      - MYSQL_PASSWORD=nextcloud_db_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    networks:
      - nextcloud-net

  app:
    image: nextcloud:apache
    restart: always
    ports:
      - 8080:80
    links:
      - db
    volumes:
      - ./html:/var/www/html
      - ./data:/var/www/html/data
      - ./config:/var/www/html/config
    environment:
      - MYSQL_PASSWORD=nextcloud_db_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
      - NEXTCLOUD_ADMIN_USER=admin
      - NEXTCLOUD_ADMIN_PASSWORD=CHANGE_THIS_ADMIN_PASSWORD
      - NEXTCLOUD_TRUSTED_DOMAINS=cloud.example.com
      - OVERWRITEPROTOCOL=https
    networks:
      - nextcloud-net
    depends_on:
      - db

  cron:
    image: nextcloud:apache
    restart: always
    volumes:
      - ./html:/var/www/html
      - ./data:/var/www/html/data
      - ./config:/var/www/html/config
    entrypoint: /cron.sh
    depends_on:
      - app
    networks:
      - nextcloud-net

networks:
  nextcloud-net:

보안 주의: 비밀번호를 반드시 강력한 값으로 변경하세요. CHANGE_THIS_* 부분을 모두 교체해야 합니다.

4.3 컨테이너 실행

docker compose up -d

이제 http://[VPS-IP]:8080에서 Nextcloud 초기 설정 화면이 나온다.


5. Nginx Reverse Proxy + SSL는 무엇일까요?

스위치에 연결된 파란 네트워크 케이블

Nextcloud를 HTTPS로 서비스하려면 Nginx + Let’s Encrypt가 필요하다.

5.1 Nginx 설치

sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx

5.2 Nginx 설정

sudo tee /etc/nginx/sites-available/nextcloud <<'EOF'
server {
    listen 80;
    server_name cloud.example.com;

    client_max_body_size 10G;
    client_body_timeout 300s;
    proxy_read_timeout 300s;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

5.3 SSL 인증서 발급

sudo certbot --nginx -d cloud.example.com --non-interactive --agree-tos -m admin@example.com --redirect

자동 갱신은 certbot timer로 설정된다:

sudo systemctl status certbot.timer

5.4 신뢰할 수 있는 도메인 설정

Nextcloud config에 프록시 설정을 추가:


'trusted_proxies' => ['127.0.0.1'],
'trusted_domains' => ['cloud.example.com'],
'overwrite.cli.url' => 'https://cloud.example.com',
'overwritehost' => 'cloud.example.com',
'overwriteprotocol' => 'https',

6. Nextcloud 최적화는 무엇일까요?

6.1 PHP 메모리 증가

대용량 파일 업로드를 위해 PHP 메모리를 늘린다:


docker exec -it nextcloud-app-1 bash -c "
  echo 'memory_limit = 1024M' >> /usr/local/etc/php/conf.d/nextcloud.ini
  echo 'upload_max_filesize = 10G' >> /usr/local/etc/php/conf.d/nextcloud.ini
  echo 'post_max_size = 10G' >> /usr/local/etc/php/conf.d/nextcloud.ini
"

6.2 Redis 캐싱 (선택)

성능 향상을 위해 Redis를 추가할 수 있다. docker-compose.yml에:

  redis:
    image: redis:alpine
    restart: always
    networks:
      - nextcloud-net

config.php에:

'memcache.local' => '\\OC\\Memcache\\Redis',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => [
    'host' => 'redis',
    'port' => 6379,
],

6.3 자동 백업

VPS 백업 가이드를 참고하여 cron + rsync로 자동 백업을 설정:


0 3 * * * rsync -avz ~/nextcloud/ /mnt/backup/nextcloud/

7. 모바일/데스크톱 클라이언트는 무엇일까요?

책상 위에 나란히 놓인 노트북과 스마트폰, 스마트워치

Nextcloud는 공식 클라이언트를 제공한다:

플랫폼 기능
Windows/Mac/Linux Nextcloud Desktop 파일 동기화
iOS App Store “Nextcloud” 파일 동기화 + 자동 업로드
Android Play Store “Nextcloud” 파일 동기화 + 자동 업로드
Web 브라우저 접속 전체 기능

모바일 앱에서 “자동 업로드”를 켜면 Google Photos 대체가 가능하다.


8. 보안 강화는 무엇일까요?

8.1 2FA (2단계 인증)

Nextcloud 관리자 설정 → Security → Two-Factor Authentication 활성화. TOTP 앱(Google Authenticator, Authy)으로 설정한다.

8.2 방화벽

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

VPS 보안 완벽 가이드에서 SSH hardening, SSL, 방화벽 전체 설정을 확인하세요.

8.3 fail2ban (무차별 대입 공격 방지)

sudo apt install -y fail2ban
sudo systemctl enable fail2ban

자주 묻는 질문 (FAQ)

Q1. Google Drive에서 Nextcloud로 마이그레이션은 어떻게 하나요?

Google Takeout으로 데이터를 다운로드한 후, Nextcloud Desktop 클라이언트로 동기화 폴더에 복사하면 됩니다. 대용량(100GB+)이라면 rsync로 VPS에 직접 업로드하는 것이 빠릅니다.

Q2. 저장공간이 부족하면?

두 가지 옵션이 있습니다:
1. VPS 디스크를 업그레이드 (provider 콘솔에서 1클릭)
2.S3 호환 Object Storage를 외부 스토리지로 연결 (Nextcloud Primary Storage 모드)

Q3. Nextcloud가 느린데 어떻게 최적화하나요?

Redis 캐싱 활성화 + PHP-FPM 튜닝 + 이미지 미리보기 생성 cron job 설정이 핵심입니다. 4GB RAM 이상의 VPS를 권장합니다.

Q4. 다른 사람과 공유할 수 있나요?

네. Nextcloud는 사용자 계정을 만들어 가족/팀원과 공유할 가능성이 있습니다. 각 사용자에게 저장공간 한도를 설정할 가능성도 있습니다. 소규모 팀 클라우드로 완벽합니다.


요약는 무엇일까요?

단계 내용 시간
VPS 준비 Vultr/Hetzner/DO에서 2vCPU/4GB 인스턴스 생성 5분
Docker 설치 get.docker.com 원라인 설치 3분
Nextcloud 배포 docker-compose.yml 작성 + 실행 10분
Nginx + SSL Reverse Proxy + Let’s Encrypt 10분
최적화 Redis + PHP 튜닝 + 백업 10분
클라이언트 설치 데스크톱/모바일 앱 설정 5분

총 설치 시간 약 40분으로, 월 $4-12 비용으로 Google Drive 대체 클라우드 스토리지를 소유할 수 있다.

관련 글


어필리에이트 공개문구: 이 글의 링크를 통해 Vultr ($100 크레딧), DigitalOcean ($200 크레딧)에 가입하시면 크레딧을 받으실 가능합니다. 추가 비용은 없습니다.