아무도 무료 클라우드 스토리지가 바닥나는 것을 좋아하지 않습니다. 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 코어, 8기가바이트 RAM, 500GB의 스토리지가 있는 컴퓨터를 권장합니다. 시스템을 준비했으면 다음 링크를 방문하여 Ubuntu Server를 받으세요. https://ubuntu.com/download/server .
이전에 Ubuntu Server를 설치한 적이 없다면 시작하기 전에 가이드를 확인하세요. https://ubuntu.com/tutorials/install-ubuntu-server . 권장 소프트웨어 페이지에서 Nextcloud를 미리 설치하는 옵션을 선택하지 않도록 주의하세요. 저희가 직접 처리하겠습니다.
서버를 네트워크에 연결하고 호스트 이름을 지정하고 초기 설정 중에 생성한 사용자 이름과 비밀번호로 로그인한 후 다음을 입력하여 Ubuntu Server의 최신 소프트웨어 업데이트를 받으세요. “sudo apt update && sudo apt upgrade -y” 콘솔에서 Enter를 누릅니다. 업데이트가 완료된 후 다음을 사용하여 서버를 재부팅합니다. “sudo 재부팅”.
참고: 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
프롬프트에서 설치를 계속하거나 중지하려면 Y 또는 N을 입력하라는 메시지가 표시되면 Y를 입력하고 Enter를 누릅니다. 마지막으로 "wget"을 입력합니다. https://download.nextcloud.com/server/releases/latest.zip”Nextcloud의 최신 버전을 얻고 사용하려면 “sudo apt install unzip” 압축 해제 도구를 설치하려면 해당 파일을 추출해야 합니다.
이제 Nextcloud 인스턴스를 설정하는 데 필요한 모든 소프트웨어가 있으니 설치한 웹 서버를 살펴보겠습니다.
Apache 웹 서버 구성 – 1부
Apache를 건드리기 전에 먼저 서버에 제대로 연결할 수 있는지 확인해야 합니다. Nextcloud 인스턴스에 웹 브라우저(HTTP 및 HTTPS) 연결을 허용하려면 다음 명령을 사용합니다.
"Apache Full"에서 sudo ufw allow
sudo ufw enable
이제 Ubuntu Server에서 실행되고 액세스 가능한 웹 서버가 생겼습니다! Nextcloud 머신과 동일한 네트워크에 연결된 다른 컴퓨터에서 브라우저 창에 서버의 IP 주소를 입력하고 Enter를 누릅니다. 서버의 IP 주소가 무엇인지 기억나지 않으면 다음을 사용합니다. “호스트 이름 -I” 서버에서 명령을 입력하여 표시합니다. 설치가 성공적이라면 기본 Apache2 페이지가 모든 영광으로 표시되는 것을 볼 수 있습니다!
어떤 사람들은 이 기본 웹 서버 페이지가 꽤 깔끔하다고 말할지 몰라도, 우리는 두 번째 부분에서 그것을 훨씬 더 나은 것으로 대체할 것입니다. 잠깐 우회해서 지금 MariaDB를 설정해 봅시다!
MariaDB 구성
Nextcloud 서버에는 서버 구성 및 사용자 프로필 정보를 저장하기 위한 항상 온라인인 데이터베이스가 필요합니다. MariaDB가 시스템 재부팅 후 실행되도록 구성하려면 다음을 입력합니다. “sudo systemctl enable mariadb” 그리고 enter를 누르세요. 이제 Nextcloud 설치를 위한 데이터베이스를 준비할 준비가 되었습니다!
다행히도 MariaDB에는 안전한 설정 유틸리티가 미리 패키지되어 있으므로 많은 작업을 할 필요가 없습니다. 사용 “sudo mysql_secure_installation” 시작하고 마법사가 묻는 질문에 답하세요.
- root의 현재 비밀번호를 입력하십시오 (none의 경우 입력). 엔터를 클릭하세요
- unix_socket 인증으로 전환 [Y/n] n
- 루트 비밀번호를 변경하시겠습니까? n
- 익명 사용자를 삭제 하시겠습니까? [Y / n] y
- 원격 로그인을 허용하지 않습니까? [Y / n] y
- 테스트 데이터베이스를 제거하고 액세스하시겠습니까? [Y/n] y
이제 MariaDB는 안전해졌으며 Nextcloud 인스턴스에 서비스를 제공하는 데이터베이스를 만들 수 있습니다.
타입 “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
이제 올바른 확장 기능이 활성화되었으므로 우리의 필요에 더 잘 맞도록 일부 PHP 설정을 조정해야 합니다. 편집할 PHP 구성 파일은 다음 위치에 있습니다. “/etc/php/8.3/apache2/php.ini” 배치하여 수정할 수 있습니다 “수도 나노” 경로 앞에 입력하고 Enter를 누르세요. 다른 버전의 PHP를 설치한 경우 다음을 변경하세요. "8.3" 설치된 버전의 주요 릴리스 번호는 다음을 입력하여 얻을 수 있습니다. “php -v” 콘솔에서.
일단 개봉하면 “php.ini” Ubuntu의 내장 텍스트 편집기인 nano를 사용하여 파일을 만들려면 Ctrl 키를 누른 채로 키보드의 "W" 키를 탭합니다. 검색 창이 나타나면 다음을 입력합니다. “최대 실행 시간”, Enter를 누릅니다. 그러면 Nano가 입력한 값과 일치하는 첫 번째 항목으로 건너뜁니다. 화살표 키를 사용하여 탐색하고 백스페이스 키를 사용하여 문자를 제거하고 "30"을 "360"으로 변경합니다. 이 트릭을 반복하여 다음 PHP 설정의 값을 변경합니다.
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 모듈을 더 활성화합니다. “sudo a2enmod dir env 헤더 mime 재작성 ssl” 콘솔에서. 이 시점에서 콘솔 메시지에서 제안한 명령을 사용하여 Apache를 다시 시작할 필요는 없습니다.
Apache 웹 서버 구성 – 2부
Nextcloud를 다운로드하고 소프트웨어 필수 구성 요소 중 많은 부분을 설정했지만 기본 Apache 웹페이지를 Nextcloud로 바꿔야 합니다. 다음을 입력합니다. “씨디 ~” 콘솔에서 Enter를 눌러 사용자 홈 디렉토리로 돌아갑니다. 여기가 Nextcloud ZIP 파일이 다운로드된 곳입니다. 이제 다음을 입력합니다. “최신.zip 압축 해제” Enter 키를 누르고 압축 해제 유틸리티가 으르렁거리는 모습을 지켜보세요!
The “최신.zip” 이제 ZIP 파일이 다음 폴더로 추출되었습니다. “넥스트클라우드” 다운로드한 것과 같은 디렉토리에 있습니다. 이 새 폴더에는 Nextcloud 사이트에 필요한 모든 자료가 들어 있습니다. 이제 이 폴더를 적절한 홈으로 옮기기 시작하겠습니다. “/var/www/html”.
폴더를 운반하기 전에 내장된 “www-데이터” 사용자는 새 디렉토리의 소유자입니다. 이것은 매우 중요합니다. “www-데이터” 사용자는 Apache 웹 서버와 Nextcloud 자체에서 수행되는 모든 웹 서버 작업을 처리합니다. 유형 “sudo chown -R www-data:www-data ./nextcloud” 콘솔에 입력하고 Enter를 누르세요.
이제 “www-데이터” 사용자가 폴더를 소유한 경우 지연 없이 이동할 수 있습니다. 사용 “sudo mv ./nextcloud /var/www/html” 폴더를 올바른 디렉토리로 이동합니다.
이제 다음을 입력하여 기본 Apache 웹 서버 페이지를 비활성화할 수 있습니다. “sudo a2dissite 000-default.conf” 콘솔로. Apache 서버를 다시 로드하라는 경고를 무시하고 다음을 입력하여 새 사이트에 대한 가상 호스트 파일을 만듭니다. "sudo nano /etc/apache2/sites-available/nextcloud.conf" 그리고 엔터를 누릅니다. 가상 호스트 파일의 내용은 다음과 같이 정확히 입력해야 합니다.
DocumentRoot /var/www/html/nextcloud/ 서버 이름 nextcloud-demo.moose.local 모든 허용된 AllowOverride 모든 옵션 FollowSymLinks MultiViews가 필요합니다. 데이브 오프
교체 “nextcloud-demo.moose.local” Nextcloud를 설치한 서버의 정규화된 도메인 이름(FQDN)을 사용합니다. FQDN의 첫 번째 부분은 이전에 만든 서버의 호스트 이름이며 다음을 사용하여 표시할 수 있습니다. “호스트 이름” 콘솔에서 명령을 입력합니다. 이름의 두 번째와 세 번째 부분은 각각 도메인과 최상위 도메인입니다. 예를 들어, 도메인이 “storagereview.com” 그리고 귀하의 서버의 호스트 이름은 “넥스트클라우드”, 그러면 서버의 FQDN은 다음과 같습니다. “nextcloud.storagereview.com”.
도메인을 소유하지 않은 경우 Cloudflare와 같은 등록 기관에서 도메인을 구매할 수 있습니다. https://www.cloudflare.com/products/registrar/ 또는 다음과 같은 웹사이트에서 무료로 공개적으로 사용 가능한 호스트 이름을 사용합니다. https://www.noip.com/ 도메인을 구매하거나 무료 호스트 이름을 사용하고 싶지 않다면 이 필드에 가상의 FQDN을 입력할 수 있습니다. 단, Nextcloud 인스턴스에 연결하는 데 서버의 IP 주소(공개 및 비공개)만 사용할 수 있다는 단서가 있습니다.
참고: 서버의 FQDN을 사용하여 Nextcloud 인스턴스에 로컬로 액세스하려면 홈 네트워크에서 제대로 구성된 DNS 서버를 실행해야 합니다. 그렇지 않으면 홈 네트워크에서 액세스할 때 서버의 로컬 IP 주소를 사용해야 합니다.
가상 호스트 파일 작성을 완료하고 예제 FQDN을 서버의 FQDN(합법적이든 아니든)으로 바꾸면 마침내 Nextcloud 사이트를 사용하여 활성화할 수 있습니다. “sudo a2ensite nextcloud.conf” 그리고 “sudo systemctl restart apache2” 새 사이트로 웹 서버를 다시 시작합니다. 서버의 FQDN 또는 로컬 IP 주소를 통해 동일한 네트워크에 있는 다른 컴퓨터의 웹 브라우저를 사용하여 Nextcloud 인스턴스로 이동합니다.
Nextcloud 초기 설정
이전 단계를 올바르게 따랐다면 사이트에 대한 관리자 사용자를 만들고 Nextcloud 서버에 대한 세부 정보를 입력하라는 페이지가 나타납니다. 관리자 사용자에게 원하는 이름(예: Administrator 또는 Superadmin)과 강력한 비밀번호를 제공합니다.
설정 페이지의 "저장소 및 데이터베이스" 섹션에서 다음을 입력합니다. "/var/www/html/nextcloud/data" "데이터 폴더" 필드에 MariaDB 데이터베이스를 만들 때 사용한 계정 사용자 이름, 비밀번호 및 데이터베이스 이름을 입력합니다. "데이터베이스 호스트" 필드에 다음을 입력합니다. "로컬 호스트" 완료되면 설치 버튼을 클릭하세요.
사이트가 잠시 로드된 후 Nextcloud 서버에 권장되는 여러 앱을 설치할 수 있는 옵션이 제공됩니다. Nextcloud 인스턴스에 앱을 더 추가하면 서버의 처리 부하, 메모리 사용량 및 총 디스크 사용량이 증가한다는 점에 유의하세요. 권장되는 앱을 설치할지 또는 선택적으로 이 단계를 건너뛸지 선택하세요.
앱 설치가 완료되거나 다음 페이지가 나타나면 원할 경우 소개 메뉴를 읽어볼 수 있습니다.
Nextcloud 서버는 완성된 것 같지만 서버를 작동시키기 위해 한 가지 단계가 더 남았습니다. 서버에서 정기적으로 예약된 작업을 실행하기 위한 cron 작업을 설정하는 것입니다.
Cron 작업 생성
cron 작업은 사용자 개입 없이 정기적으로 실행되는 명령입니다. Nextcloud 서버에는 서버의 cron 작업을 호출하는 cron 작업이 필요합니다. “cron.php” 최적의 성능과 기능을 위해 5분마다 스크립트를 실행합니다.
이 cron 작업을 설정하려면 다음 명령을 입력하세요. "sudo crontab -u www-data -e" 서버 콘솔에서.
때 “www-데이터” 사용자의 crontab이 열리면 다음 줄을 파일 맨 아래에 추가합니다.
*/5 * * * * php -f /var/www/nextcloud/cron.php
완료되면 컨트롤(ctrl) 키를 누른 채로 "O" 키를 눌러 파일을 저장하고 컨트롤(ctrl) 키를 누른 채로 "X" 키를 눌러 종료합니다. 축하합니다! 이제 로컬 네트워크에서 사용 가능한 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
이제 Apache SSL(TLS라고도 함) 모듈을 활성화하고 자체 서명 인증서를 만들었으므로 사이트에 TLS를 켜고 인증서를 사용하도록 지시해야 합니다. 다음을 입력합니다. "sudo nano /etc/apache2/sites-available/nextcloud.conf" Enter 키를 눌러 가상 호스트 파일을 다시 편집하세요.
가상 호스트 파일의 맨 아래에 다음 줄을 다음과 같이 정확히 추가하지만 "ServerName" 필드를 서버의 정규화된 도메인 이름으로 바꾸십시오.
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가 필요합니다. 데이브 오프
컨트롤(ctrl)을 누른 채로 "O" 키를 눌러 파일을 저장하고 컨트롤(ctrl)을 누른 채로 "X" 키를 눌러 nano를 종료합니다. 이러한 변경 사항을 Apache 웹 서버에 적용하려면 다음을 사용합니다. “sudo systemctl restart apache2” 명령. 이제 자체 서명 인증서를 사용하여 HTTPS를 활성화해야 합니다!
다음에 서버의 정규화된 도메인 이름이나 IP 주소를 입력하여 사이트를 방문하면 사이트의 인증 기관이 유효하지 않다는 경고가 표시됩니다. 이 오류를 지나 계속 진행하여(방법은 웹 브라우저에 따라 다름) 사이트를 확인합니다. 웹 브라우저는 HTTPS를 사용하여 자동으로 연결되었으며 TLS 암호화를 사용하여 데이터를 전송합니다.
신뢰할 수 있는 인증서가 있는 HTTPS
Nextcloud에 신뢰할 수 있는 인증서를 사용하려면 먼저 도메인을 소유하거나 호스트 이름 공급자로부터 서명된 인증서가 있어야 합니다. 이전에 자체 서명된 인증서를 사용 중이었고 이전 섹션의 단계에 따라 HTTPS를 활성화한 경우 파일 하단에 추가된 텍스트 부분을 제거하고 명령을 실행합니다. “sudo a2dismod ssl” 그리고 “sudo systemctl restart apache2”. 완료되면 control + “O”와 control + “X”를 사용하여 저장하고 nano를 종료하는 것을 잊지 마세요.
도메인 소유자를 위한 HTTPS 설정(Certbot을 통해)
이제 가상 호스트 파일이 표준 HTTP 구성으로 돌아왔으므로 인증 기관에서 신뢰할 수 있는 인증서를 사용하기 위한 준비를 시작할 수 있습니다. 도메인을 소유하고 있다면 다음 단계에 따라 인증서를 취득하고 구현하세요. 그렇지 않은 경우 다음 섹션으로 건너뛰어 호스트 이름 공급자로부터 취득한 인증서를 사용하는 방법을 자세히 설명합니다. 자신의 도메인에서 사용되는 인증서를 취득하려면 웹 서버에서 사용할 수 있는 무료 인증서를 제공하는 비영리 기관인 Let's Encrypt의 Certbot을 사용합니다.
Certbot을 다운로드하려면 먼저 Snap을 설치하고 업데이트하세요. “sudo snap install core && sudo snap newly core”. 그런 다음 입력 “sudo snap install –classic certbot” (classic 앞에 하이픈 두 개가 연속으로 있음) 패키지를 설치합니다.
명령을 실행하십시오. “sudo certbot –apache” (다시 말하지만, "apache" 앞에 하이픈 두 개를 입력하세요) certbot을 실행하고, 모든 프롬프트에 따라 웹 인증서를 만들고 다운로드하세요.
인증서 생성 프로세스에는 도메인 소유자에게 연락하는 데 사용되는 이메일 주소와 같은 정보가 필요하며 Let's Encrypt에서 요구하는 약관에 동의하도록 요청합니다. 메시지가 표시되면 인증서를 취득하려는 도메인 이름을 입력하거나 선택하고 대화형 프로세스를 완료합니다. Certbot을 사용하는 동안 오류가 발생하면 라우터에서 포트 80 및 443을 Nextcloud 서버의 개인 IP 주소로 전달하거나 도메인의 DNS 레코드를 라우터의 공용 IP 주소를 가리키도록 구성해야 할 수 있습니다. 포트 전달 및 DNS 레코드 설정 프로세스는 라우터, 도메인 등록 기관 및 인터넷 서비스 제공자에 따라 크게 달라지므로 이 가이드에서는 다루지 않습니다.
Certbot이 완료되면 다음을 입력하여 가상 호스트 파일을 다시 엽니다. "sudo nano /etc/apache2/sites-available/nextcloud.conf" 그리고 enter를 누릅니다. 다음 줄을 바로 위에 추가합니다. 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 암호화가 설정되었습니다!
호스트 이름 공급자의 인증서를 사용한 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를 백엔드로 사용하여 사용자 파일을 검사하고 서버를 보호하는 "파일용 바이러스 백신"이라는 앱이 있습니다. 이 앱은 관리자 계정의 프로필 사진을 클릭하고 "보안" 범주를 선택하여 "앱" 탭으로 이동하여 다운로드할 수 있습니다.
Nextcloud 인스턴스에 설치하려면 "파일용 바이러스 백신" 섹션에서 "다운로드 및 활성화" 버튼을 클릭하세요. 다음으로 ClamAV를 설치하고 스캐너 및 맬웨어 서명 업데이트 시스템을 활성화해야 합니다. 사용 “sudo apt install clamav clamav-daemon” 필요한 ClamAV 패키지를 모두 받으세요.
패키지가 설치되면 다음을 실행합니다. “sudo dpkg-reconfigure clamav-daemon” 콘솔에서 대화형 구성 메뉴를 불러옵니다. 이를 사용하여 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
Whew! 정말 많은 구성이 필요했어요! 다행히도 우리는 한 번만 하면 됩니다. 사용하세요 “systemctl enable clamav-freshclam” 그리고 “systemctl enable clamav-daemon” 시스템이 부팅된 후 ClamAV를 시작할 수 있도록 하고 Nextcloud "파일용 바이러스 백신" 앱 구성을 시작할 수 있습니다.
Nextcloud 서버와 동일한 네트워크 및 서브넷에 연결된 다른 컴퓨터에서 웹 브라우저를 사용하여 Nextcloud에 로그인하고 관리자 사용자의 프로필 사진을 클릭합니다. 드롭다운 메뉴에서 "관리 설정" 옵션을 클릭하고 페이지 로딩이 완료된 후 "보안" 섹션을 선택합니다.
"파일용 바이러스 백신" 섹션으로 스크롤하여 "모드" 필드를 "ClamAV Daemon(소켓)"으로 변경합니다. "백그라운드 검사 중에 감염된 파일이 발견될 때" 필드를 "파일 삭제"로 변경하고 "저장" 버튼을 누릅니다. ClamAV는 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
- 입증: 네 (체크박스)
- 신임장: [이메일 보호] 앱 비밀번호는 여기
- 여기에 생성한 Gmail 계정 주소와 앱 비밀번호를 입력하세요.
완료되면 "저장" 버튼을 클릭하고 "이메일 보내기" 버튼을 사용하여 구성이 유효한지 확인하세요.
사용 중인 관리자 사용자 계정에 대한 이메일 주소를 아직 설정하지 않은 경우, 설정하라는 경고가 표시됩니다. 관리자 사용자의 프로필 사진을 클릭하고 드롭다운 메뉴에서 "개인 설정"을 선택한 다음 "이메일" 필드에 이메일 주소를 입력하면 쉽게 해결할 수 있습니다. 완료되면 "관리 설정" 페이지의 "기본 설정"에 있는 "이메일 서버" 모듈로 돌아가 필요한 경우 구성을 다시 입력합니다.
기본 전화 지역 설정
Nextcloud가 전화번호를 더 잘 처리하도록 하기 위해 할 수 있는 매우 빠르지만 유용한 변경은 인스턴스에 대한 기본 전화 지역을 설정하는 것입니다. 사용자가 "개인 설정"에서 찾을 수 있는 "개인 정보" 설정에서 프로필을 작성할 때, 선택적으로 연락 목적으로 전화번호를 포함하라는 메시지가 표시됩니다. 기본 전화 지역이 없으면 Nextcloud는 사용자에게 이 번호로 국가 코드를 입력하도록 강제합니다. 기본 전화 지역을 설정하면 사용자가 이 접두사를 제외할 수 있습니다.
Nextcloud 서버 콘솔에서 다음을 사용합니다. "sudo nano /var/www/html/nextcloud/config/config.php" Nextcloud 사이트 PHP 구성 파일을 편집합니다.
이전 줄에서 생성된 간격 패턴과 일관성을 유지하고 마지막 ");" 괄호 앞에 삽입하여 PHP 구성 파일에 다음 줄을 추가합니다.
'기본_전화_지역' => '미국',
-
- 이 분야에 사용되는 귀하 국가의 고유한 ISO 3166-1 코드는 다음 Wikipedia 페이지에서 확인할 수 있습니다. https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
보안상의 이유로 Nextcloud 인스턴스의 내용을 다른 사람에게 보여주면 안 됩니다. “config.php” 파일입니다. 비밀번호 및 시스템 비밀과 같이 본인 또는 시스템 관리자만 알아야 하는 민감한 정보가 포함되어 있습니다. 기본 전화 지역 회선을 구성 파일에 추가한 후 컨트롤(ctrl)을 누른 채로 "O"를 탭하여 새 내용을 저장한 다음 컨트롤을 누른 채로 "X"를 탭하여 종료합니다. 변경 사항을 적용하려면 다음을 입력합니다. “sudo systemctl restart apache2” 콘솔에 입력하고 Enter를 누르세요.
유지 관리 창 설정
Nextcloud 사이트의 PHP 구성 파일에 할 수 있는 또 다른 작은 개선 사항은 서버가 보다 집중적이고 사용자에게 영향을 미칠 수 있는 작업을 수행할 수 있도록 유지 관리 기간을 설정하는 것입니다. 기간은 UTC 시간을 사용하여 설정되므로 원하는 유지 관리 기간 시작 시간을 동등한 UTC 시간(1~24 사이의 정수로 표현)으로 변환해야 합니다. 유지 관리 기간은 3시간 동안 지속되므로 오전 00시 UTC에 시작하는 유지 관리 기간은 오전 7시 UTC에 끝납니다.
"sudo nano /var/www/html/nextcloud/config/config.php" PHP 구성 파일을 다시 편집하기 시작하고 이미 파일에 있는 줄에서 사용하는 간격 규칙을 따라 마지막 ");" 괄호 앞에 이 줄을 추가합니다.
'유지관리_창_시작' => 1,
-
- "1"을 UTC 시간으로 변환한 원하는 유지 관리 창 시작 시간으로 바꿔야 합니다.
컨트롤(ctrl)+“O” 및 컨트롤(ctrl)+“X”를 사용하여 파일을 저장한 후, 다음을 사용하여 유지 관리 창을 적용합니다. “sudo systemctl restart apache2”.
LDAP/Active Directory 서버 통합
Nextcloud 인스턴스에 여러 사용자에게 액세스 권한을 부여하려는 경우 Nextcloud에 추가할 수 있는 가장 강력한 기능 중 하나는 LDAP 또는 Active Directory 서버에 연결하고 인증하는 기능입니다. 많은 조직과 홈랩은 Active Directory 또는 LDAP를 사용하여 중앙 집중 방식으로 네트워크 리소스에 대한 사용자 액세스를 구성하고 제어하며 Nextcloud도 예외는 아닙니다. "LDAP 사용자 및 그룹 백엔드" 앱을 사용하면 Active Directory 도메인 또는 LDAP 서버의 사용자를 Nextcloud 서버로 가져와 사용자 이름 또는 이메일 주소와 비밀번호를 사용하여 로그인할 수 있습니다. 이 기능은 외부 저장소(예: NAS의 SMB 공유)와 결합하면 더욱 강력해져 해당 사용자에게만 권한이 있는 개별 '홈' 폴더를 제공합니다.
"LDAP 사용자 및 그룹 백엔드" 앱을 설치하려면 먼저 관리자 사용자 계정으로 Nextcloud 웹 페이지에 로그인한 상태에서 프로필 사진을 클릭합니다. 나타나는 드롭다운 메뉴에서 "앱"을 선택하고 "추천 앱" 모듈을 클릭합니다. "LDAP 사용자 및 그룹 백엔드" 앱을 찾을 때까지 아래로 스크롤하고 "활성화" 버튼을 클릭합니다.
이제 앱이 활성화되었으므로 Nextcloud를 LDAP 서버에 연결해야 합니다. 이 연결을 승인할 준비가 된 계정이 있는지 확인하세요. 일반적으로 이 연결을 위해 특별히 생성된 서비스 계정이 권장되지만 디렉터리를 검색할 수 있는 Active Directory 또는 LDAP 계정이면 무엇이든 사용할 수 있습니다. 이 예에서는 Active Directory 도메인의 기본 제공 도메인 "관리자" 계정을 사용하지만 이는 안전한 방법이 아니라는 점을 이해하세요. Nextcloud 서버가 손상되고 "관리자" 계정의 자격 증명이 도난당한 경우 공격자는 도메인의 모든 개체를 읽고, 수정하고, 심지어 삭제할 수 있는 모든 권한을 갖게 됩니다.
관리자 사용자의 프로필 사진을 클릭하고 드롭다운 메뉴에서 선택하여 "관리 설정" 페이지로 다시 이동합니다. 시작하려면 "LDAP/AD 통합 모듈"을 클릭합니다.
이 페이지에서 LDAP/Active Directory 서버에 필요한 정보를 입력하기 시작하세요.
- 호스트 : 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" 버튼을 클릭하여 지금까지의 구성이 유효한지 확인합니다.
"LDAP/AD 통합" 모듈의 첫 번째 페이지를 완료한 후 "계속"이라고 표시된 버튼을 누르고 잠시 시간을 내어 "사용자" 섹션을 보고 연구하세요.
처음에는 페이지의 레이아웃이 혼란스러울 수 있지만, 그 기능은 객체 클래스 및 그룹과 같은 속성에 따라 Nextcloud 서버에 로그인할 수 있는 사용자를 필터링하는 것입니다. Nextcloud 서버에 로그인할 사용자에 대해 고유한 그룹을 만들어 해당 그룹의 멤버십에 따라 필터링할 수 있도록 하는 것이 좋습니다. 액세스 권한을 부여하려는 원하는 객체 클래스 및/또는 그룹을 선택하고 ">" 버튼을 클릭하여 그룹을 필터에 추가합니다. 이 예에서는 "family"라는 그룹을 사용합니다. "설정 확인 및 사용자 계산" 버튼을 클릭하여 입력한 설명에 맞는 사용자 수를 보여주는 메시지를 표시합니다. 계산이 잘못된 것 같으면 객체 클래스 및 그룹 필터를 다시 확인합니다.
올바른 사용자 수가 되면 "계속" 버튼을 눌러 "로그인 속성" 섹션으로 이동합니다. "LDAP/AD 사용자 이름:" 및 "LDAP/AD 이메일 주소" 필드의 상자를 체크하고 "테스트 로그인 이름" 상자에 사용자 이름과 이메일 주소(원하는 경우)를 입력하고 "설정 확인"을 클릭하여 로그인 속성이 올바른지 확인합니다.
사용자 이름/이메일 주소를 사용하여 로그인할 수 있는 경우 "사용자를 찾았고 설정이 확인되었습니다"라는 알림이 나타납니다. "계속" 버튼을 마지막으로 한 번 더 눌러 마지막 페이지인 "그룹"으로 이동합니다. "사용자" 페이지와 마찬가지로 "그룹" 섹션은 개체 클래스 및 그룹 기준을 사용하여 Nextcloud 서버에 로그인할 수 있는 사람을 좁힙니다. "사용자" 페이지에서 선택한 것과 동일한 선택을 하거나 "개체 클래스 검색" 및 "그룹 검색" 필드에 더 구체적인 기준을 입력하여 로그인할 수 있는 사용자 수를 줄입니다. 이 예에서는 페이지의 목록에서 "가족" 그룹을 선택하고 ">" 버튼을 사용하여 해당 그룹에만 액세스를 제한합니다. 마지막으로 "설정 확인 및 그룹 계산"을 클릭하여 로그인에 유효한 그룹 수를 표시합니다.
이제 이전 단계에서 선택한 LDAP 또는 Active Directory 그룹에 대해 Nextcloud 서버에 로그인할 수 있는 권한이 부여되었습니다. 관리자 사용자의 프로필 사진을 클릭하고 "로그아웃"을 선택합니다. 다시 로그인하기 위해 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되면 액세스 권한을 부여한 사용자 중 한 명의 로그인 기능을 테스트합니다. 사용자가 로그인할 수 없는 경우 이 페이지의 "사용자" 및 "그룹" 섹션을 다시 방문하여 기준을 검토하고 오류를 해결합니다.
외부 저장소 통합
Nextcloud 서버에 추가된 또 다른 강력한 기능은 외부 스토리지 풀에 연결하여 사용할 수 있는 기능입니다. 사용자 파일을 서버 자체에 직접 배치하면 서버 스토리지를 관리하고 사용자 수요를 충족하기 위해 지속적으로 용량을 늘려야 하는 문제가 발생할 수 있습니다. 할당량을 적용하고 사용자가 만든 불필요한 데이터를 제거하는 데 지속적으로 주의를 기울이지 않으면 좌절과 예상치 못한 다운타임이 발생할 수 있습니다. Nextcloud 설정의 웹 서버와 스토리지 구성 요소를 분리하는 것은 확장 가능한 클라우드 스토리지 시스템과 즐거운 사용자 경험을 만들 때 매우 권장되고 중요합니다.
Nextcloud의 "외부 저장소 지원" 앱을 사용하면 다음 저장소 유형의 폴더를 마운트할 수 있습니다.
- 아마존 S3
- FTP
- 다음 클라우드
- 네, 맞습니다. 다른 Nextcloud 서버에 있는 저장소에 연결하여 사용할 수 있습니다!
- OpenStack 객체 스토리지
- SFTP
- SMB / CIFS
- WebDAV를
보시다시피 Nextcloud를 외부 스토리지 어레이, 클라우드 및 기타 시스템에 연결하는 데는 여러 가지 선택 사항이 있습니다. 예를 들어, 이전에 연결한 Active Directory 도메인에서 가져온 사용자에게 부여된 권한을 사용하여 다양한 폴더에 대한 액세스를 제어하는 SMB 공유에 Nextcloud 인스턴스를 연결합니다.
"외부 저장소 지원" 앱을 활성화하려면 사이트에 로그인한 상태에서 관리자 사용자의 프로필 사진을 클릭하고 "앱"을 선택합니다. "추천 앱"으로 다시 이동하여 "외부 저장소 지원"이라는 라벨이 붙은 모듈을 찾습니다. "활성화" 버튼을 클릭하여 애플리케이션을 사용할 수 있도록 합니다.
앱이 활성화되면 "관리 설정"으로 이동하여 "외부 저장소" 모듈을 클릭하여 외부 저장소를 추가할 수 있습니다. 이 페이지에서 드롭다운 메뉴에서 저장소 유형을 선택하고 구성 세부 정보를 입력하여 외부 저장소에 연결할 수 있습니다.
SMB 공유를 추가하려면 목록에서 "SMB/CIFS" 옵션을 선택하고 다음과 같이 구성 세부 정보를 작성합니다.
- 입증: 수동으로 입력, 데이터베이스에 저장
- 사용자가 인증을 위해 직접 사용자 이름과 비밀번호를 입력하도록 하려면 이 옵션을 선택합니다. 정적 자격 증명 세트를 사용하여 사용자에게 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 공유 설정을 완료하려면 사용자는 프로필 사진을 클릭하고 드롭다운 메뉴에서 선택한 후 "개인 설정" 아래의 "외부 저장소" 모듈로 이동해야 합니다.
이 페이지에서 사용자는 사용자 이름과 비밀번호를 입력하고 확인 표시 버튼을 클릭하여 SMB 공유의 잠금을 해제하고 파일을 저장하고 검색할 수 있습니다.
사용자가 자격 증명을 입력하고 나면 Nextcloud 사이트 메뉴 상단에 있는 폴더 아이콘을 클릭하고 사용자 폴더 및 파일 목록을 탐색하여 공유에 액세스할 수 있습니다.
Nextcloud를 실제 웹 서버로 만들기
이제 기능이 풍부한 Nextcloud 인스턴스가 공개적으로 사용 가능한 강력한 웹 서버가 될 준비가 거의 되었습니다! 홍수문을 열기 전에 서버가 파일에 액세스하는 여러 사용자의 집중적인 요청을 처리할 수 있는지 확인해야 합니다. 이미 시스템의 PHP 구성에 몇 가지 주요 편집을 하여 성능을 높였고, 메모리 캐싱 지원을 추가하면 성능이 증폭될 수 있습니다.
메모리 캐싱 설정 – APCu
ACPu는 자주 사용되는 객체의 액세스 시간을 단축하는 데 도움이 되는 PHP 캐시입니다. Nextcloud 인스턴스의 첫 번째 캐시로 사용할 것입니다. ACPu 캐시를 활성화하기 전에 시스템의 "php.ini" 파일을 몇 가지 변경해야 합니다.
"스도 나노 /etc/php/8.3/apache2/php.ini" 파일 편집을 시작합니다. 아래쪽 화살표 키를 장시간 눌러 파일 맨 아래로 스크롤합니다. 파일 맨 아래의 새 줄에 다음 줄을 추가합니다.
apc.enable_cli=1
apc.shm_size=128M
이 두 줄을 추가하면 시스템에서 APCu를 캐시로 사용하고 캐시 크기를 기본값인 128가 아닌 32메가바이트로 설정할 수 있습니다. 완료되면 control(ctrl) + "O"와 control(ctrl) + "X"를 눌러 파일을 저장하고 nano를 종료합니다.
APCu 캐시 켜기를 완료하려면 다음을 사용하세요. "sudo nano /etc/php/8.3/mods-available/apcu.ini" 그리고 추가 “apc.enable_cli=1” 우리가 한 것처럼 구성 파일의 맨 아래에 “php.ini” 파일. 컨트롤(ctrl) + "O"를 사용하고 컨트롤(ctrl) + "X"를 다시 사용하여 구성 파일을 저장하고 종료합니다.
PHP에서 APCu를 사용할 수 있도록 설정했지만 이제는 Nextcloud에서 이를 활용하도록 지시해야 합니다.
타입 "sudo nano /var/www/html/nextcloud/config/config.php" 콘솔에서 Enter를 누릅니다. Nextcloud PHP 구성 파일에서 Nextcloud가 로컬 메모리 캐싱에 APCu를 사용하도록 한 줄을 추가합니다.
'memcache.local' => '\OC\Memcache\APCu',
이전 구성 파일 줄의 간격 규칙을 따라 마지막 ");" 괄호 앞에 이 줄을 넣습니다. 다시 한 번, 컨트롤(ctrl)을 누른 채로 "O"를 누른 다음 컨트롤(ctrl)과 "X"를 눌러 저장하고 종료합니다.
PHP 구성 파일이 저장되면 다음을 사용합니다. “sudo systemctl restart apache2” Apache 웹 서버를 다시 시작하고 변경 사항을 적용합니다.
로컬 메모리 캐싱을 위해 APCu를 올바르게 설정하는 모든 단계를 따랐다면 Nextcloud 서버의 성능이 상당히 향상되었을 것입니다! 한 단계 더 나아가 Redis를 구성하여 메모리 캐싱을 좀 더 좋게 만들어 보겠습니다.
메모리 캐싱 설정 – 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"를 눌러 nano의 검색 기능을 활성화합니다. 다음을 입력합니다. “유닉스소켓” 검색창에 입력하고 Enter 키를 누르면 nano가 다음으로 이동합니다. “유닉스 소켓” 파일의 구성 섹션입니다. “유닉스 소켓” 섹션을 제거하세요 "#" 문자와 공백은 앞에 있습니다. "unixsocket /run/redis/redis-server.sock" 그리고 “유닉스소켓펌 700”. 변경 "700" 에 "770", 그리고 다음과 같은 줄이 나올 때까지 위로 스크롤하세요. “포트 6379”. 이 값을 다음으로 변경합니다. "0", Redis 서버에 TCP 포트에서 연결을 수신하지 말라고 효과적으로 알려줍니다. 아래 그림을 보고 구성 파일을 검증한 다음, 컨트롤(ctrl) + "O"와 컨트롤(ctrl) + "X"를 사용하여 파일을 저장하고 종료합니다.
Redis 시스템 구성 파일에 이러한 수정을 가하면 이제 Nextcloud PHP 구성 파일에서 분산 캐싱 및 트랜잭션 파일 잠금에 Redis를 사용하려는 것을 지정할 수 있습니다. nano에서 이 파일을 다음을 사용하여 엽니다. "sudo nano /var/www/html/nextcloud/config/config.php".
Nextcloud PHP 구성 파일의 맨 아래 끝 ");" 괄호 앞에 다음 줄을 추가합니다. 이때 공백과 쉼표에 주의하세요.
'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => [ '호스트' => '/run/redis/redis-server.sock', '포트' => 0, ],
줄을 올바르게 입력했다면 PHP 설정 파일의 메모리 캐싱 섹션은 다음 스니펫과 비슷해야 합니다.
변경 사항을 적용하기 위해 Apache 웹 서버와 Redis를 다시 시작하기 전에 다음을 사용하세요. “sudo usermod -a -G redis www-data” 추가하려면 “www-데이터” 사용자를 “레디스” 그룹, 웹 서버에 Redis Unix 소켓에 대한 액세스 권한을 부여합니다. 마지막으로 다음을 입력합니다. “sudo systemctl restart apache2 && sudo systemctl restart redis-server” 콘솔에 들어가서 Enter 키를 눌러 변경 사항을 적용하고 영향을 받은 서비스를 다시 시작합니다.
Nextcloud를 인터넷에 노출
우리는 완료에 매우 가깝습니다! Nextcloud 서버를 배포하는 마지막 단계는 공개 인터넷에 액세스할 수 있도록 하는 것입니다. 이 단계에서는 라우터에서 포트 포워딩을 구성해야 하며, 귀하가 약간 조사해야 할 수도 있습니다. 포트 포워딩 가이드 카탈로그를 사용하세요. https://portforward.com/router.htm 라우터 제조업체를 찾아 해결책을 읽어보세요. 목록에서 라우터 제조업체를 찾을 수 없거나 기업/수제 라우터를 사용하는 경우 적절한 방법을 찾을 때까지 웹 검색을 해야 할 수도 있습니다.
포트 포워딩을 구성할 때 Nextcloud 서버의 개인 IP 주소에서 포트 80 및 443을 포워딩합니다(다음을 사용하여 찾을 수 있음). “호스트 이름 -I” 명령)을 라우터의 공용 IP 주소로 보냅니다. 인터넷 서비스 제공자가 공용 IP 주소를 제공하지 않는 경우 Cloudflare의 Tunnels와 같은 서비스를 사용해야 합니다. 이 서비스를 사용하면 웹 서버와 Cloudflare 서버 간에 보안 터널을 만들 수 있으며, 웹사이트 방문자의 트래픽을 다시 사용자에게 전달합니다.
도메인을 소유하거나 호스트 이름 제공자의 호스트 이름을 사용하는 경우 DNS 레코드가 서버의 공용 IP 주소를 가리키도록 설정되어 있는지 확인하세요. 선택적으로 일부 서비스 제공자는 웹사이트 방문자로부터 IP 주소를 완전히 난독화하고 해당 데이터를 서버에서 다시 귀하의 서버로 안전하게 전송할 수 있는 기능을 제공합니다.
Nextcloud 유지 관리 및 업그레이드
Nextcloud 서버에 최신 업데이트와 보안 패치가 있는지 확인하는 것은 클라우드 스토리지를 빠르고 안전하게 유지하는 데 중요한 부분입니다. 끝내기 전에 서버를 새 것처럼 계속 실행하는 몇 가지 방법을 살펴보겠습니다!
배포 후 명령
Nextcloud 서버를 배포한 후 프로필 사진 메뉴에서 "관리 설정"을 클릭한 후 "개요" 페이지에서 몇 가지 경고를 발견했을 수 있습니다. 가끔 이러한 경고에는 경고가 발생한 문제를 즉시 해결하기 위해 실행할 수 있는 명령도 포함됩니다. 일반적으로 명령은 다음과 같이 실행해야 합니다. “www-데이터” 사용자 및 실행 “/var/www/html/nextcloud” 디렉토리. 유형 “cd /var/www/html/nextcloud” 그리고 Enter 키를 눌러 현재 작업 디렉토리를 적절한 폴더로 변경하고 삽입합니다. “sudo -u www-data” 각 명령 앞에 붙입니다.
이제 몇 가지 명령을 실행하여 문제가 되기 전에 경고를 해결할 수 있습니다.
sudo -u www-data php occ db:add-missing 열
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는 패키지 관리자를 사용하여 설치되지 않았으므로 다음을 사용하여 서버의 소프트웨어 패키지를 업데이트합니다. "적절한" Nextcloud를 다음 버전으로 자동 푸시하지 않습니다. Nextcloud 서버 업그레이드를 시작하려면 웹 페이지의 오른쪽 상단에 있는 관리자 사용자 프로필 사진을 클릭하고 드롭다운 메뉴에서 "관리 설정"을 선택해야 합니다. "개요" 페이지에서 업그레이드가 가능한 것을 볼 수 있습니다. 이 경우 버전 30.0.1입니다. "개요" 페이지에 업데이트 옵션이 나타나지 않더라도 걱정하지 마세요. 이미 최신 버전이 있습니다! 가끔 여기를 다시 확인하여 새 버전이 언제 제공되는지 확인하세요.
업데이트가 가능하고 적합한 업그레이드 창에 도달했다면 서버 콘솔로 다시 전환하여 다음 명령을 입력하세요.
sudo chown -R www-data : www-data / var / www
이 명령은 재귀적으로 다음을 설정합니다. “www-데이터” 사용자는 소유자로서 "www" 디렉토리와 모든 하위 디렉토리 및 파일을 관리하여 업그레이드 프로세스에서 필요한 모든 파일에 액세스하여 수정할 수 있도록 합니다.
해당 명령이 완료되면 "관리 설정" 메뉴 아래의 "개요" 페이지로 돌아가서 "업데이터 열기"라는 라벨이 붙은 버튼을 클릭합니다. 그러면 "업데이터" 메뉴로 이동합니다.
여기에서 “업데이트 시작” 버튼을 클릭하여 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기가바이트의 처리량을 제공할 수 있습니다.
데이터 스토리지 쇼의 진짜 스타는 Andrew의 HPE ProLiant MicroServer Gen10 Plus로, WD Red Plus 4TB 하드 드라이브 3.2개를 장착하고 USB 2 Gen10(1Gbps) 및 Gen5(14Gbps)을 통해 TrueNAS 부팅을 위한 Micron SSD, 백업 스토리지를 위한 WD Red Pro 860TB 드라이브, 캐싱을 위한 두 개의 Samsung XNUMX EVO SSD에 무작위로 연결되어 있습니다. 분명히 말해서 Andrew는 그렇게 하는 것을 권장하지 않지만 자신이 소유한 하드웨어로 가능한 것을 추진하는 것을 좋아합니다. 어떤 상황에서도 XNUMX나인의 안정성은 절대 보장되지 않습니다, 여러분.
다른 주목할 만한 기기로는 용도 변경된 Dell OptiPlex 7040 SFF PC가 있는데, 이 PC는 홈랩의 다양한 서브넷에 라우팅 서비스를 제공하기 위해 pfSense를 실행하고, Netgear CM1200 모뎀은 놀랍게도 어떤 이유에서인지 링크 집계를 지원합니다. 모든 서버 데이터 연결(1GBps 또는 10GBps)이 오류 중복이라는 사실을 언급했었나요? 이를 통해 Andrew의 스토리지 시스템은 이론적으로 특정 조건에서 20Gbps의 속도로 양방향으로 데이터를 공유할 수 있으며, 여러 연결이 동시에 발생합니다. 그에 가까운 속도까지 갈 수 있는 적절한 드라이브만 있다면!
결론
이 장황하지만 자세한 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/
StorageReview에 참여
뉴스레터 | 유튜브 | 팟캐스트 iTunes/스포티 파이 | 인스타그램 | 트위터 | 틱톡 서비스 | RSS 피드