Делаем свой webdav server на nginx с авторизацией через OPENLDAP
Решил зафигачить nginx с opanldap авторизацией.
Собираем докер nginx c блэкджеком и шлюхами.Далее я все выложил в репозитории.
Предполагается, что у нас есть сервер openldap. Смотрим если что сюда.
Запускаем все это гавно через docker-compose.
git clone https://github.com/galushkoav/nginx-webdav-ldap.git cd nginx-webdav-ldap
Правим конфиг
nano configs/nginx/conf.d/backup.itc-life.ru.conf
Там меняем свои данные. Далее билдим мой крутой докер
bash build-docker.sh
Далее делаем инит сварма
docker swarm init
Далее деплоим
bash run.sh
Жопой высветиться 280 порт.
Херачим права на каталог
sudo chmod 777 -R BACKUPS
Загружаем файл. Каталоги создадутся автоматом
curl --progress-bar -T ~/test.png http://пользователь:пароль@backups.itc-life.ru:280/temp/test.png | tee /dev/null
Загрузить файл и получить код ответа
curl --progress-bar -T ~/test.png http://пользователь:пароль@backups.itc-life.ru:280/temp/test.png -sw '%{http_code}'
Например :
201 - создан;
204 - обновлен;
Удаляем файл
curl -X DELETE -u пользователь:пароль "http://backups.itc-life.ru:280/temp/test.png"
Переместить(переименовать) файл в webdav
curl -X MOVE -u пользователь:пароль --header 'Destination:http://backups.itc-life.ru:280/temp/test.png' 'http://backups.itc-life.ru:280/temp/test_new.png' -sw '%{http_code}'
Получить список файлов и каталогов в папке webdav
curl -s -u "пользователь:пароль" "http://пользователь:пароль@backups.itc-life.ru:280/temp/" --list-only | cut -d"\"" -f2 | sed '/>/d' | sed '/\.\.\//d' | sed '1d'
Получить список только файлов папке webdav
curl -s -u "пользователь:пароль" "http://пользователь:пароль@backups.itc-life.ru:280/temp/" --list-only | cut -d"\"" -f2 | sed '/>/d' | sed '/\.\.\//d' | sed '1d' | | sed '/\//d'
Скачать файл c web
curl -u пользователь:пароль http://backups.itc-life.ru:280/temp/test.png -o test.png
Получить дату создания файла
curl -sI -u "пользователь:пароль" "http://backups.itc-life.ru:280/temp/test.png" 2>&1 | grep 'Last-Modified' .... Last-Modified: Sat, 09 Jun 2018 05:50:47 GMT
Всем спасибо. Особенно мне