Как установить Syncthing на AlmaLinux 9

Syncthing – это одноранговый инструмент синхронизации файлов с открытым исходным кодом, предназначенный для безопасной синхронизации файлов на нескольких устройствах. В отличие от облачных сервисов, Syncthing работает напрямую между устройствами, не храня данные на внешних серверах, предоставляя пользователям полный контроль над файлами и конфиденциальность. В работе Syncthing используется зашифрованная связь между устройствами, что обеспечивает безопасную передачу данных. Syncthing можно использовать для синхронизации файлов между компьютерами, мобильными устройствами и даже серверами, что делает его универсальным решением для пользователей, которым нужна надежная, конфиденциальная синхронизация файлов в режиме реального времени. Он прост в настройке, кроссплатформенен и работает в фоновом режиме, автоматически синхронизируя файлы при обнаружении изменений.

В этом руководстве вы узнаете, как установить программное обеспечение Syncthing на серверы AlmaLinux 9. Вы также узнаете, как установить соединение между двумя экземплярами Syncthing и настроить общую папку в Syncthing.

Загрузка двоичного файла Syncthing

Для дистрибутива на базе RHEL необходимо установить syncthing вручную с помощью бинарного файла. Обязательно проверьте официальную страницу syncthing на GitHub, чтобы получить последнюю версию syncthing.

Сначала выполните приведенную ниже команду, чтобы установить пакеты редакторов curl, wget и nano на ваши системы.

sudo dnf install curl wget nano -y

установить пакеты

Теперь загрузите бинарный файл syncthing из репозитория GitHub с помощью следующей команды.

curl -s https://api.github.com/repos/syncthing/syncthing/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -

После загрузки извлеките файл syncthing tar.gz файл с помощью команды ниже. Затем переместите двоичный файл syncthing в папку /usr/bin/ каталог.

tar xvf syncthing-linux-amd64*.tar.gz
sudo mv syncthing-linux-amd64-*/syncthing /usr/bin/

Наконец, проверьте расположение двоичного файла syncthing и его версию с помощью следующей команды.

which syncthing
syncthing --version

Из следующего вывода видно, что syncthing xxx установлен по адресу /usr/bin/syncthing.

загрузить проверку syncthing

Запуск Syncthing в качестве службы Systemd

Syncthing можно запускать вручную, но удобнее запускать syncthing как службу systemd. Вы можете управлять службой syncthing с помощью утилиты systemctl.

Выполните следующую команду редактора nano, чтобы создать новый файл службы systemd /etc/systemd/system/[email protected].

sudo nano /etc/systemd/system/[email protected]

Вставьте в файл следующую конфигурацию.

