아무도 무료 클라우드 스토리지가 바닥나는 것을 좋아하지 않습니다. Google Photos나 iCloud에서 공간이 바닥났다는 경고 알림을 보면 남미로의 이국적인 나무늘보 구경 여행에 차질이 생길 수 있습니다. 하지만 DIY를 좋아하는 사람과 홈랩버에게는 손을 더럽힐 의향이 있다면 해결책이 있습니다.
Nextcloud 소개
Nextcloud는 클라우드의 힘과 유연성을 여러분의 손에 쥐어주는 무료 오픈 소스 클라우드 스토리지 플랫폼입니다. Red Hat Enterprise Linux 9 및 Ubuntu 24.04 LTS와 같은 여러 인기 있는 Linux 배포판을 지원합니다. 이 문서에서는 Ubuntu Server 24.04.1 및 Nextcloud Hub 9(30.0.0)를 사용하여 고성능의 완벽하게 사용자 지정 가능한 클라우드 스토리지 서버를 빌드합니다. 여기에 표시된 일부 단계는 Linux 서버 관리 및 명령줄 인터페이스에 대한 배경 지식이 필요할 수 있으므로 사고의 모자를 쓰고 기술적인 내용을 다룰 준비를 하세요!
서버 설정
Nextcloud 서버를 설정하려면 먼저 원하는 시스템에 Ubuntu Server를 새로 설치해야 합니다. 메인 컴퓨터의 가상 머신이나 남는 하드웨어를 사용해도 충분할 것입니다. 최소 2~4개의 CPU 코어, 8GB의 RAM, 500GB의 저장 공간을 갖춘 컴퓨터를 권장합니다. 시스템 준비가 완료되면 다음 링크에서 Ubuntu Server를 다운로드하세요 . https://ubuntu.com/download/server
Ubuntu Server를 처음 설치하시는 경우, 시작하기 전에 다음 설치 가이드를 참조하세요: https://ubuntu.com/tutorials/install-ubuntu-server . 권장 소프트웨어 페이지에서 Nextcloud 사전 설치 옵션을 선택하지 않도록 주의하세요. Nextcloud는 저희가 직접 설치해 드립니다.
서버를 네트워크에 연결하고 호스트 이름을 지정한 다음, 초기 설정 시 생성한 사용자 이름과 비밀번호로 로그인하세요. 그런 다음 콘솔에 "sudo apt update && sudo apt upgrade -y"를 입력하고 Enter 키를 눌러 Ubuntu Server의 최신 소프트웨어 업데이트를 설치합니다. 업데이트가 완료되면 "sudo reboot" 명령어를 사용하여 서버를 재부팅하세요.
참고: sudo 명령을 실행하려면 비밀번호를 다시 입력해야 할 수도 있습니다.
소프트웨어 설치
다음으로, Nextcloud 인스턴스가 의존하는 필수 소프트웨어 중 일부를 가져와야 합니다. 다음 명령을 명령줄 인터페이스에 입력(또는 복사하여 붙여넣기)하여 Apache 웹 서버와 나중에 더 고급 Nextcloud 설정에 필요한 몇 가지 패키지를 다운로드하고 설치합니다.
sudo apt install apache2 mariadb-server php libapache2-mod-php redis-server libmagickcore-6.q16-7-extra
sudo apt install php-apcu php-bcmath php-bz2 php-cli php-common php-curl php-gd php-gmp php-imagick php-intl php-ldap php-mbstring php-memcached php-mysql php-redis php-smbclient php-zip php-xml


Apache 웹 서버 구성 – 1부
Apache를 건드리기 전에 먼저 서버에 제대로 연결할 수 있는지 확인해야 합니다. Nextcloud 인스턴스에 웹 브라우저(HTTP 및 HTTPS) 연결을 허용하려면 다음 명령을 사용합니다.
"Apache Full"에서 sudo ufw allow
sudo ufw enable


MariaDB 구성
Nextcloud 서버는 서버 구성 및 사용자 프로필 정보를 저장하기 위해 항상 온라인 상태인 데이터베이스가 필요합니다. 시스템 재부팅 후에도 MariaDB가 실행되도록 설정하려면 "sudo systemctl enable mariadb"를 입력 하고 Enter 키를 누르십시오. 이제 Nextcloud 설치를 위한 데이터베이스를 준비할 준비가 되었습니다!

- root의 현재 비밀번호를 입력하십시오 (none의 경우 입력). 엔터를 클릭하세요
- unix_socket 인증으로 전환 [Y/n] n
- 루트 비밀번호를 변경하시겠습니까? n
- 익명 사용자를 삭제 하시겠습니까? [Y / n] y
- 원격 로그인을 허용하지 않습니까? [Y / n] y
- 테스트 데이터베이스를 제거하고 액세스하시겠습니까? [Y/n] y

"sudo mysql -u root"를 입력 하고 MySQL 명령줄 인터페이스가 나타나면 다음 명령어를 입력하세요(각 줄 끝에 ";"를 반드시 사용하세요!).
'nextcloud'@'localhost' 사용자를 생성하고 'P@$$w0rd'로 식별됨
참고: “nextcloud”와 “P@$$w0rd”를 원하는 사용자 이름과 비밀번호로 바꾸세요.
데이터베이스가 없으면 만들기 nextcloud 문자 집합 utf8mb4 대조 utf8mb4_general_ci;
nextcloud.*의 모든 권한을 'nextcloud'@'localhost'에 부여합니다.
참고: 다시 한번, @ 기호 앞에 있는 "nextcloud"를 이전에 사용한 사용자 이름으로 바꾸세요.
유동 특권;
그만두다;

PHP 확장 기능 활성화 및 PHP 성능 개선
우리가 설치한 모든 PHP 확장 기능을 기억하시나요? Nextcloud에서 제대로 사용할 수 있도록 이를 활성화해야 합니다. 다음 명령을 사용하여 필요한 PHP 확장 기능을 활성화하세요.
sudo phpenmod apcu bcmath bz2 curl gd gmp imagick intl ldap mbstring memcached mysql redis smbclient zip xml


memory_limit를 = 512M
- 필요한 경우 PHP에 더 많은 메모리를 제공하기 위해 선택적으로 늘릴 수 있습니다(1024M, 2048M 등)
게시물 최대 크기 = 100G
업로드_최대_파일_크기 = 100G
- 이 값과 이전 값은 Nextcloud 서버에 업로드할 수 있는 최대 파일 크기를 나타냅니다. 원하는 최대 파일 크기로 변경하세요. (1G = 1기가바이트, 10G = 10기가바이트, 100G = 100기가바이트 등) 크기는 K(킬로바이트), M(메가바이트), G(기가바이트)로만 입력하세요.
날짜.시간대 = America/New_York
- 줄 앞에 있는 “;”를 제거하고 이 가이드를 사용하여 올바른 시간대를 확인하세요: https://www.php.net/manual/en/timezones.php
opcache.enable=1
- 줄 앞에 있는 “;”를 제거하세요.
opcache.메모리 소비=128
- 줄 앞에 있는 “;”를 제거하세요. 이 값은 메가바이트 단위로 Nextcloud 서버에 있는 메모리 양에 맞게 사용자 지정할 수 있습니다(128 = 128메가바이트, 1024 = 1024메가바이트/1기가바이트, 2048 = 2048메가바이트/2기가바이트).
opcache.interned_stringers_buffer=16
- 줄 앞에 있는 “;”를 제거합니다. 인턴드 문자열에 할당된 메모리 양을 메가바이트 단위로 나타내며 권장 값은 16입니다.
opcache.max_accelerated_files=10000
- 줄 앞에 있는 “;”를 제거하세요. 이 값은 시스템의 캐싱 및 메모리 용량에 맞게 200에서 1000000 사이의 숫자로 조정할 수 있습니다.
opcache.재검증 빈도=1
- 줄 앞에 있는 “;”를 제거하고 1로 변경하세요.
opcache.save_comments=1
- 줄 앞에 있는 “;”를 제거하고 값이 1로 설정되었는지 확인합니다.
php.ini 파일에 필요한 모든 변경을 완료한 후, 컨트롤(ctrl) 키를 누른 채 "O" 키를 눌러 파일을 저장합니다. Enter 키를 눌러 확인하고, 컨트롤(ctrl) 키를 다시 누른 채 "X" 키를 눌러 nano를 종료합니다.

