FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX.CHAINIK
Присутствуют сообщения из эхоконференции 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)
К главной странице гейта