웹사이트 검색

Debian 11에 동기화 원격 파일 동기화 소프트웨어를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 동기화 저장소 추가\n
  3. Debian 11에 Syncthing 설치
  4. 동기화를 위한 Systemd 서비스 파일 만들기\n
  5. Syncthing 관리자 비밀번호 설정\n
  6. 각 서버를 다른 서버에 추가
  7. 폴더 생성 및 공유
  8. 결론

Syncthing은 인터넷을 통해 여러 원격 장치 간에 파일을 동기화하는 데 사용되는 무료 오픈 소스 파일 동기화 응용 프로그램입니다. P2P 아키텍처에서 작동하며 두 장치 간에 자동으로 데이터를 교환합니다. 파일과 디렉터리를 실시간으로 동기화하는 데 도움이 됩니다. 여러 장치 간의 모든 데이터 전송은 안전하며 TLS로 암호화됩니다. Linux, Windows 및 macOS용 클라이언트가 있습니다. 또한 스마트폰과 동기화할 수 있는 Android 앱도 있습니다!

이 게시물에서는 Debian 11 서버에 Syncthing 파일 동기화 소프트웨어를 설치하는 방법을 보여줍니다.

전제 조건

  • Debian 11을 실행하는 두 대의 서버.\n
  • 루트 암호는 각 서버에 구성됩니다.\n

동기화 저장소 추가

기본적으로 Syncthing은 Debian 11 기본 리포지토리에 포함되어 있지 않습니다. 따라서 두 서버 모두에 Syncthing 리포지토리를 추가해야 합니다.

먼저 다음 명령을 사용하여 필요한 종속 항목을 설치합니다.

apt-get install gnupg2 curl apt-transport-https -y

그런 다음 다음 명령을 사용하여 GPG 키를 다운로드하고 추가합니다.

curl -s https://syncthing.net/release-key.txt | apt-key add -

다음으로 다음 명령을 사용하여 Syncthing 리포지토리를 APT에 추가합니다.

echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list

다음으로 다음 명령을 사용하여 저장소를 업데이트합니다.

apt-get update -y

Debian 11에 Syncthing 설치

이 시점에서 Syncthing 저장소가 두 서버 모두에 추가됩니다. 이제 두 서버에서 다음 명령을 실행하여 Syncthing을 설치합니다.

apt-get install syncthing -y

Syncthing이 설치되면 다음 명령을 사용하여 Syncthing 버전을 확인합니다.

syncthing --version

다음과 같은 결과가 표시됩니다.

syncthing v1.18.6 "Fermium Flea" (go1.17.6 linux-amd64)  2021-12-30 12:07:01 UTC [noupgrade]

동기화를 위한 Systemd 서비스 파일 생성

다음으로 Syncthing을 관리하기 위해 두 서버 모두에 systemd 서비스 파일을 생성해야 합니다. 다음 명령으로 만들 수 있습니다.

nano /etc/systemd/system/

다음 줄을 추가합니다.

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

완료되면 파일을 저장하고 닫습니다. 그런 다음 systemd 데몬을 다시 로드하여 변경 사항을 적용합니다.

systemctl daemon-reload

다음으로 다음 명령을 사용하여 Syncthing 서비스를 시작합니다.

systemctl start 

다음으로 다음 명령을 사용하여 Syncthing의 상태를 확인합니다.

systemctl status 

다음과 같은 결과가 표시됩니다.

?  - Syncthing - Open Source Continuous File Synchronization for root
     Loaded: loaded (/etc/systemd/system/; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-01-31 02:28:35 UTC; 11s ago
       Docs: man:syncthing(1)
   Main PID: 2746 (syncthing)
      Tasks: 14 (limit: 2341)
     Memory: 56.3M
        CPU: 1.661s
     CGroup: /system.slice/system-syncthing.slice/
             ??2746 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
             ??2752 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0

Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: QUIC listener ([::]:22000) starting
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file o>
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Creating new HTTPS certificate
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: GUI and API listening on [::]:8384
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: My name is "server1"
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] WARNING: Syncthing should not run as a privileged or system user. Please consider using a no>
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 resolved external address quic://69.87.219.167:22000 (via stun.sy>

기본적으로 Syncthing은 포트 8384에서 수신 대기합니다. 다음 명령으로 확인할 수 있습니다.

