Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX.CHAINIK
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.LINUX.CHAINIK с датами от 15 Jul 13 07:24:14 до 25 Apr 24 19:14:34, всего сообщений: 3144
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 2407 из 3144 ================================= RU.LINUX.CHAINIK =
От   : Andrey Chebanov                  2:455/19.54        31 Oct 18 18:26:58
Кому : Vadim Makarov                                       31 Oct 18 18:26:58
Тема : Re: ftp ну или что-нибудь
FGHI : area://RU.LINUX.CHAINIK?msgid=2:455/19.54+5bd9d140
На   : area://RU.LINUX.CHAINIK?msgid=2:5030/1900.113+bb6cc639
= Кодировка сообщения определена как: CP866 ==================================
==============================================================================
Здpавствуй, Vadim!

Среда 31 Октября 2018 16:52, ты писал(а) мне, в сообщении по ссылке area://ru.linux.chainik?msgid=2:5030/1900.113+bb6cc639:

VM> Nginx и фтп уже есть. Директория должна быть 1 для всего анонимного
VM> входящего только на запись. И 1 для всех, кто заходит с локалки на
VM> чтение и запись. Хотя, возможно, для загрузки можно было бы сделать
VM> что-то проще. Hу, чтобы через браузер прямо.

Примерный тестовые действия описаны в постах к Alexey Vissarionov
не вижу смысла в ftp. Тебе не просто нужен дефолтный nginx а собранный
с модулем http://nginx.org/ru/docs/http/ngx_http_dav_module.html
Как разграничивать пользователей
загугли например https://debian.pro/1799 нормальное описание

Из старых личных записок, сылки вивимо уже мертвы

Вдохновения:

http://xandroskin.ru/it/svoj-webdav-server-na-nginx/495



nginx-1.4.4 собрал со следующими модулями



# cat _configure.sh

# --add-module=/usr/local/src/nginx-upload-module-master

export LUAJIT_INC=/usr/local/include/luajit-2.0

export LUAJIT_LIB=/usr/local/lib/

./configure --sbin-path=/usr/local/sbin \

--conf-path=/etc/nginx/nginx.conf \

--error-log-path=/var/log/nginx/nginx-error.log \

--http-log-path=/var/log/nginx/nginx-http.log \

--pid-path=/var/run/nginx.pid \

--with-http_ssl_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--with-http_mp4_module --add-module=/usr/local/src/nginx-rtmp-module \

--with-http_flv_module \

--with-http_dav_module \

--add-module=/usr/local/src/ngx_devel_kit-0.2.19 \

--add-module=/usr/local/src/lua-nginx-module-0.9.7 \

--add-module=/usr/local/src/nginx-upload-progress-module-master \

--add-module=/usr/local/src/nginx-dav-ext-module-master

make -j2



Мой Конфиг:



# cat /etc/nginx/nginx-seafile.conf

#user nobody;

worker_processes 1;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid;

events {

worker_connections 1024;

}

#rtmp_auto_push on;

#-----------------------------------------------------

# Потоковое видео stream с модулем nginx-rtmp-module

# worker_processes 1; должен быть один.

#----------------------------------------------------

rtmp {

server {

listen 1935;

application myapp {

live on;

}

}

}

#---------------------------------------------------

