+
This commit is contained in:
60
RClone/NFS_install.md
Normal file
60
RClone/NFS_install.md
Normal 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
|
||||
```
|
||||
69
RClone/RClone_install_linux.md
Normal file
69
RClone/RClone_install_linux.md
Normal 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
136
RClone/WebDAV_install.md
Normal 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/
|
||||
```
|
||||
Reference in New Issue
Block a user