ss -antpl | grep 8384

다음과 같은 결과가 표시됩니다.

LISTEN 0      4096               *:8384             *:*    users:(("syncthing",pid=2752,fd=28))

동기화 관리자 암호 설정

이 시점에서 Syncthing이 두 서버 모두에 설치되어 실행 중입니다. 이제 Syncthing 웹 UI에 액세스하고 관리자 암호를 설정해야 합니다.

첫 번째 서버의 관리자 암호를 설정하려면 웹 브라우저를 열고 URL http://first-server-ip:8384를 사용하여 액세스하십시오. 다음 화면이 표시됩니다.

설정 버튼을 클릭합니다. 다음 화면이 표시됩니다.

GUI 탭에서 관리자 사용자 이름과 암호를 정의하고 저장 버튼을 클릭하여 변경 사항을 적용합니다. Syncthing 로그인 페이지로 리디렉션됩니다.

관리자 사용자 이름, 비밀번호를 제공하고 로그인 버튼을 클릭합니다. 다음 화면에 Syncthing 대시보드가 표시되어야 합니다.

두 번째 서버의 관리자 암호를 설정하려면 웹 브라우저를 열고 URL http://second-server-ip:8384를 사용하여 액세스하십시오. 다음 화면이 표시됩니다.

설정 버튼을 클릭합니다. 다음 화면이 표시됩니다.

GUI 탭에서 관리자 사용자 이름과 암호를 정의하고 저장 버튼을 클릭하여 변경 사항을 적용합니다. Syncthing 로그인 페이지로 리디렉션됩니다.

관리자 사용자 이름, 비밀번호를 제공하고 로그인 버튼을 클릭합니다. 다음 화면에 Syncthing 대시보드가 표시되어야 합니다.

각 서버를 다른 서버에 추가

다음으로 두 서버 간에 파일을 동기화하려면 각 서버의 장치 ID를 찾아 다른 서버에 추가해야 합니다.

첫 번째 서버 대시보드에서 작업 > ID 표시를 클릭하여 장치 ID를 찾습니다. 다음 화면이 표시됩니다.

두 번째 서버 대시보드에서 작업 > ID 표시를 클릭하여 장치 ID를 찾습니다. 다음 화면이 표시됩니다.

첫 번째 서버에서 닫기 버튼을 클릭합니다. 다음 화면이 표시됩니다.

이제 원격 장치 추가를 클릭하십시오. 다음 화면이 표시됩니다.

두 번째 서버의 장치 ID와 이름을 제공하고 저장 버튼을 클릭합니다. 장치가 추가되면 다음 화면이 표시됩니다.

두 번째 서버에서 원격 장치 추가를 클릭합니다. 다음 화면이 표시됩니다.

첫 번째 서버의 장치 ID와 이름을 제공하고 저장 버튼을 클릭합니다. 다음 화면이 표시됩니다.

폴더 생성 및 공유

다음으로 두 번째 서버와 동기화하려는 첫 번째 서버의 폴더를 추가하고 공유해야 합니다.

첫 번째 서버에서 폴더 추가 버튼을 클릭합니다. 다음 화면이 표시됩니다.

폴더 레이블, 폴더 경로를 제공하고 공유 탭을 클릭합니다. 다음 화면이 표시됩니다.

두 번째 서버를 선택하고 저장 버튼을 클릭합니다. 다음 화면이 표시됩니다.

그런 다음 두 번째 서버로 이동하여 모두 다시 검색 버튼을 클릭합니다. 다음 화면이 표시됩니다.

추가를 클릭하여 첫 번째 서버에서 공유되는 폴더를 추가합니다. 다음 화면이 표시됩니다.

저장 버튼을 클릭하여 변경 사항을 적용합니다. 다음 화면이 표시됩니다.

이 시점에서 두 서버는 서로 파일을 동기화하도록 구성됩니다. 첫 번째 서버의 공유 폴더에서 파일을 만들거나 수정할 때마다 자동으로 두 번째 서버에 동기화됩니다.

결론

축하합니다! 두 개의 Debian 11 서버에 Syncthing을 성공적으로 설치 및 구성했으며 두 서버 간의 동기화를 설정했습니다. 이 튜토리얼이 서버 백업에 도움이 되기를 바랍니다. 궁금한 점이 있으면 언제든지 문의해 주세요.