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