http {

include mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '

# '$status $body_bytes_sent "$http_referer" '

# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

#gzip on;

#-----------------------------------------------------

# Потоковое видео stream с модулем nginx-rtmp-module

# worker_processes 1; должен быть один.

#----------------------------------------------------

# rtmp {

#server {

# listen 1935;

# application myapp {

# live on;

# }

# }

#}

#---------------------------------------------------

server {

listen 80;

listen 10.1.0.147:8000;

server_name 10.1.0.147;

location / {

fastcgi_pass 127.0.0.1:8000;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_script_name;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

access_log /var/log/nginx/seahub.access.log;

error_log /var/log/nginx/seahub.error.log;

}

location /seafhttp {

rewrite ^/seafhttp(.*)$ $1 break;

proxy_pass http://127.0.0.1:8082;

client_max_body_size 0;

}

location /media {

# root /home/user/haiwen/seafile-server-1.6.1/seahub;

root /xfs-100GB-01-local/seafile/seahub;

}

#----------------------------------------------

# Для настройки связки nginx+Apache

#---------------------------------------------

# location /portal {

##try_files $uri $uri/ /index.php?q=$uri&$args;

# proxy_pass http://127.0.0.1:8080/portal/;

# proxy_redirect off;

# proxy_set_header Host $host;

# proxy_set_header X-Real-IP $remote_addr;

# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# client_max_body_size 10m;

# client_body_buffer_size 128k;

# proxy_connect_timeout 90;

# proxy_send_timeout 90;

# proxy_read_timeout 90;

# proxy_buffer_size 4k;

# proxy_buffers 4 32k;

# proxy_busy_buffers_size 64k;

# proxy_temp_file_write_size 10m;

# }

# location /engine {

# root /var/www/html/portal/engine;

# }

#------------------------------------------------

# Hастройки на работу с php

#------------------------------------------------

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;

include fastcgi_params;

}

# location ^~ /irchub/ {

location ~* /irchub/ {

index index.html index.htm index.php;

root /var/www/html;

# Запрос http://seafile.mnsk.rw/irchub/test.txt

# преобразован в /var/www/html/irchub/test.txt

access_log /var/log/nginx/irchub.access.log;

error_log /var/log/nginx/irchub.error.log;

}

#------------------------------------------------

#----------------------------------------------------

# Раздаем mp4 с помощью модуля ngx_http_mp4_module

#---------------------------------------------------

location ~* /video/ {

autoindex on;

autoindex_exact_size on;

autoindex_localtime on;

mp4;

mp4_buffer_size 1m;

mp4_max_buffer_size 5m;

root /xfs-100GB-02-local;

}

#location ~* /uploader/ {

# mp4;

# mp4_buffer_size 1m;

# mp4_max_buffer_size 5m;

# root /;

#}

#-----------------------------------------------

location ~* /dchub01/ {

autoindex on;

autoindex_exact_size on;

autoindex_localtime on;

flv;

mp4;

mp4_buffer_size 1m;

mp4_max_buffer_size 5m;

root /NFS;

}

location /lua_content {

# MIME type determined by default_type:

default_type 'text/plain';

content_by_lua "ngx.say('Hello,world!')";

}

location ~* /webdav/ {

root /NFS;

# client_body_temp_path /NFS/client_temp;

dav_methods PUT DELETE MKCOL COPY MOVE;

dav_ext_methods PROPFIND OPTIONS;

create_full_put_path on;

dav_access group:rw all:r;

client_max_body_size 0;

#limit_except GET {

# allow 10.1.2.181/32;

# deny all;

# }

autoindex on;

auth_basic "Please login for access";

auth_basic_user_file /NFS/.passwd.dav;

}

###end webdav#####################################

###end server

}

}



Hадо понимать, что обращаясь к директории /webdav/ пользователь попадает по физическому пути /NFS/webdav/



конфиг из статьи:



location / {

#указываем нужные методы

dav_methods PUT DELETE MKCOL COPY MOVE;

#работает,только если включали дополнительный модуль

dav_ext_methods PROPFIND OPTIONS;

#создавать промежуточные каталоги в методе PUT

create_full_put_path on;

#права доступа для создаваемых объектов

dav_access group:rw all:r;

#добавляем авторизацию

auth_basic "Please login for access";

#путь до файла с хэшем пароля

auth_basic_user_file /mnt/disk/.passwd.dav;

#разрешаем просмотр директории

autoindex on;

#отключаем ограничение по размеру на загрузку файлов

client_max_body_size 0;

#путь до корня выделенной под WebDAV директории

root /mnt/disk;

}



Цитата из статьи:

Создаем пару логин+пароль для авторизации на нашем сервере.

Авторизация по протоколу HTTP Basic Authentication в nginx предоставляется с помощью модуля ngx_http_auth_basic_module,

который включен по умолчанию. Генерируем хэш пароля с помощью утилиты из набора apache-utils htpasswd или

любым онлайн генератором файлов .htpasswd.



Для тестирования использовал

NetDrive он отлично заработал, когда откомпилировал дополнительный модуль --with-http_dav_module и с включенной опцией в конфиге

dav_ext_methods PROPFIND OPTIONS;



Тема на форуме:

http://forum.ixbt.com/topic.cgi?id=94:63

консольная прога, под linux.

http://www.webdav.org/cadaver/

http://savannah.nongnu.org/projects/davfs2

порт

http://www.phtagr.org/2009/04/01/cadaver-for-windows/




С уважением - Andrey
--- -Пиши, старик, пиши! Мы тебя не покинем.
* Origin: Hеужели опять: яйца всмятку, котлеты, цыплята? (2:455/19.54)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.034265 секунды