This commit is contained in:
2025-06-25 23:00:43 +05:00
parent 3f831b68ab
commit c2f357fae1
13 changed files with 732 additions and 72 deletions

60
RClone/NFS_install.md Normal file
View File

@ -0,0 +1,60 @@
```sh
sudo apt update &&
sudo apt install nfs-kernel-server -y
```
```sh
sudo mkdir -p /mnt/data/org_ccalm_almaty &&
sudo chown nobody:nogroup /mnt/data/org_ccalm_almaty
```
Открой файл /etc/exports:
```sh
sudo mcedit /etc/exports
```
Добавь строку:
```config
/mnt/backups 192.168.200.0/24(rw,sync,no_subtree_check,no_root_squash)
```
Пояснение:
/mnt/backups — путь к расшариваемой папке
192.168.1.0/24 — подсеть, которой разрешён доступ
rw — чтение и запись
sync — синхронная запись (безопаснее)
no_subtree_check — оптимизация доступа
Применение изменений
```sh
sudo exportfs -ra
```
```sh
sudo systemctl restart nfs-kernel-server
```
(Необязательно) Разрешить доступ через firewall
```sh
sudo ufw allow from 192.168.200.0/24 to any port nfs
```
Проверка экспортируемых папок
```sh
sudo exportfs -v
```
## Подключение к NFS на клиенте (например, другая машина/VM)
```sh
sudo apt install nfs-common &&
sudo mount 192.168.200.80:/mnt/data/org_ccalm_almaty /mnt/nfs-backups
```
Чтобы монтировалось при загрузке, добавь строку в sudo mcedit /etc/fstab:
```sh
192.168.200.80:/mnt/data/org_ccalm_almaty /mnt/backups nfs defaults 0 0
```
Обновляем:
```sh
sudo mount -a
```

View File

@ -0,0 +1,69 @@
Connecting to infrasturture
```sh
sudo useradd -r -s /sbin/nologin -d /opt/backup -m rclone
```
```sh
ssh ubuntu@almaty.ccalm.org -p 22
```
```sh
sudo apt update &&
sudo apt install rclone
```
```sh
rclone version
```
Создаём настройку в ~/.config/rclone/rclone.conf
```sh
rclone config
```
При настройке для текущего пользователя задал такие параметры:
```conf
[mywebdav]
type = webdav
url = https://webdav.geovizor.top/
vendor = other
user = admin
pass = iV6-JPSK7UOcY8xYfvKs9MjZtVMR4pqdKKCoXXtCaw
```
Перемещаю все файлы с ранее созданным конфигом:
```sh
rclone move /opt/backups/data mywebdav:/backups --progress --no-check-certificate
```
Предварительно нужно настроить подключение а потом можно вызывать команду для копирования:
```sh
rclone move /путь/к/локальной/директории webdav:/путь/на/сервере
```
Копирую файлы с сервера:
```sh
rclone copy webdav:/ E:\webdav --no-check-certificate --progress
```
Инициация синхронизации со списком файлов
```sh
rclone bisync webdav:/ E:\webdav --no-check-certificate --resync --verbose --create-empty-src-dirs
```
Регулярная двусторонняя синхронизация
```sh
rclone bisync webdav:/ E:\webdav --no-check-certificate --modify-window 1s --progress --create-empty-src-dirs
```

136
RClone/WebDAV_install.md Normal file
View File

@ -0,0 +1,136 @@
https://github.com/hacdias/webdav
```sh
ssh igor@192.168.200.81 -p 22
```
```sh
sudo apt update &&
sudo apt install golang-go
```
```sh
git clone https://github.com/hacdias/webdav.git &&
cd webdav
```
```sh
go build -o webdav .
```
```sh
cd /opt/webdav &&
sudo tee config.yml > /dev/null <<'EOF'
address: "0.0.0.0"
port: 8085
directory: "."
permissions: "R"
debug: true
users:
- username: admin
password: "U8Z0a6YY7taZ965"
directory: "/mnt/backups"
permissions: "CRUD"
EOF
```
Пытаемся запустить
```sh
cd /opt/webdav &&
./webdav --config config.yml
```
Проверяем что работает:
```sh
open http://192.168.200.81:8085
```
Находим и убиваем процесс
```sh
ps aux | grep webdav
```
```sh
pkill -f 'webdav --config config.yml'
```
Создаю пользователя webdav
```sh
sudo useradd -r -s /sbin/nologin -d /opt/webdav -m webdav &&
sudo chown -R webdav:webdav /opt/webdav &&
sudo chmod -R 750 /opt/webdav
```
```sh
sudo nano /etc/systemd/system/webdav.service
```
```sh
cd /etc/systemd/system/ &&
sudo tee webdav.service > /dev/null <<'EOF'
[Unit]
Description=WebDAV Server
After=network.target
[Service]
WorkingDirectory=/opt/webdav
ExecStart=/opt/webdav/webdav --config config.yml
User=webdav
Group=webdav
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
```
```sh
sudo systemctl daemon-reexec &&
sudo systemctl enable webdav &&
sudo systemctl start webdav
```
```sh
sudo systemctl status webdav
```
```sh
sudo journalctl -u webdav -b
```
Теперь WebDAV доступен по адресу:
```sh
start https://yourdomain.com/webdav/
```
## Настройка HAProxy
Edit haproxy configuration file:
```sh
sudo mcedit /etc/haproxy/haproxy.cfg
```
frontend HTTPS:
```config
frontend https-in
bind *:443 ssl crt /etc/ssl/private/yourdomain.pem
acl is_webdav path_beg /webdav
use_backend webdav_backend if is_webdav
```
В backend:
```config
backend webdav_backend
server webdav1 127.0.0.1:8085
```
```sh
haproxy -f /etc/haproxy/haproxy.cfg -c
````
```sh
sudo systemctl restart haproxy
```
Для винды можно подключить диск при помощи:
```
open https://www.raidrive.com/
```