Apache 웹 서버 구성 – 2부
Nextcloud를 다운로드하고 필요한 소프트웨어 설치를 완료했지만, 기본 Apache 웹페이지를 Nextcloud 페이지로 교체해야 합니다. 콘솔에 "cd ~"를 입력 하고 Enter 키를 눌러 사용자 홈 디렉토리로 돌아갑니다. Nextcloud ZIP 파일이 다운로드된 위치입니다. 이제 "unzip latest.zip"을 입력 하고 Enter 키를 누르면 압축 해제 유틸리티가 실행됩니다!

폴더를 전송하기 전에 기본 제공되는 "www-data" 사용자가 새 디렉터리의 소유자인지 확인해야 합니다 . "www-data" 사용자는 Apache 웹 서버와 Nextcloud 자체에서 수행하는 모든 웹 서버 작업을 처리하므로 이 작업은 매우 중요합니다. 콘솔에 "sudo chown -R www-data:www-data ./nextcloud"를 입력하고 Enter 키를 누르십시오.


DocumentRoot /var/www/html/nextcloud/ 서버 이름 nextcloud-demo.moose.local 모든 허용된 AllowOverride 모든 옵션 FollowSymLinks MultiViews가 필요합니다. 데이브 오프

도메인을 소유하고 있지 않은 경우, Cloudflare( https://www.cloudflare.com/products/registrar/) 와 같은 등록기관에서 도메인을 구매하거나, NoIP(https://www.noip.com/) 와 같은 웹사이트에서 무료로 사용 가능한 공개 호스트 이름을 사용할 수 있습니다. 도메인을 구매하거나 무료 호스트 이름을 사용하고 싶지 않다면, 이 필드에 가상의 FQDN(완전 정규화 도메인 이름)을 입력할 수 있습니다. 단, Nextcloud 인스턴스에 연결할 때는 서버의 IP 주소(공개 및 사설)만 사용할 수 있다는 점에 유의해야 합니다.
참고: 서버의 FQDN을 사용하여 Nextcloud 인스턴스에 로컬로 액세스하려면 홈 네트워크에서 제대로 구성된 DNS 서버를 실행해야 합니다. 그렇지 않으면 홈 네트워크에서 액세스할 때 서버의 로컬 IP 주소를 사용해야 합니다.
가상 호스트 파일 작성을 완료하고 예제 FQDN을 서버의 FQDN(유효한 FQDN이든 아니든)으로 교체했으면, "sudo a2ensite nextcloud.conf" 명령어를 사용하여 Nextcloud 사이트를 활성화 하고, "sudo systemctl restart apache2" 명령어로 웹 서버를 재시작하여 새 사이트를 적용할 수 있습니다. 동일 네트워크에 있는 다른 컴퓨터의 웹 브라우저를 사용하여 서버의 FQDN 또는 로컬 IP 주소로 Nextcloud 인스턴스에 접속하세요.
Nextcloud 초기 설정
이전 단계를 올바르게 따랐다면 사이트에 대한 관리자 사용자를 만들고 Nextcloud 서버에 대한 세부 정보를 입력하라는 페이지가 나타납니다. 관리자 사용자에게 원하는 이름(예: Administrator 또는 Superadmin)과 강력한 비밀번호를 제공합니다.

사이트가 잠시 로드된 후 Nextcloud 서버에 권장되는 여러 앱을 설치할 수 있는 옵션이 제공됩니다. Nextcloud 인스턴스에 앱을 더 추가하면 서버의 처리 부하, 메모리 사용량 및 총 디스크 사용량이 증가한다는 점에 유의하세요. 권장되는 앱을 설치할지 또는 선택적으로 이 단계를 건너뛸지 선택하세요.


Cron 작업 생성
크론 작업은 사용자 개입 없이 정기적으로 실행되는 명령입니다. Nextcloud 서버의 최적의 성능과 기능을 유지하기 위해 5분마다 서버의 "cron.php" 스크립트를 호출하는 크론 작업이 필요합니다.
이 cron 작업을 설정하려면 서버 콘솔에서 "sudo crontab -u www-data -e" 명령을 입력하십시오.

*/5 * * * * php -f /var/www/nextcloud/cron.php

축하합니다! 이제 로컬 네트워크에서 Nextcloud 서버를 사용할 수 있게 되었습니다! 이제 홈 네트워크에서 Nextcloud 서버와 파일을 업로드하고 다운로드할 수 있습니다. 하지만 서버를 더욱 효율적으로 사용하려면 보안을 강화하고, 홈랩에서 자주 사용하는 앱을 추가하고, 초고속 메모리 캐싱 시스템을 구축하고, 공용 인터넷에서 액세스할 수 있도록 해야 합니다.
Nextcloud 서버의 보안 개선
웹 서버의 보안 태세를 강화하는 가장 좋은 방법 중 하나는 암호화되지 않고 안전하지 않은 HTTP를 통해 HTTPS로 업그레이드하는 것입니다. 활성화하면 요청은 웹 연결을 위한 최신이자 가장 안전한 암호화 표준인 TLS 1.3을 통해 제공됩니다. 이는 웹사이트를 공개 인터넷에 노출할 계획일 때마다 필요한 단계이며 민감한 정보를 보호할 때의 훌륭한 첫 번째 단계입니다.
Nextcloud 트래픽을 암호화하기로 결정했다면 HTTPS를 설정하는 두 가지 옵션이 있습니다. 자체 서명된 인증서를 사용하거나 유효한 인증 기관의 인증서를 사용하는 것입니다. 현재 도메인을 소유하지 않았거나 임시 Nextcloud 인스턴스에 대해 도메인을 설정할 생각이 없다면 자체 서명된 인증서나 호스트 이름 공급자의 인증서를 사용하는 것이 좋습니다. 보다 영구적인 Nextcloud 설정을 계획하고 있다면 Let's Encrypt와 같은 인증 기관에서 공개적으로 신뢰할 수 있는 인증서를 얻는 것이 좋습니다.
자체 서명 인증서가 있는 HTTPS
자체 서명된 인증서를 활성화하고 생성하려면 몇 가지 간단한 명령을 실행해야 합니다.
sudo a2enmod SSL
sudo openssl req -x509 -노드 -일 365 -newkey rsa:2048 -키아웃 /etc/ssl/private/nextcloud-selfsigned.key -아웃 /etc/ssl/certs/nextcloud-selfsigned.crt


DocumentRoot /var/www/html/nextcloud/ ServerName nextcloud-demo.moose.local SSLCertificateFile의 SSLEngine /etc/ssl/certs/nextcloud-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/nextcloud-selfsigned.key 모든 허용된 AllowOverride 모든 옵션 FollowSymLinks MultiViews가 필요합니다. 데이브 오프


신뢰할 수 있는 인증서가 있는 HTTPS
Nextcloud에서 신뢰할 수 있는 인증서를 사용하려면 먼저 도메인을 소유하거나 호스트 이름 제공업체에서 서명된 인증서를 보유해야 합니다. 이전에 자체 서명 인증서를 사용했고 이전 섹션의 단계를 따라 HTTPS를 활성화한 경우, 파일 하단에 추가된 텍스트 부분을 삭제하고 "sudo a2dismod ssl" 및 "sudo systemctl restart apache2" 명령을 실행하십시오 . 작업이 완료되면 Ctrl + "O"와 Ctrl + "X"를 눌러 nano를 저장하고 종료하십시오.

도메인 소유자를 위한 HTTPS 설정(Certbot을 통해)
이제 가상 호스트 파일이 표준 HTTP 구성으로 돌아왔으므로 인증 기관에서 신뢰할 수 있는 인증서를 사용하기 위한 준비를 시작할 수 있습니다. 도메인을 소유하고 있다면 다음 단계에 따라 인증서를 취득하고 구현하세요. 그렇지 않은 경우 다음 섹션으로 건너뛰어 호스트 이름 공급자로부터 취득한 인증서를 사용하는 방법을 자세히 설명합니다. 자신의 도메인에서 사용되는 인증서를 취득하려면 웹 서버에서 사용할 수 있는 무료 인증서를 제공하는 비영리 기관인 Let's Encrypt의 Certbot을 사용합니다.
Certbot을 다운로드하려면 먼저 "sudo snap install core && sudo snap refresh core" 명령어를 사용하여 Snap을 설치하고 업데이트하세요. 그런 다음 "sudo snap install –classic certbot" ("classic" 앞에 하이픈 두 개를 연속으로 입력)을 입력하여 패키지를 설치합니다.


Certbot 작업이 완료되면 "sudo nano /etc/apache2/sites-available/nextcloud.conf"를 입력하고 Enter 키를 눌러 가상 호스트 파일을 다시 엽니다 . </VirtualHost> 헤더 바로 위에 다음 줄을 추가하여 HTTP URL을 HTTPS로 재작성하도록 설정하고, "nextcloud-demo.moose.local"을 서버의 정규화된 도메인 이름으로 바꿉니다.
RewriteEngine on RewriteCond %{SERVER_NAME} = nextcloud-demo.moose.local RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
완성된 가상 호스트 파일은 다음과 같이 표시됩니다.

호스트 이름 공급자의 인증서를 사용한 HTTPS 설정
호스트 이름 공급자의 인증서를 사용하여 Nextcloud 서버에서 HTTPS를 활성화하는 단계는 이 문서의 "자체 서명 인증서가 있는 HTTPS" 섹션에서 다룬 단계와 동일하며, 유일한 예외는 자체 서명 키 경로를 호스트 이름 공급자의 키 경로로 바꿔야 한다는 것입니다. 다음과 같은 명령 “wget” “뮤비” 인증서 파일을 적절한 디렉토리(인증서 파일의 경우 /etc/ssl/certs, 키 파일의 경우 /etc/ssl/private)로 다운로드하고 이동하는 데 사용할 수 있습니다. Apache SSL 모듈을 활성화해야 합니다. “sudo a2enmod ssl” 명령하고 사용하다 “sudo systemctl restart apache2” 변경 사항을 적용하기 위해 완료되었습니다. 인증서 파일을 사용하기 위한 완성된 가상 호스트 파일은 다음과 유사해야 합니다(SSLCertificateFile 및 SSLCertificateKeyFile 필드는 사용자 지정 인증서 및 키 파일에 대한 경로로 대체됨):
파일용 바이러스 백신 앱 설치
Nextcloud가 HTTPS를 통해 데이터를 안전하게 전송할 수 있다고 하더라도, 귀하 또는 귀하의 사용자가 업로드하는 모든 것이 안전하다는 것을 의미하지는 않습니다. 의도적이든 의도하지 않든, 웹 서버의 맬웨어 감염은 신속하게 처리하지 않으면 엄청난 피해를 입히고 다른 시스템으로 들불처럼 퍼질 수 있습니다. 인터넷에서 악의적인 행위자에 대한 또 다른 보호 계층을 위해, 인터넷에서 액세스할 수 있는 서버에는 바이러스 백신 프로그램이 필수적입니다.
ClamAV는 Nextcloud와 통합하여 사용자가 업로드한 파일에서 맬웨어를 검사할 수 있는 무료 오픈 소스 바이러스 백신 제품군입니다. Nextcloud 앱 스토어에는 ClamAV를 백엔드로 사용하여 사용자 파일을 검사하고 서버를 보호하는 "파일용 바이러스 백신"이라는 앱이 있습니다. 이 앱은 관리자 계정의 프로필 사진을 클릭하고 "보안" 범주를 선택하여 "앱" 탭으로 이동하여 다운로드할 수 있습니다.



- 구성 파일을 자동으로 처리할까요? 가능
- 소켓 유형 : UNIX
- 로컬(UNIX) 소켓 clamd는 다음을 수신합니다. /var/run/clamav/clamd.ctl
- clamd 로컬(UNIX) 소켓의 그룹 소유자: ClamAV를
- clamd 로컬(UNIX) 소켓에 대한 생성 모드: 666
- 남은 UNIX 소켓 파일을 우아하게 처리할까요? 가능
- 메일 스캔을 활성화하시겠습니까? 아니
- 보관 파일 검사를 활성화하시겠습니까? 아니
- 이 프롬프트에 대해 "예"를 선택할 수 있지만, 그렇게 하기로 선택한 경우 추가 구성이 필요합니다. 자세한 내용은 ClamAV 설명서를 참조하세요. https://docs.clamav.net/manual/Installing/Packages.html#the-packages
- 허용되는 최대 디렉토리 깊이: 15
- 데몬이 일반 파일 심볼릭 링크를 따르도록 하시겠습니까? 가능
- 스레드 스캐너 중지 시간 초과(초): 180
- 데몬의 스레드 수: 2
- Nextcloud 서버의 코어/vCPU 수에서 2를 뺀 후, 그 숫자를 이 필드에 입력하세요.
- 허용된 보류 연결 수: 15
- 시스템 로거를 사용하시겠습니까? 아니
- clamav-daemon에 대한 로그 파일(비활성화하려면 none을 입력): /var/log/clamav.log
- 각 메시지에 시간 정보를 기록하시겠습니까? 아니
- 드라이브 쓰기가 시스템에 큰 영향을 미치지 않는다면 대신 "예"를 선택하세요.
- 로그 회전을 활성화하시겠습니까? 가능
- 데몬 자체 검사 간 지연 시간(초): 3600
- 사용자는 다음과 같이 clamav-daemon을 실행합니다. ClamAV를
- clamav-daemon 그룹(공백으로 구분): www- 데이터
- 데이터베이스에서 바이트코드를 로드하시겠습니까? 가능
- 바이트코드에 적용할 보안 수준: 신뢰서명됨
- 바이트코드 실행 시간 초과(밀리초): 60000
휴! 설정할 게 정말 많았네요! 다행히 한 번만 하면 됩니다. "systemctl enable clamav-freshclam" 과 "systemctl enable clamav-daemon" 명령어를 사용하여 시스템 부팅 후 ClamAV가 자동으로 시작되도록 설정하면 Nextcloud의 "파일용 바이러스 백신" 앱을 설정할 수 있습니다.
Nextcloud 서버와 동일한 네트워크 및 서브넷에 연결된 다른 컴퓨터에서 웹 브라우저를 사용하여 Nextcloud에 로그인하고 관리자 사용자의 프로필 사진을 클릭합니다. 드롭다운 메뉴에서 "관리 설정" 옵션을 클릭하고 페이지 로딩이 완료된 후 "보안" 섹션을 선택합니다.

Nextcloud 통합 및 일반 개선 사항
이제 데이터를 저장하기 위한 기능적이고 안전한 클라우드 서버를 구축했으므로, 그 기능을 확장하고 새로운 기능을 추가할 수 있습니다. 먼저 쉬운 것부터 시작해 보겠습니다. Nextcloud를 이메일 서버에 연결하고 기본 전화 지역을 설정합니다.
이메일 서버 연결
이메일 알림, 활동 알림 및 비밀번호 재설정 링크(LDAP가 아닌 사용자의 경우)를 보내려면 Nextcloud를 작동하는 이메일 서버에 연결해야 합니다. 이메일 서버를 자체 호스팅하는 경우 올바른 서버 주소 지정 및 인증 정보를 입력하는 것만큼 쉽게 설정할 수 있습니다. Gmail의 SMTP 서버와 같이 이미 가지고 있는 이메일 주소가 있는 타사 이메일 서버를 사용할 수도 있습니다.
서버와 동일한 네트워크 및 서브넷에 있는 컴퓨터에서 웹 브라우저를 사용하여 Nextcloud 서버의 정규화된 도메인 이름 또는 IP 주소로 이동합니다. 관리자 사용자의 프로필 사진을 클릭하고 드롭다운 메뉴에서 "관리 설정"을 선택합니다.


이미 소유하고 있는 Google 계정으로 Gmail의 SMTP 서버를 사용하려면 먼저 https://myaccount.google.com/apppasswords 로 이동하여 사이트의 안내에 따라 앱 암호를 생성하세요. Nextcloud 서버와 연관된 이름을 앱 암호에 지정하고 안전한 곳에 보관하세요. 암호는 4자마다 공백이 있는 것처럼 표시되지만 실제 암호에는 공백이 포함되지 않습니다. 앱 암호는 16개의 연속된 문자로 구성됩니다.
아래에 나열된 이메일 서버 필드를 작성하세요.
- 보내기 모드: SMTP
- 암호화: 없음/STARTTLS
- 발신 주소: 존 도우 @ Storagereview.com
- Gmail 계정 주소를 여기에 입력하세요.
- 서버 주소: smtp.gmail.com : 587
- 입증: 네 (체크박스)
- 신임장: johndoe@storagereview.com 앱 비밀번호 여기
- 여기에 생성한 Gmail 계정 주소와 앱 비밀번호를 입력하세요.
완료되면 "저장" 버튼을 클릭하고 "이메일 보내기" 버튼을 사용하여 구성이 유효한지 확인하세요.
사용 중인 관리자 사용자 계정에 대한 이메일 주소를 아직 설정하지 않은 경우, 설정하라는 경고가 표시됩니다. 관리자 사용자의 프로필 사진을 클릭하고 드롭다운 메뉴에서 "개인 설정"을 선택한 다음 "이메일" 필드에 이메일 주소를 입력하면 쉽게 해결할 수 있습니다. 완료되면 "관리 설정" 페이지의 "기본 설정"에 있는 "이메일 서버" 모듈로 돌아가 필요한 경우 구성을 다시 입력합니다.
기본 전화 지역 설정
Nextcloud가 전화번호를 더 잘 처리하도록 하기 위해 할 수 있는 매우 빠르지만 유용한 변경은 인스턴스에 대한 기본 전화 지역을 설정하는 것입니다. 사용자가 "개인 설정"에서 찾을 수 있는 "개인 정보" 설정에서 프로필을 작성할 때, 선택적으로 연락 목적으로 전화번호를 포함하라는 메시지가 표시됩니다. 기본 전화 지역이 없으면 Nextcloud는 사용자에게 이 번호로 국가 코드를 입력하도록 강제합니다. 기본 전화 지역을 설정하면 사용자가 이 접두사를 제외할 수 있습니다.
Nextcloud 서버 콘솔에서 "sudo nano /var/www/html/nextcloud/config/config.php" 명령어를 사용하여 Nextcloud 사이트의 PHP 설정 파일을 편집하세요.

'기본_전화_지역' => '미국',
-
- 이 분야에 사용되는 귀하 국가의 고유한 ISO 3166-1 코드는 다음 Wikipedia 페이지에서 확인할 수 있습니다. https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
보안상의 이유로 Nextcloud 인스턴스의 "config.php" 파일 내용을 다른 사람에게 보여주어서는 안 됩니다 . 이 파일에는 사용자 또는 시스템 관리자만 알아야 하는 비밀번호 및 시스템 비밀과 같은 중요한 정보가 포함되어 있습니다. 기본 전화 지역 설정 줄을 구성 파일에 추가한 후에는 Ctrl 키를 누른 상태에서 "O" 키를 눌러 새 내용을 저장하고, 다시 Ctrl 키를 누른 상태에서 "X" 키를 눌러 종료합니다. 변경 사항을 적용하려면 콘솔에 "sudo systemctl restart apache2"를 입력하고 Enter 키를 누릅니다.
유지 관리 창 설정
Nextcloud 사이트의 PHP 구성 파일에 할 수 있는 또 다른 작은 개선 사항은 서버가 보다 집중적이고 사용자에게 영향을 미칠 수 있는 작업을 수행할 수 있도록 유지 관리 기간을 설정하는 것입니다. 기간은 UTC 시간을 사용하여 설정되므로 원하는 유지 관리 기간 시작 시간을 동등한 UTC 시간(1~24 사이의 정수로 표현)으로 변환해야 합니다. 유지 관리 기간은 3시간 동안 지속되므로 오전 00시 UTC에 시작하는 유지 관리 기간은 오전 7시 UTC에 끝납니다.
PHP 설정 파일을 다시 편집하려면 "sudo nano /var/www/html/nextcloud/config/config.php" 명령어를 사용하고 , 파일에 이미 있는 줄들의 공백 규칙을 준수하여 마지막 괄호 ");" 앞에 다음 줄을 추가하세요.
'유지관리_창_시작' => 1,
-
- "1"을 UTC 시간으로 변환한 원하는 유지 관리 창 시작 시간으로 바꿔야 합니다.

LDAP/Active Directory 서버 통합
Nextcloud 인스턴스에 여러 사용자에게 액세스 권한을 부여하려는 경우 Nextcloud에 추가할 수 있는 가장 강력한 기능 중 하나는 LDAP 또는 Active Directory 서버에 연결하고 인증하는 기능입니다. 많은 조직과 홈랩은 Active Directory 또는 LDAP를 사용하여 중앙 집중 방식으로 네트워크 리소스에 대한 사용자 액세스를 구성하고 제어하며 Nextcloud도 예외는 아닙니다. "LDAP 사용자 및 그룹 백엔드" 앱을 사용하면 Active Directory 도메인 또는 LDAP 서버의 사용자를 Nextcloud 서버로 가져와 사용자 이름 또는 이메일 주소와 비밀번호를 사용하여 로그인할 수 있습니다. 이 기능은 외부 저장소(예: NAS의 SMB 공유)와 결합하면 더욱 강력해져 해당 사용자에게만 권한이 있는 개별 '홈' 폴더를 제공합니다.
"LDAP 사용자 및 그룹 백엔드" 앱을 설치하려면 먼저 관리자 사용자 계정으로 Nextcloud 웹 페이지에 로그인한 상태에서 프로필 사진을 클릭합니다. 나타나는 드롭다운 메뉴에서 "앱"을 선택하고 "추천 앱" 모듈을 클릭합니다. "LDAP 사용자 및 그룹 백엔드" 앱을 찾을 때까지 아래로 스크롤하고 "활성화" 버튼을 클릭합니다.

관리자 사용자 프로필 사진을 클릭하고 드롭다운 메뉴에서 선택하여 "관리 설정" 페이지로 다시 이동하세요. "LDAP/AD 통합" 모듈을 클릭하여 시작하세요.

- 호스트 : 192.168.1.102
- LDAP 서버 또는 Active Directory 도메인 컨트롤러의 IP 주소/호스트 이름으로 바꾸세요.
- 포트 : 389
- Active Directory를 사용하는 경우 포트 389를 사용하세요. 다른 유형의 LDAP 서버를 사용하거나 AD 서버가 LDAP 요청을 수신하는 포트를 사용자 지정한 경우 여기에 특정 번호를 입력하세요.
- 사용자 DN: CN=관리자, CN=사용자, DC=무스, DC=로컬
- Nextcloud를 LDAP/AD 서버에 연결하는 데 사용되는 계정의 고유 이름을 입력합니다. Active Directory를 사용하는 경우 CMD 창을 사용하여 이 명령을 실행하면 쉽게 찾을 수 있으며, "Administrator"를 연결에 사용하는 계정의 사용자 이름으로 바꿉니다.
- dsquery 사용자 이름 "관리자"
- 이 필드를 채운 후 "자격 증명 저장" 버튼을 클릭하세요.
- Nextcloud를 LDAP/AD 서버에 연결하는 데 사용되는 계정의 고유 이름을 입력합니다. Active Directory를 사용하는 경우 CMD 창을 사용하여 이 명령을 실행하면 쉽게 찾을 수 있으며, "Administrator"를 연결에 사용하는 계정의 사용자 이름으로 바꿉니다.
- 줄당 하나의 기본 DN: DC=무스, DC=지역
- 이전 자격 증명을 저장한 후 "기본 DN 감지" 버튼을 클릭하면 LDAP/AD 서버의 기본 DN이 자동으로 결정됩니다.
- 선택적으로 "테스트 기반 DN" 버튼을 클릭하여 지금까지의 구성이 유효한지 확인합니다.





외부 저장소 통합
Nextcloud 서버에 추가된 또 다른 강력한 기능은 외부 스토리지 풀에 연결하여 사용할 수 있는 기능입니다. 사용자 파일을 서버 자체에 직접 배치하면 서버 스토리지를 관리하고 사용자 수요를 충족하기 위해 지속적으로 용량을 늘려야 하는 문제가 발생할 수 있습니다. 할당량을 적용하고 사용자가 만든 불필요한 데이터를 제거하는 데 지속적으로 주의를 기울이지 않으면 좌절과 예상치 못한 다운타임이 발생할 수 있습니다. Nextcloud 설정의 웹 서버와 스토리지 구성 요소를 분리하는 것은 확장 가능한 클라우드 스토리지 시스템과 즐거운 사용자 경험을 만들 때 매우 권장되고 중요합니다.
Nextcloud의 "외부 저장소 지원" 앱을 사용하면 다음 저장소 유형의 폴더를 마운트할 수 있습니다.
- 아마존 S3
- FTP
- 다음 클라우드
- 네, 맞습니다. 다른 Nextcloud 서버에 있는 저장소에 연결하여 사용할 수 있습니다!
- OpenStack 객체 스토리지
- SFTP
- SMB / CIFS
- WebDAV를
보시다시피 Nextcloud를 외부 스토리지 어레이, 클라우드 및 기타 시스템에 연결하는 데는 여러 가지 선택 사항이 있습니다. 예를 들어, 이전에 연결한 Active Directory 도메인에서 가져온 사용자에게 부여된 권한을 사용하여 다양한 폴더에 대한 액세스를 제어하는 SMB 공유에 Nextcloud 인스턴스를 연결합니다.
"외부 저장소 지원" 앱을 활성화하려면 사이트에 로그인한 상태에서 관리자 사용자의 프로필 사진을 클릭하고 "앱"을 선택합니다. "추천 앱"으로 다시 이동하여 "외부 저장소 지원"이라는 라벨이 붙은 모듈을 찾습니다. "활성화" 버튼을 클릭하여 애플리케이션을 사용할 수 있도록 합니다.


- 입증: 수동으로 입력, 데이터베이스에 저장
- 사용자가 인증을 위해 직접 사용자 이름과 비밀번호를 입력하도록 하려면 이 옵션을 선택합니다. 정적 자격 증명 세트를 사용하여 사용자에게 SMB 공유에 대한 액세스 권한을 부여하려면 "로그인 및 비밀번호"를 선택합니다. 그렇지 않으면 드롭다운 메뉴에서 필요에 가장 잘 맞는 옵션을 선택합니다.
- 폴더 이름: 가족
- 이 이름은 마운트하는 스토리지를 설명하는 데 사용하고 싶은 대로 설정할 수 있습니다. 예: "SMB" 또는 마운트하는 공유의 이름.
- 호스트 : 192.168.1.140
- 이 값을 연결하려는 SMB 공유를 호스팅하는 서버의 IP 주소나 FQDN으로 바꾸세요.
- 공유하기 : 가족
- 이 값을 "호스트" 필드에 입력한 서버에 있는 마운트하려는 공유 이름으로 바꾸세요.
- 원격 하위 폴더: \
- 공유의 최상위 폴더(공유 폴더 자체)를 마운트하려면 “\”를 사용합니다. 그렇지 않으면 다음과 같이 원하는 공유 내부의 하위 폴더 경로를 입력합니다.
- \하위폴더\또 다른 하위폴더\또 다른 하위폴더
- 공유의 최상위 폴더(공유 폴더 자체)를 마운트하려면 “\”를 사용합니다. 그렇지 않으면 다음과 같이 원하는 공유 내부의 하위 폴더 경로를 입력합니다.
- 도메인 : 엘크
- 공유에 대한 액세스가 LDAP 또는 Active Directory를 사용하여 제어되는 경우 이 값을 도메인의 NetBIOS 이름으로 바꾸십시오. 공유가 LDAP/AD 서버에 의해 제어되지 않는 경우 이 필드는 필요하지 않습니다.
- 숨겨진 파일 표시: 체크
- 사용자가 숨겨진 파일(“.” 문자로 시작하는 파일)을 볼 수 있게 하려면 이 확인란을 선택하세요.
- 대소문자 구분 파일 시스템: 체크
- 파일을 나열할 때 ACL 액세스를 확인하세요. 체크
- 이 옵션은 액세스 제어가 제대로 기능하는 데 매우 중요합니다. 그렇지 않으면 두 사용자가 동일한 공유를 마운트하고 다른 사용자가 액세스할 수 없도록 폴더를 구성한 경우에도 서로의 파일을 볼 수 있습니다.
- 모든 사람들: 체크
- 모든 Nextcloud 사용자가 SMB 공유에 대한 자격 증명을 입력하고 연결할 수 있게 하려면 이 옵션을 선택하세요. 그렇지 않으면 아래 필드를 사용하여 Nextcloud 인스턴스의 로컬 그룹을 선택하여 공유를 사용할 수 있게 하세요.
- 불행히도, 이 글을 쓰는 시점에서는 이 옵션 아래 필드를 선택하지 않은 경우 LDAP/Active Directory 그룹을 선택할 수 없습니다.
- 모든 Nextcloud 사용자가 SMB 공유에 대한 자격 증명을 입력하고 연결할 수 있게 하려면 이 옵션을 선택하세요. 그렇지 않으면 아래 필드를 사용하여 Nextcloud 인스턴스의 로컬 그룹을 선택하여 공유를 사용할 수 있게 하세요.
설정에 맞는 SMB 공유 구성 세부 정보를 입력하는 것을 마치면 확인 표시 버튼을 클릭하여 저장하고 사용자가 사용할 수 있도록 하세요.

SMB 공유 설정을 완료하려면 사용자는 프로필 사진을 클릭하고 드롭다운 메뉴에서 선택한 후 "개인 설정" 아래의 "외부 저장소" 모듈로 이동해야 합니다.


Nextcloud를 실제 웹 서버로 만들기
이제 기능이 풍부한 Nextcloud 인스턴스가 공개적으로 사용 가능한 강력한 웹 서버가 될 준비가 거의 되었습니다! 홍수문을 열기 전에 서버가 파일에 액세스하는 여러 사용자의 집중적인 요청을 처리할 수 있는지 확인해야 합니다. 이미 시스템의 PHP 구성에 몇 가지 주요 편집을 하여 성능을 높였고, 메모리 캐싱 지원을 추가하면 성능이 증폭될 수 있습니다.
메모리 캐싱 설정 – APCu
ACPu는 자주 사용되는 객체의 액세스 시간을 단축하는 데 도움이 되는 PHP 캐시입니다. Nextcloud 인스턴스의 첫 번째 캐시로 사용할 것입니다. ACPu 캐시를 활성화하기 전에 시스템의 "php.ini" 파일을 몇 가지 변경해야 합니다.
"sudo nano /etc/php/8.3/apache2/php.ini" 명령어를 사용하여 파일을 편집합니다. 아래쪽 화살표 키를 길게 눌러 파일의 맨 아래로 이동합니다. 파일 맨 아래 줄에 다음 줄을 추가합니다.
apc.enable_cli=1
apc.shm_size=128M

APCu 캐시를 활성화하려면 "sudo nano /etc/php/8.3/mods-available/apcu.ini" 명령어를 사용하여 파일을 열고 , "php.ini" 파일에서 했던 것처럼 파일 맨 아래에 "apc.enable_cli=1"을 추가하세요 . Ctrl + "O"를 누른 후 다시 Ctrl + "X"를 눌러 파일을 저장하고 종료합니다.

콘솔에 "sudo nano /var/www/html/nextcloud/config/config.php" 를 입력 하고 Enter 키를 누르세요. Nextcloud PHP 설정 파일에 Nextcloud가 로컬 메모리 캐싱에 APCu를 사용하도록 하는 한 줄을 추가합니다.
'memcache.local' => '\OC\Memcache\APCu',
이전 구성 파일 줄의 간격 규칙을 따라 마지막 ");" 괄호 앞에 이 줄을 넣습니다. 다시 한 번, 컨트롤(ctrl)을 누른 채로 "O"를 누른 다음 컨트롤(ctrl)과 "X"를 눌러 저장하고 종료합니다.


메모리 캐싱 설정 – Redis
"웹 서버에 왜 두 개의 다른 메모리 캐시가 필요한가? 하나로 충분하지 않은가?"라고 궁금해하실 수 있습니다. 이 질문에 대한 답은 사실 매우 간단합니다. 가게의 모든 도구가 각자의 용도가 있는 것처럼 APCu와 Redis도 마찬가지입니다. APCu는 뛰어난 로컬 메모리 캐시이며 이 범주에서 후자를 크게 앞지르는 반면 Redis는 분산 캐싱과 트랜잭션 파일 잠금에서 빛을 발합니다.
Redis를 시작하려면 다음을 입력하여 시스템 Redis 구성 파일을 편집합니다.
"sudo nano /etc/redis/redis.conf" 콘솔에 입력하고 enter를 누릅니다. 기본적으로 Redis 서비스는 캐싱 및 트랜잭션 파일 잠금 트래픽을 위해 TCP 포트를 수신하지만 단일 서버 설정의 경우 Unix 소켓이 선호하는 통신 방법입니다. 네트워크를 통해 Redis 서비스를 제공하는 경우 TCP 포트를 사용하는 것이 합리적이지만 Unix 소켓은 Redis와 Nextcloud 웹 서버 프로세스 간의 통신에 훨씬 더 효율적입니다.
nano를 실행한 후 Ctrl 키를 누른 상태에서 "W" 키를 눌러 검색 기능을 활성화합니다. 검색창에 "unixsocket"을 입력하고 Enter 키를 누르면 nano가 파일의 "Unix socket" 설정 섹션으로 이동합니다. "Unix socket" 섹션에서 "unixsocket /run/redis/redis-server.sock" 과 "unixsocketperm 700" 앞에 있는 "#" 문자와 공백을 제거합니다 . "700" 을 "770" 으로 변경하고, "port 6379" 라고 표시된 줄을 찾을 때까지 위로 스크롤합니다 . 이 값을 "0" 으로 변경하면 Redis 서버가 TCP 포트에서 연결을 수신하지 않게 됩니다. 아래 그림을 참조하여 설정 파일이 올바른지 확인한 후 Ctrl + "O"와 Ctrl + "X"를 눌러 파일을 저장하고 종료합니다.
Redis 시스템 구성 파일을 이렇게 수정했으므로 이제 Nextcloud PHP 구성 파일에서 분산 캐싱 및 트랜잭션 파일 잠금에 Redis를 사용하도록 지정할 수 있습니다. "sudo nano /var/www/html/nextcloud/config/config.php" 명령어를 사용하여 nano 편집기로 해당 파일을 엽니다.

'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => [ '호스트' => '/run/redis/redis-server.sock', '포트' => 0, ],
줄을 올바르게 입력했다면 PHP 설정 파일의 메모리 캐싱 섹션은 다음 스니펫과 비슷해야 합니다.


Nextcloud를 인터넷에 노출
이제 거의 다 왔습니다! Nextcloud 서버 배포의 마지막 단계는 서버를 공용 인터넷에 공개하는 것입니다. 이 단계에서는 라우터에서 포트 포워딩을 설정해야 하며, 약간의 검색이 필요할 수 있습니다. https://portforward.com/router.htm 에서 포트 포워딩 가이드를 찾아 라우터 제조업체를 확인하고 해당 해결 방법을 참조하십시오. 목록에서 라우터 제조업체를 찾을 수 없거나 회사/자가 제작 라우터를 사용하는 경우, 적절한 방법을 찾을 때까지 웹 검색을 해야 할 수도 있습니다.
포트 포워딩을 설정할 때는 Nextcloud 서버의 개인 IP 주소( ‘hostname -I’ 명령어 로 확인 가능 )에서 라우터의 공용 IP 주소로 80번 포트와 443번 포트를 포워딩해야 합니다. 인터넷 서비스 제공업체에서 공용 IP 주소를 제공하지 않는 경우, Cloudflare Tunnels와 같은 서비스를 이용해야 합니다. Cloudflare Tunnels는 웹 서버와 Cloudflare 서버 간에 안전한 터널을 생성하여 웹사이트 방문자의 트래픽을 다시 서버로 전달해 줍니다.
도메인을 소유하거나 호스트 이름 제공자의 호스트 이름을 사용하는 경우 DNS 레코드가 서버의 공용 IP 주소를 가리키도록 설정되어 있는지 확인하세요. 선택적으로 일부 서비스 제공자는 웹사이트 방문자로부터 IP 주소를 완전히 난독화하고 해당 데이터를 서버에서 다시 귀하의 서버로 안전하게 전송할 수 있는 기능을 제공합니다.
Nextcloud 유지 관리 및 업그레이드
Nextcloud 서버에 최신 업데이트와 보안 패치가 있는지 확인하는 것은 클라우드 스토리지를 빠르고 안전하게 유지하는 데 중요한 부분입니다. 끝내기 전에 서버를 새 것처럼 계속 실행하는 몇 가지 방법을 살펴보겠습니다!
배포 후 명령
Nextcloud 서버를 배포한 후 프로필 사진 메뉴에서 "관리 설정"을 클릭하면 "개요" 페이지에 몇 가지 경고 메시지가 표시될 수 있습니다. 이러한 경고 메시지에는 문제를 즉시 해결할 수 있는 명령어가 포함되어 있는 경우가 있습니다. 일반적으로 이러한 명령어는 "www-data" 사용자 권한으로 "/var/www/html/nextcloud" 디렉토리 에서 실행 해야 합니다 . "cd /var/www/html/nextcloud"를 입력 하고 Enter 키를 눌러 현재 작업 디렉토리를 해당 폴더로 변경한 다음, 각 명령어 앞에 "sudo -u www-data"를 입력하십시오.
이제 몇 가지 명령을 실행하여 문제가 되기 전에 경고를 해결할 수 있습니다.
sudo -u www-data php occ db:누락된 열 추가
sudo -u www-data php occ db:add-missing-indices
sudo -u www-data php occ db:누락된 기본 키 추가
이러한 명령은 데이터베이스가 올바르게 설정되고 중요한 정보가 누락되지 않았는지 확인합니다. 행복한 데이터베이스, 행복한 삶! 맞죠?
Ubuntu 서버를 최신 상태로 유지
서버의 운영 체제와 소프트웨어 패키지를 정기적으로 업데이트하는 것은 안전하고 빠르게 유지하는 데 중요합니다. 서버 사용량이 1~2주마다 낮은 시간대를 찾아 다음 명령을 실행하세요.
sudo apt 업데이트 && sudo apt 업그레이드 -y
sudo 재부팅
이러한 명령을 사용하면 서버의 운영 체제와 소프트웨어 패키지가 업그레이드되고, 서버가 재부팅되어 다시 시작될 때 변경 사항이 적용됩니다.
Nextcloud 업그레이드
Nextcloud는 패키지 관리자를 사용하여 설치되지 않았으므로, "apt" 명령어를 이용해 서버의 소프트웨어 패키지를 업데이트해도 Nextcloud가 자동으로 다음 버전으로 업그레이드되지 않습니다. Nextcloud 서버 업그레이드를 시작하려면 웹 페이지 오른쪽 상단에 있는 관리자 프로필 사진을 클릭하고 드롭다운 메뉴에서 "관리 설정"을 선택해야 합니다. "개요" 페이지에서 업그레이드 가능한 버전(이 경우 30.0.1)을 확인할 수 있습니다. "개요" 페이지에 업데이트 옵션이 표시되지 않으면 이미 최신 버전을 사용 중인 것이므로 걱정하지 마세요. 새 버전이 출시되면 이 페이지를 주기적으로 확인해 주세요.
업데이트가 가능하고 적합한 업그레이드 창에 도달했다면 서버 콘솔로 다시 전환하여 다음 명령을 입력하세요.
sudo chown -R www-data : www-data / var / www
이 명령은 "www-data" 사용자를 "www" 디렉터리와 모든 하위 디렉터리 및 파일 의 소유자로 재귀적으로 설정하여 업그레이드 프로세스가 필요한 모든 파일에 액세스하고 수정할 수 있도록 합니다.
해당 명령이 완료되면 "관리 설정" 메뉴 아래의 "개요" 페이지로 돌아가서 "업데이터 열기"라는 라벨이 붙은 버튼을 클릭합니다. 그러면 "업데이터" 메뉴로 이동합니다.
여기에서 “업데이트 시작” 버튼을 클릭하여 Nextcloud의 업데이트 검증 및 다운로드 프로세스를 시작할 수 있습니다. 모든 것이 올바르게 작동하면 “웹 기반 업데이터로 계속”하기 전에 각 단계 옆에 녹색 확인 표시가 보일 것입니다.
참고: 업데이트 프로세스가 "다운로드" 단계에서 실패하면 다운로드가 작동할 때까지 다시 시도하세요. 여러 번 시도해야 할 수 있습니다.
모든 녹색 확인 표시가 "업데이트" 메뉴에 나타나면 "유지 관리 모드를 비활성화하고 웹 기반 업데이터에서 계속"이라는 라벨이 붙은 버튼을 클릭합니다. 그렇게 한 후 나타나는 화면에서 "업데이트 시작"을 클릭하여 업데이트 프로세스를 완료하고 적용을 시작합니다.
또는, 더 크거나 속도가 느린 서버의 경우 해당 페이지에서 제안하는 것처럼 "nextcloud" 디렉토리로 이동하여 다음 명령어를 사용하여 수동으로 업그레이드를 실행할 수 있습니다.
cd /var/www/html/nextcloud
sudo -u www-data php occ 업그레이드
업그레이드가 완료되면 Nextcloud 서버 웹사이트의 "대시보드" 페이지로 리디렉션됩니다. 이제 귀하의 서버는 최신 및 최고의 Nextcloud 버전을 실행하고 있습니다!
축하해요! 훌륭해!
이제 완벽하게 기능하고 강화된 고성능 Nextcloud 서버의 자랑스러운 소유자이자 운영자가 되었습니다. 이제 원하시면 가족이나 친구를 초대하여 클라우드 스토리지에 서버를 사용할 수 있습니다. Nextcloud는 고도로 모듈화된 플랫폼이므로 새로운 앱을 시도하거나 필요에 맞게 구성을 변경하는 것을 두려워하지 마십시오! 가능한 한 빨리 서버의 정기 백업을 설정하고 모든 것이 제대로 작동하는지 확인하기 위해 상황을 주시하십시오.
저자의 Nextcloud 설정 둘러보기
와우, 이 모든 것을 다 읽었고 아직도 더 읽고 싶으신가요? 저희를 감동시켰다고 생각하세요! 영감을 얻고 싶으시다면 저자의 Nextcloud 설정에 대한 간단한 투어와 몇 장의 사진을 소개합니다.
- 하드웨어:
- 가상화 서버:
- OS: Proxmox 가상화 환경
- 섀시: Supermicro SC216, 옵션 후면 중복 부트 드라이브 케이지 포함
- CPU: 인텔 제온 E5-2683
- RAM: 4x 32GB DDR4 2400MHz ECC RDIMM
- 마더보드: 기가바이트 MU70-SU0(LGA 2011-3)
- HBA: 브로드컴 SAS 9305-24i
- NIC: Intel X520-DA2 2포트 10GbE SFP+ 어댑터
- GPU: NVIDIA Quadro K1200
- 부팅 드라이브: 2x Samsung 850 EVO 120GB SATA SSD
- 데이터 드라이브: 24x Samsung 860 EVO 250GB SATA SSD
- NAS :
- OS: TrueNAS SCALE
- 섀시: HPE ProLiant MicroServer Gen10 Plus
- CPU: 인텔 제온 E-2224
- RAM: 2x 16GB DDR4 2666MHz ECC UDIMM
- HBA: HPE Smart Array E208i-p SR Gen10 컨트롤러 내장
- NIC: HPE 이더넷 560SFP+ 2포트 10GbE SFP+ 어댑터
- 부팅 드라이브: Micron M600 256GB SATA SSD(USB 연결)
- 캐시 드라이브: 2x Samsung 860 EVO 250GB SATA SSD(USB 연결)
- 데이터 드라이브: 4x WD Red Plus 4TB 5400RPM HDD
- 백업 드라이브: WD Red Pro 14TB 7200 RPM HDD(USB 연결)
- 모뎀:
- 넷기어 CM1200
- DOCSIS 3.1
- 4x 1 GbE RJ45 WAN 포트(2포트 링크 집계 호환)
- 라우터 :
- 운영체제: pfSense
- 섀시: Dell OptiPlex 7040 SFF
- CPU : Intel Core i5 6500
- RAM : 8 GB DDR4
- NIC: Intel E1G44ET 4포트 1GbE RJ45 어댑터
- 부팅 드라이브: 2x Samsung 860 EVO 250GB SATA SSD
- 코어 스위치:
- 델 네트워킹 N4032F
- 24x 10GbE SFP+ 포트
- 2x 40GbE QSFP+ 포트
- 1GbE 관리 포트
- 액세스 스위치:
- 델 네트워킹 X1052
- 48x 1GbE RJ45 포트
- 4x 10GbE SFP+ 포트
- 액세스 포인트:
- 운영 체제: OpenWRT
- Linksys EA8300 최대 스트림
- AC2200
- MU-MIMO
- Wi-Fi 5 (802.11ac)
- 1x 1GbE RJ45 LAN 포트
- 4x 1GbE RJ45 LAN 포트
- UPS :
- 사이버파워 CP1500AVRLCD3
- 1500VA
- 900W
- 가상화 서버:
- 가상 머신:
- Proxmox 가상화 환경:
- 2x Windows Server 2022 데이터 센터 도메인 컨트롤러
- Ubuntu Server 24.04.1 Nextcloud 웹 서버
- Windows Server 2022 게임 서버
- TrueNAS 규모:
- Proxmox Backup Server 백업 대상
- Proxmox 가상화 환경:
Andrew는 Nextcloud 서버를 사용하여 사랑하는 사람들을 위한 데이터 스토리지 서비스를 호스팅합니다. 중복 도메인 컨트롤러가 있는 Active Directory 도메인, 모든 사용자 데이터를 보관하는 NAS, 가상화 서버를 조합하여 Andrew는 집과 인터넷 연결이 있는 모든 곳에서 고성능 스토리지 서비스를 제공하도록 설정을 최적화했습니다.
그의 설정의 중추는 Dell Networking N4032F로, Proxmox VE 서버와 TrueNAS SCALE 스토리지 어레이 간에 초당 10기가비트 연결을 제공합니다. 데이터, 관리 및 스토리지 트래픽은 침해 발생 시 추가 보안을 제공하는 세 개의 VLAN으로 분리되었습니다. 그의 액세스 스위치는 게임용 PC, 액세스 포인트 및 기타 다양한 장치에 표준 초당 1기가비트 연결을 제공합니다. 모든 서버와 가상 머신은 Ubuntu Server와 Uptime Kuma 인스턴스를 실행하는 Raspberry Pi Model 3B+에서 모니터링합니다. 서버/VM이 다운되는 즉시 Andrew에게 이메일로 알림이 전송되고, 정전이 발생하는 경우 UPS에서 낮은 충전 수준을 보고하자마자 서버가 정상적으로 종료됩니다.
Andrew는 또한 eBay와 다른 '의심스러운' 출처에서 얻은 Supermicro 24베이 2U 섀시와 부품을 사용하여 가상화 서버를 맞춤 제작했습니다. ZFS RAIDZ2 배열에서 이 24개 SSD 배열의 단순한 소비자 수준 드라이브는 Windows Server 8.2 VM에서 측정한 대로 가상 머신에 대한 읽기 작업의 경우 초당 약 2.7기가바이트, 쓰기 작업의 경우 초당 2022기가바이트의 처리량을 제공할 수 있습니다.


맺음말
이 다소 장황하지만 자세한 Nextcloud 설정 가이드가 여러분께 도움이 되었기를 바랍니다. 때로는 어려운 과정을 거치는 것이 더 나은 결과를 가져오기도 하며, 클라우드 스토리지 작동 방식에 대해 더 많이 아는 것은 언제나 유익합니다. 아직 StorageReview 뉴스 레터를 구독하지 않으셨다면 구독하셔서 서버, 스토리지 시스템, 홈랩 관련 기사를 더 받아보세요. YouTube, TikTok, X(구 Twitter), Instagram에서도 저희를 만나보실 수 있습니다!
참고문헌/출처:
- https://www.linode.com/docs/guides/how-to-install-nextcloud-on-ubuntu-22-04/
- https://docs.nextcloud.com/server/latest/admin_manual/installation/example_ubuntu.html
- https://docs.nextcloud.com/server/latest/admin_manual/contents.html
- 다양한 페이지
- https://www.php.net/manual/en/ini.core.php
- https://nextcloud.com/
- https://ubuntu.com/download/server
- https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-16-04
- https://snapcraft.io/install/core/ubuntu
- https://docs.clamav.net/manual/Usage
- 다양한 페이지
- https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html
- https://docs.nextcloud.com/server/30/admin_manual/configuration_files/external_storage/smb.html
- https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html
- https://www.php.net/manual/en/intro.apcu.php
- https://www.php.net/manual/en/apcu.configuration.php
- https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/














맺음말

아마존