[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

# Hardening
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

Сохраните файл и выйдите из редактора, когда закончите.

И наконец, самое главное, перезагрузите менеджер systemd с помощью следующей команды, чтобы применить изменения в вашей системе.

sudo systemctl daemon-reload

Настройка Firewalld

Теперь, когда вы настроили syncthing как службу systemd, вам нужно открыть порты для syncthing через firewalld. По умолчанию firewalld включает приложение syncthing, вы можете легко включить его.

Выполните приведенную ниже команду, чтобы добавить и включить службы syncthing и syncthing-gui в firewalld.

sudo firewall-cmd --zone=public --add-service=syncthing --permanent
sudo firewall-cmd --zone=public --add-service=syncthing-gui --permanent

Теперь перезагрузите firewalld, чтобы он вступил в силу, а затем проверьте список включенных служб на firewalld.

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Как видно из следующего результата, профиль синхронизации включен.

настройка firewalld

Инициализация узла Syncthing

Прежде чем начать подключение экземпляров синхронизации, необходимо инициализировать syncthing для каждого пользователя в вашей системе. В этом примере мы будем использовать два сервера Almalinux с разными пользователями:

  • node1 с пользователем Том
  • узел2 сервер с пользователем Джерри

Теперь выполните следующую команду, чтобы запустить службу syncthing и инициализировать установку syncthing. Не забудьте изменить пользователя tom с вашим именем пользователя.

sudo systemctl start [email protected]

инициализация syncthing

После запуска службы syncthing новый каталог конфигурации ~/.local/state/synching и будет создан каталог Sync. Проверьте это с помощью команды ниже.

ls -ah ~/Sync
ls -ah ~/.local/state/syncthing/

создать файлы каталога

После этого откройте конфигурацию синхронизации ~/.local/state/syncthing/config.xml с помощью команды редактора nano, приведенной ниже.

sudo nano ~/.local/state/syncthing/config.xml

Внутри ‘gui‘ раздел, измените опцию ‘tls=false‘ к ‘tls=true‘, чтобы включить безопасный доступ для синхронизации.


192.168.10.41:8384
GENERATED-API-KEY
default

Сохраните файл и выйдите из редактора, когда закончите.

Затем выполните приведенную ниже команду, чтобы перезапустить syncthing и применить изменения.

sudo systemctl restart [email protected]

Далее включите и проверьте службу syncthing с помощью приведенной ниже команды. Убедитесь, что вы получили вывод включено и активный (работающий), что подтверждает статус службы синхронизации.

sudo systemctl enable [email protected]
sudo systemctl status [email protected]

проверить syncthing

Настройка пользователя и пароля для Syncthing

Теперь, когда вы запустили и инициализировали syncthing, следующим шагом будет настройка аутентификации пользователей для вашего экземпляра syncthing.

Перед началом работы выполните команду ss, приведенную ниже, чтобы убедиться, что порт 8384 находится в СЛУШАТЬ государство.

ss -tulpn | grep 8384

В следующем выводе видно, что порт 8384 используется системой syncthing.

проверить syncthing

Откройте веб-браузер и зайдите на IP-адрес сервера, за которым следует порт 8384 (т.е: https://192.168.5.15:8384/). Если установка прошла успешно, вы должны получить страницу приветствия, показанную ниже.

Нажмите на кнопку Настройки меню для настройки аутентификации пользователя.

настройка

Нажмите на кнопку ГРАФИЧЕСКИЙ ИНТЕРФЕЙС вкладку, затем введите пользователя и пароль администратора. Обязательно отметьте опцию Использовать HTTPS для графического интерфейса. Нажмите Сохранить , чтобы подтвердить изменения.

настройка авторизации

Теперь вы будете перенаправлены на страницу входа в систему syncthing. Там введите свое имя пользователя и пароль, затем нажмите Войти.

вход

Если настройка прошла успешно, перед вами откроется панель синхронизации, как показано ниже:

приборная панель syncthing

Ниже показана приборная панель syncthing из узел2.

приборная панель node2

Подключение инстанса Syncthing

На этом этапе вы завершили установку syncthing на оба сервера Almalinux. Пришло время подключить оба экземпляра syncthing, что можно сделать через панель веб-администрирования.

На узел1 приборная панель, нажмите Действие и выберите Показать ID чтобы получить подробную информацию об идентификаторе узла.

показать идентификатор

Вы можете увидеть идентификатор и qrcode узел1 экземпляр. Скопируйте идентификатор узла1, он понадобится для подключения к узел2 например.

копия узла1

Теперь перейдите к узел2 приборная панель, на Удаленные устройства раздел, нажмите Добавить удаленное устройство.

добавить удаленное устройство

Вставьте идентификатор узел1, и введите имя как узел1.

добавить устройство

Далее перейдите в раздел Совместное использование вкладка. В Нераспределенные папки , отметьте опцию Папка по умолчанию чтобы открыть общий доступ к целевой папке в узел1.

Также не забудьте проверить Автоприем опция для автоматического создания или совместного использования папок, которые node1 рекламирует в пути по умолчанию.

Щелкните . Сохранить для подтверждения.

общая папка

Вернитесь в узел1 dashboard, и вы должны увидеть сообщения о запросах от узел2. Нажмите Добавить устройство , чтобы подтвердить.

принять устройство

При появлении запроса нажмите Сохранить для подтверждения. Также не забудьте проверить идентификатор устройства узел2.

подтвердить устройство node2

Далее вы получите еще одно уведомление о том, что узел2 экземпляр будет совместно использовать папку Папка по умолчанию, нажмите Поделиться подтвердить.

общая папка

По завершении процесса на узле1 вы увидите следующую информацию:

  • [Папка по умолчанию с путём /home/tom/Sync это Поделиться С узел2.
  • На Удаленные устройства раздел, вы можете увидеть узел2 со статусом Актуально.

общая папка удаленного устройства

Теперь проверьте узел2 приборной панели, вы должны увидеть аналогичную информацию о том, что Папка по умолчанию является общей с узел1. Кроме того, вы можете увидеть на Удаленные устройства раздел узел1 со статусом Актуально.

успех разделен

Тестовая синхронизация файлов

На данном этапе вы завершили настройку общей папки между двумя экземплярами syncthing. Теперь давайте попробуем создать новые файлы в каталоге Shared, чтобы проверить синхронизацию между двумя экземплярами syncthing.

На узел1 сервер, перейдите на ~/Sync каталог и выполните следующую команду для создания новых файлов.

cd ~/Sync/
touch file{1..50}.txt
ls -ah

node1 create files

Теперь перейдите в раздел узел2 сервер и перейдите на ~/Sync каталог. Затем проверьте файлы списка на ~/Sync каталог.

cd ~/Sync
ls -ah

Если синхронизация прошла успешно, вы должны увидеть файлы, которые вы создали из каталога узел1 сервер.

проверка синхронизации

Таким образом, установка синхронизации прошла успешно.

Заключение

Поздравляем! Вы успешно установили syncthing на серверы AlmaLinux 9. Вы также узнали, как установить соединение между экземплярами syncthing, настроить общую папку и проверить синхронизацию экземпляров syncthing.

Теперь вы можете добавлять новые устройства и подключаться к текущему экземпляру, чтобы обеспечить общий доступ к файлам и синхронизацию между несколькими устройствами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *