Nextcloud로 자신만의 클라우드 파일 동기화를 구축하는 방법

Dropbox와 같은 서비스를 사용하면 여러 장치에서 파일에 쉽게 액세스할 수 있습니다. 그러나 더 많은 제어를 원할 수 있습니다. 30분 이내에 제어하는 ​​서버에서 자체 클라우드 동기화 서비스를 시작하고 실행할 수 있습니다. 넥스트클라우드.

넥스트클라우드란?

Nextcloud는 Dropbox, Onedrive 또는 Google Drive와 마찬가지로 PC와 다른 장치 간에 파일을 동기화할 수 있는 오픈 소스 소프트웨어입니다. 또한 Nextcloud에는 파일 동기화 이상의 작업을 수행할 수 있는 활기찬 앱 에코시스템이 있습니다. 캘린더 및 연락처 관리에 Nextcloud를 사용하거나 웹 기반 IMAP 이메일 클라이언트를 실행할 수 있습니다. 귀하와 귀하의 서버에 액세스할 수 있는 다른 사람을 위해 독점적으로 라이브 채팅 프로그램을 설정할 수도 있습니다.

그러나 세부 사항에 들어가기 전에 경고가 있습니다. Nextcloud를 사용하기 시작하면 서버를 유지 관리하는 것은 귀하에게 달려 있습니다. 즉, Nextcloud 소프트웨어를 관리하는 것 외에도 기본 서버 운영 체제가 패치를 통해 최신 상태를 유지하도록 해야 합니다. Nextcloud 서버는 일반적으로 문제가 없지만 문제가 발생하면 해결해야 합니다.

좋은 소식은 블로그가 많다는 것입니다. 포럼, 그리고 도움말 페이지 문제 해결에 도움이 됩니다. 문제가 발생하면 다른 사람에게 발생한 것일 수 있으며 거기에 해결책이 있습니다.

필요한 것

기본 Nextcloud 웹 인터페이스입니다.

Nextcloud를 시작하려면 다음 세 가지 항목이 필요합니다.

Ubuntu 18.04를 실행하는 가상 서버
컴퓨터 바탕 화면의 Bash 셸.
도메인 이름입니다.

이 예에서는 다음을 포함하여 여러 사용자 이름과 암호를 만듭니다.

서버의 루트 사용자 이름과 비밀번호입니다.
관리 권한이 있는 일반 서버 사용자 이름 및 암호.
Nextcloud 사용자 이름 및 암호.

이 자습서의 목적을 위해 DigitalOcean의 Ubuntu 18.04를 실행하는 가상 서버를 사용하고 있습니다. 그러나 다음을 포함하여 원하는 제공자를 사용할 수 있습니다. 리노드 또는 AWS. 어떤 서비스를 선택하든 잠재적인 문제를 피하기 위해 Ubuntu 18.04(현재 장기 지원 릴리스)를 실행하는 것이 핵심입니다.

모든 가상 서버 공급자는 약간 다르지만 모두 몇 번의 마우스 클릭으로 서버를 시작하고 실행하는 것을 목표로 합니다. 시작하려면 Nextcloud에 익숙해질 때까지 기본 수준 서버를 평가판으로 사용하는 것이 좋습니다. 디지털오션스 $5 드롭릿은 1GB의 RAM, 1개의 CPU 코어, 1TB의 데이터 전송 및 25GB의 스토리지를 제공합니다. Linode는 동일한 가격에 유사한 VPS를 제공합니다.

  내가 Apple Watch를 사랑하는 이유

SSH 키에 익숙하지 않은 경우 시작하려면 공급자에게 암호 기반 루트 로그인 세부 정보를 요청하십시오. 서버가 실행되고 명령줄에 익숙해지면 더 안전한 로그인을 위해 SSH 키를 추가하는 방법에 대한 공급자의 도움말 페이지를 확인할 수 있습니다.

컴퓨터에서 Windows 10을 실행하는 경우 계속하려면 Linux용 Windows 하위 시스템을 설치하고 Linux 유틸리티가 포함된 Bash 셸을 가져와야 합니다. Linux 또는 macOS를 사용하는 경우 터미널 프로그램만 있으면 됩니다. 대부분의 Bash 터미널에는 SSH가 설치된 상태로 제공되지만 그렇지 않은 경우 터미널 창에 sudo apt-get install ssh를 입력하여 설치하십시오.

도메인 이름을 구입할 때 .COM 주소일 필요는 없습니다. 당신과 당신의 가까운 친구와 가족만이 그것을 사용할 것입니다. 예를 들어 .XYZ 도메인 이름을 1년에 단돈 1달러로 찾았는데 잘 작동합니다.

서버 준비

서버가 작동할 수 있도록 하려면 관리 권한이 있는 일반 사용자 계정을 설정해야 합니다. 초기 구성 후에 전능한 루트 사용자로 로그인하는 것은 끔찍하고 끔찍한 생각입니다.

