Http файловый сервер linux

How to quickly set up http file sharing on GNU/Linux

If you have a good internet connexion it could be useful to be able to share files with friends via a home made solution.

We will see here how to set up a web server in order to easily share files via a http protocol on GNU/Linux.

The goal here is to do it quickly with minimal configuration.

We will use lighttpd wich is an open-source web server optimized for speed-critical environments while remaining standards-compliant, secure and flexible.

Small CPU load and low memory footprint, everything I’m looking for.

Installing lighttpd

Edit configuration file

  • Edit /etc/lighttpd/lighttpd.conf, and add this line :
  • Create upload directory :
  • Create example file :
  • Reload lighttpd service :

Connect to the web server

GNU/Linux | Lighttpd Index of

  • From your web browser connect to your newly web server (http://IP_ADDRESS/upload). From the Index of page you should see your file :

How to secure?

We have a our brand new http server but if we make it accessible from the internet (that’s what we wanted right?), everyone can potentially connect to it.

We will see here, how we can improve security.

Firewall rules

We can use the netfilter/iptables or nftables firewall to restrict access and thus allow only certain ip addresses.

Netfilter/iptables rules

root@host:~# iptables -A INPUT -p tcp —dport 80 -m state -s ALLOWED_IP —state NEW,ESTABLISHED,RELATED -j ACCEPT root@host:~# iptables -A INPUT -p tcp —dport 80 -m state —state NEW,ESTABLISHED,RELATED -j DROP

nftables rules

root@host:~# nft add rule ip filter INPUT tcp dport 80 ip saddr ALLOWED_IP ct state new,established counter accept root@host:~# nft add rule ip filter INPUT tcp dport 80 ct state new,established counter drop

Add authentication

We can also add a user/password prompt window to prevent unwanted users.

GNU/Linux | Lighttpd auth window

  • Edit /etc/lighttpd/lighttpd.conf, and add this lines :

server.modules = ( «mod_indexfile», «mod_access», «mod_alias», «mod_redirect», «mod_auth», «mod_authn_file» ) auth.backend = «plain» auth.backend.plain.userfile = «/etc/lighttpd/lighttpd-plain.user» auth.require = ( «/» => ( «method» => «basic», «realm» => «Auth», «require» => «valid-user» ) )

  • Add new user login:password :
Читайте также:  Linux time real user sys

root@host:~# echo «agent007:secret» > /etc/lighttpd/lighttpd-plain.user

  • Restart lighttpd service :

root@host:~# systemctl restart lighttpd.service

  • The next time someone tries to log in an authentication request will appear :

Add https support

  • Create a self signed certificate :
  • Set rights :
  • Edit /etc/lighttpd/lighttpd.conf, and add this lines :
  • Restart lighttpd service :

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Источник

How to Quickly Setup HTTP File Server in Ubuntu 20.04

There are quite a few ways to transfer files over home network. One of the easiest ways is to run a single python command in terminal.

Python contains a script that sets up simple http server. No need to install anything, and even no internet connection required.

1. Simply right-click on the folder that contains the files you want to transfer, then select ‘Open in Terminal

2. When terminal opens, run the single command:

UPDATE: You can specify the listening port (e.g., 9900) if you get “Address already in use” error, by running command:

python3 -m http.server 9900

Now any device in the same network can access the http file server by going to (change 8000 if you specified another listening port): http://server_ip:8000

In addition, you may run python3 -m http.server & instead to start the http server in background, so the terminal window can be closed.

To check your IP address, go to Settings > Wi-Fi (or Network), click on the gear button after your connected network and check the IPv4 Address.

permalink

Ji m

I’m a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to remind me outdated tutorial! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via [email protected] Buy me a coffee: https://ko-fi.com/ubuntuhandbook1

Источник

Ищу производительный HTTP файловый сервер

Сейчас пока работает всё через vsftpd, но минусы его в том, что работает по ftp протоколу, однако скорость отдаёт ту, что должен (тобишь максимальную скорость отдачи, а не как WebFS. Урезанную. ).

  • SimpleHTTPServer на Python (Ложится при использовании на synctube, не демон)
  • WebFS (низкая скорость отдачи, вместо 10-12Mb/s — 3-4)
  • И другие. Уже не припомню.
Читайте также:  Linux только уникальные строки

В общем, нужен простой файловый сервер «для дома» Критерии:

  • «Нативность» (Не HFS, ибо через Wine работает)
  • Выдавал список файлов из нужной директории
  • Желательно, поддерживал кириллицу и другие спец.символы адекватно (у WebFS промах с этим)
  • Отдавал нормальную скорость
  • Был «демоном»
  • Отдавал прямые ссылки на файлы

+ такие фишки как смена шаблонов и прочее, крайне приветствуются 🙂

Буду благодарен за любую информацию. Если можно быстро поднять такой сервер с помощью того-же апача или nginx, то буду рад мануалам.

ОС: xUbuntu 16.04 amd64 Ядро: 4.4.13-040413-lowlatency Ram: 8GB CPU: AMD A4-6300 3.7Ghz x2 

Думаю остальные характеристики вам ни к чему.

гугли в сторону fuse в частности sshfs

[N] app-misc/ofl ((~)20110721): Open file lister (replaces fuser and lsof -m) [N] dev-libs/go-fuse ((~)0_p20150422): native bindings for the FUSE kernel module [N] dev-perl/Fuse (0.16.1): Fuse module for perl [N] dev-python/fuse-python (0.2.1-r1): Python FUSE bindings [N] dev-python/llfuse ((~)1.0): Python bindings for the low-level FUSE API [N] media-gfx/gphotofs (0.5): FUSE file system for interfacing with digital cameras using gphoto2 [N] media-gfx/slic3r ((~)1.2.9-r2): A mesh slicer to generate G-code for fused-filament-fabrication (3D printers) net-fs/curlftpfs (0.9.2-r3@19.11.2014): File system for accessing ftp hosts based on FUSE [N] net-fs/davfs2 ((~)1.5.4): Linux FUSE (or coda) driver that allows you to mount a WebDAV resource [N] net-fs/smbnetfs ((~)0.6.0-r1): FUSE filesystem for SMB shares [N] sys-fs/archivemount ((~)0.8.7): Mount archives using libarchive and FUSE [N] sys-fs/bindfs ((~)1.13.1): FUSE filesystem for mounting a directory to another location and altering permissions [N] sys-fs/clamfs ((~)1.0.1-r2): A FUSE-based user-space file system with on-access anti-virus file scanning [N] sys-fs/cloudfuse ((~)1.0): A FUSE filesystem for Rackspace's Cloud Files [N] sys-fs/copyfs ((~)1.0.1): fuse-based filesystem for maintaining configuration files [N] sys-fs/encfs ((~)1.8.1-r1): An implementation of encrypted filesystem in user-space using FUSE [N] sys-fs/etcd-fs ((~)0_p20140620): Use etcd as a FUSE filesystem [N] sys-fs/fur ((~)0.5): A RAPI (SynCE) based FUSE module [N] sys-fs/fuse-convmvfs ((~)0.2.6): FUSE file system to convert filename charset [N] sys-fs/fuse-exfat ((~)1.2.4): exFAT filesystem FUSE module [N] sys-fs/fuse-zip ((~)0.4.0): FUSE file system to navigate, extract, create and modify ZIP archives [N] sys-fs/fuse4bsd (--): Fuse for FreeBSD sys-fs/fuseiso (20070708-r1@19.11.2014): Fuse module to mount ISO9660 [N] sys-fs/go-mtpfs (--): a simple FUSE filesystem for mounting Android devices as a MTP device [N] sys-fs/jmtpfs ((~)0.5): A FUSE and libmtp based filesystem for accessing MTP devices [N] sys-fs/ldapfuse ((~)1.0): A virtual filesystem for FUSE which allows navigation of an LDAP tree [N] sys-fs/lufis ((~)0.3): Wrapper to use lufs modules with fuse kernel support [N] sys-fs/lxcfs ((~)2.0.1): FUSE filesystem for LXC [N] sys-fs/mhddfs (0.1.39): Fuse multi harddrive filesystem [N] sys-fs/mp3fs (0.91): a read-only FUSE filesystem which transcodes FLAC audio files to MP3 when read [N] sys-fs/mtpfs ((~)1.1-r3): A FUSE filesystem providing access to MTP devices sys-fs/ntfs3g (2016.2.22-r1@24.05.2016): Open source read-write NTFS driver that runs under FUSE [N] sys-fs/obexfs ((~)0.12): FUSE filesystem interface for ObexFTP [N] sys-fs/rar2fs ((~)1.22.0): A FUSE based filesystem that can mount one or multiple RAR archive(s) [N] sys-fs/rarfs ((~)0.1.1): Fuse module to mount uncompressed RAR archives [N] sys-fs/s3backer ((~)1.3.7): FUSE-based single file backing store via Amazon S3 [N] sys-fs/s3fs ((~)1.78): Amazon mounting S3 via fuse [N] sys-fs/simple-mtpfs ((~)0.2): Simple MTP fuse filesystem driver sys-fs/squashfuse (0.1_p20130530@17.01.2015): FUSE filesystem to mount squashfs archives sys-fs/sshfs (2.7@26.03.2016): Fuse-filesystem utilizing the sftp service [N] sys-fs/unionfs-fuse ((~)1.0): Self-syncing tree-merging file system based on FUSE [N] sys-process/fuser-bsd (--): fuser(1) utility for *BSD 

anTaRes ★★★★ ( 02.07.16 20:10:00 MSK )
Последнее исправление: anTaRes 02.07.16 20:12:23 MSK (всего исправлений: 4)

Читайте также:  Mount nfs linux login password

Это поднимается с того же nginx за две минуты практически дефолтным конфигом. Мануал на nginx.org.

Не-не-не. Не в ту сторону. Мне нужно чтобы всё работало по HTTP протоколу, грубо говоря, «с любого браузера и любого устройства». Думаю SSH — совсем не в ту сторону

меня одного удивляет что ТС среди всех имеющихся в мире веб серверов проигнорировал первые два популярных в мире? я читаю и вижу какие-то ноунеймы на которые он жалуется

это что, новый сорт хипстоты повалил?

Дык он не осилил их сконфигурировать, читай внимательно, где-то в конце.

Ищу свистоперделку, но то что вы посоветуете не то что мне нужно, потому какую свистоперделку использовать?

ага, а потом такие «ойтишники» идут на работу и начинается веселье.

Источник

Оцените статью
Adblock
detector