지금쯤이면 서버 공급자로부터 IP 주소와 루트 암호를 받아야 합니다. IP 주소는 서버에 연결하는 방법이며 암호는 사용자를 입력합니다.

시작하려면 다음을 입력하고(X를 서버의 IP 주소로 교체) Enter 키를 누릅니다.

SSH [email protected]

우리의 IP 주소는 165.22.81.172이므로 명령에 입력했습니다. 모든 것이 계획대로 진행되면 원격 서버(Nextcloud를 배치할 위치)에서 암호를 묻습니다. 서버 공급자가 제공한 암호를 입력합니다.

그런 다음 루트에 대한 새 암호를 설정하라는 메시지가 표시됩니다. 당신이 좋아하는 것을 선택하고, 그냥 놓거나 잊어버리지 마세요!

이제 원격 서버 내부에 있으며 작업을 시작할 시간입니다. 이 문서의 각 명령 다음에 Enter 키를 눌러 실행합니다.

먼저 다음을 입력하여 서버에 새 사용자를 추가합니다.

adduser 이안

“ian”을 사용하려는 사용자 이름으로 바꿉니다. 이 명령을 실행하면 새 사용자에게 암호를 제공하라는 메시지가 표시됩니다. 그렇게 하고 나면 서버가 요청하는 나머지 정보는 선택 사항입니다. 제공하지 않으려면 Enter 키를 계속 누르십시오.

다음으로 새 사용자에게 관리 권한을 부여하기 위해 다음을 입력합니다.

usermod -aG sudo ian

다시 “ian”을 이전에 선택한 사용자 이름으로 바꿉니다.

이제 두 번째 터미널 창을 열고 다음을 입력하여 새 사용자 계정이 작동하는지 확인합니다.

SSH [email protected]

다시 위의 내용을 사용자 이름과 서버의 IP 주소로 바꾸십시오. 메시지가 표시되면 이 사용자 계정에 대해 만든 암호를 입력합니다. 작동하면 루트로 로그인한 터미널 창으로 돌아갑니다.

  디지털 줌과 광학 줌의 차이점은 무엇입니까?

이제 Ubuntu 방화벽이 제대로 작동하는지 확인하기 위해 다음을 입력합니다.

ufw OpenSSH 허용
ufw 활성화
ufw 상태

마지막 상태 명령은 방화벽이 SSH를 차단하지 않음을 확인하는 아래 이미지와 같은 내용을 반환해야 합니다.

의 출력

“80, 443/tcp” 부분은 아직 볼 수 없지만 나중에 설명하겠습니다. 이제 루트 창을 닫고 일반 사용자와 함께 두 번째 터미널 창으로 돌아가 보겠습니다.

넥스트클라우드 설치

Nextcloud 소프트웨어, PHP, 웹 서버 소프트웨어, 데이터베이스를 모두 별도로 구성하고 설치해야 하던 시절이 있었습니다.

단일 명령으로 모든 것을 처리하는 공식 Snap 패키지를 사용하는 것이 훨씬 쉽습니다. 데이터베이스를 어지럽히거나 Apache 또는 Nginx가 사이트를 제공하는지 걱정할 필요가 없습니다.

Snap 패키지가 설치하는 것을 정확히 보고 싶다면(스포일러: LAMP 스택의 나머지 부분과 Redis를 더한 것입니다), 다음을 확인하세요. GitHub의 Nextcloud 스냅 저장소.

다음을 입력합니다.

sudo 스냅 인스톨 넥스트클라우드

시작 부분의 “sudo”는 일반 사용자 계정을 승격시켜 임시 관리 권한을 갖습니다. 이 작업을 수행하려면 암호를 입력해야 합니다. 모든 것이 순조롭게 진행되면 1~2분 안에 Nextcloud가 설치되고 (거의) 작업 준비가 완료됩니다.

다음으로 다음을 입력하여 사이트에 로그인할 수 있는 새 Nextcloud 사용자 계정을 만듭니다.

sudo nextcloud.manual-install ianpaul correctHorseBatteryStaple

“ianpaul” 대신 Nextcloud에 로그인하는 데 사용할 사용자 이름을 입력합니다. “correctHorseBatteryStaple” 비트가 비밀번호입니다. 사용하지 마십시오. 매우 잘 알려진 XKCD 만화 그리고 예시일 뿐입니다.

도메인 다루기

삶을 더 쉽게 만들기 위해 우리는 항상 IP 주소를 사용하여 서버에 액세스하는 것을 원하지 않습니다. 대신, 우리는 도메인 이름을 사용할 것입니다. 다시 한 번 말씀드리지만 1년에 $1 정도면 됩니다. 이 예에서는 wdzwdzTest.xyz를 사용하고 있습니다.

도메인이 있으면 도메인 등록 대행자(도메인을 구입한 곳)에서 DNS 설정을 관리하고 서버 공급자를 가리키고 싶을 것입니다. 예를 들어 DigitalOcean을 선택한 경우 해당 설정은 ns1.digitalocean.com, ns2.digitalocean.com 및 ns3.digitalocean.com이 됩니다.

그런 다음 서버 제공업체(예: DigitalOcean, Linode 또는 선택한 모든 것)로 이동하여 계정에 새 도메인을 추가합니다. IP 주소를 가리키는 A 레코드, “www”를 항상 사용하지 않으려면 CNAME 레코드, 자동으로 추가되지 않은 경우 NS 레코드를 추가해야 합니다.

아래 이미지는 DigitalOcean의 예를 보여줍니다.

기술적으로 도메인을 사용할 수 있게 되기까지 최대 24시간이 걸릴 수 있지만 일반적으로 몇 분 안에 작동을 시작합니다.

넥스트클라우드로 돌아가기

도메인이 설정되면 터미널에서 Nextcloud를 마무리하는 단계로 돌아갈 수 있습니다. 일반 사용자 계정으로 서버에서 로그아웃한 경우([email protected] 이 예에서는) 다시 로그인합니다.

  iPhone용 비디오 편집 앱을 위한 치트 시트

이제 다음을 입력하여 새 도메인을 Nextcloud에 추가합니다.

sudo nextcloud.occ 구성:시스템:trusted_domains 1 설정 –value=wdzwdztest.xyz

“–value=” 뒤에 당사 도메인(wdzwdztest.xyz)이 아닌 귀하의 도메인을 입력하십시오.

다음으로 새 도메인이 제대로 추가되었는지 확인하기 위해 다음을 입력합니다.

sudo nextcloud.occ 구성:시스템:trusted_domains 가져오기

터미널은 아래 이미지와 같은 것을 출력해야 합니다.

그만큼

다음으로 방화벽을 통해 원하는 포트를 사용할 수 있도록 다음을 입력합니다.

sudo ufw 허용 80,443/tcp

포트 80은 암호화되지 않은 HTTP 트래픽에 사용되는 반면 443은 SSL/TLS에 사용됩니다.

말하자면 Let’s Encrypt의 무료 SSL/TLS 인증서가 필요하므로 다음을 입력합니다.

sudo nextcloud.enable-https lets-encrypt

Let’s Encrypt 생성기가 실행을 시작하면 이메일 주소와 Nextcloud 도메인 이름을 요청합니다. 지침을 따르기만 하면 즉시 보안 웹사이트 인증서를 얻을 수 있습니다. Let’s Encrypt가 제대로 작동했다면 설정을 테스트할 시간입니다.

새 도메인(예: wdzwdztest.xyz)으로 이동합니다. 주소 표시줄에 자물쇠 아이콘이 있는 Nextcloud 로그인 페이지(아래 참조)가 표시되어야 합니다.

로그인 페이지가 보이면 준비가 된 것입니다. 그렇지 않은 경우 몇 시간 기다렸다가 다시 시도하십시오. 즉시 문제를 해결하려면 서버가 IP 주소를 통해 응답하는지 확인할 수 있습니다.

이것이 작동하려면 다음을 입력하여 신뢰할 수 있는 도메인에 IP 주소를 추가해야 합니다.

sudo nextcloud.occ 구성:시스템:trusted_domains 2 설정 –값=165.22.81.172

“trusted_domains 1″이 아니라 “trusted_domains 2″를 사용했습니다. “trusted_domains 1″만 반복하면 신뢰할 수 있는 도메인 목록에 있는 실제 도메인 이름을 덮어쓰게 되어 사용할 수 없게 됩니다.

완료되면 브라우저의 주소 표시줄에 IP 주소를 입력하면 위의 로그인 페이지가 표시됩니다. 그렇지 않다면 설치에 문제가 있는 것입니다.

IP 주소에 대한 SSL 인증서가 없기 때문에 안전하게 로그인할 수 없습니다. 따라서 서버가 작동하는지 확인한 후 신뢰할 수 있는 도메인 목록에서 IP를 삭제하는 것이 좋습니다. 이렇게 하려면 다음을 입력합니다.

sudo nextcloud.occ 구성:시스템:trusted_domains 2 삭제

성능 향상

Nextcloud 서버의 성능이 좋지 않으면 메모리 제한을 늘려야 할 수 있습니다. 기본적으로 128MB입니다. 512MB로 늘리려면 터미널을 사용하여 서버에 로그인하고 다음을 입력합니다.

sudo 스냅 설정 nextcloud php.memory-limit=512M.

이제 Nextcloud가 실행 중이므로 로그인하고 사용 가능한 앱을 정독하고 다른 사람과 파일을 공유하고 다중 장치 동기화를 위해 데스크탑 및 모바일 장치에 Nextcloud를 설치할 수 있습니다. 넥스트클라우드 데스크톱 동기화 도구 및 모바일 앱 제공 Windows, Mac, Linux, iPhone, iPad 및 Android용.

나만의 개인 보관함에 오신 것을 환영합니다!