setup a linux "file server" using my own hardware for a small group of user
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
setup a linux "file server" using my own hardware for a small group of user
I want to try to setup a linux file server (just to try out if it work and if i can handle it) for a small group of people .
The GOAL is a good (good means security wise, acceptably easy to setup and maintain ..etc) server that i can share the files ( in the server hdd) to be download by people who need it via client software (winscp, or dolphin file browser using "webdavs").
I have extra unused Dell Optiplex 750 laying around in cellar.. hence i want to make it as file server for only a couple of people to access. Those people who access the file server will have to use gui client such winscp to access.
Just put the "server at home, using coaxial network cable provided by network cable tv (which i suppose is also dynamic ip addressing).
I browsed the internet for opinion, which is best to pickup (i don't want to go thru several softwares)_.. i just want to get the right one and learn to setup it
However, the search result is confusing to me:
the result yielded:
1. linux os
2. Samba Linux File Server
3. Node.js
But "Node.Js" does not sounds like a file server.. more like complicted javascript server or something. surely nothing i can handle.
Quote:
is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser.Wikipedia
Anybody can brief me a bit why the result is so "not to the point " ?
Is there are are several types of file server ? or even there are linux os which is a file server by design ? etc..
Or maybe it is not called file server, maybe it is called database or something...
thx
I want to try to setup a linux file server (just to try out if it work and if i can handle it) for a small group of people .
Excellent. I would say there are three main approaches to choose from,
1) If those in your group are all running GNU/Linux or one of the BSDs then they can access SFTP via the file manager (such as Dolphin, PCManFM, Nautilus, etc) directly, graphically. In that case, all you need is OpenSSH plus an account for each member.
If they are using MacOS and are power users, then Homebrew will have a lot of packages which support SFTP. Otherwise, they are limited to CyberDuck, Fugu, and/or FileZilla.
If they are running a legacy OS, say Vista10 or Vista11, then they are limited to CyberDuck or FileZilla, with the SFTP approach.
The advantage of using SFTP is that it is by far the simplest and, with the use of either SSH keys or SSH certificates, highly secure and can be used over the Internet.
2) If you are wed to SMB though then you will need to set up a VPN for your group so that they may somewhat more safely log in over the Internet. In that case you would add either StrongSwan, WireGuard, or OpenVPN to Samba. Otherwise, without the VPN they may only use Samba over the LAN.
3) NextCloud shoehorns^Wruns everything in the browser. There are a lot of limitations but one advantage that way is familiar for many these days.
Of the three, my preference would be strongly the first option above, SFTP.
Excellent. I would say there are three main approaches to choose from,
1) If those in your group are all running GNU/Linux or one of the BSDs then they can access SFTP via the file manager (such as Dolphin, PCManFM, Nautilus, etc) directly, graphically. In that case, all you need is OpenSSH plus an account for each member.
If they are using MacOS and are power users, then Homebrew will have a lot of packages which support SFTP. Otherwise, they are limited to CyberDuck, Fugu, and/or FileZilla.
If they are running a legacy OS, say Vista10 or Vista11, then they are limited to CyberDuck or FileZilla, with the SFTP approach.
The advantage of using SFTP is that it is by far the simplest and, with the use of either SSH keys or SSH certificates, highly secure and can be used over the Internet.
2) If you are wed to SMB though then you will need to set up a VPN for your group so that they may somewhat more safely log in over the Internet. In that case you would add either StrongSwan, WireGuard, or OpenVPN to Samba. Otherwise, without the VPN they may only use Samba over the LAN.
3) NextCloud shoehorns^Wruns everything in the browser. There are a lot of limitations but one advantage that way is familiar for many these days.
Of the three, my preference would be strongly the first option above, SFTP.
Your "execllent" is such a good encouragement for me. Thank you for being supportive.
So far i know there are win7, win10 , and mac user in the group that i am aiming to serve, none of them are power user, they just know clicking gui buttons (i speak truth here). I myself using Manjaro. and i am trying to learn to be poweruser or cli user.
I dislike using service provided like dropbox, or google drive or any cloud service provider.. I like to be independent of all those providers..
Hence with above criteria, i think Nextcloud is out already..
Oh ya.. the transfer have to be on secured protocol that is encrypted..
I Used to (years ago) using ftp server software (just a small program on windows os) to share files... it is as simple as clicking drop box.. and setup user account...
Now, Internet is no longer as secure.. hence i need encrypted secure transport...
Can you please tell me what is the thing i need and what they are called ? at least i know what to search on the web (to the right direction).
NextCloud is AGPL, and would be my second choice out of the three above. It would run fine on the hardware you have in mind. There are instructions somewhere on how to set it up with TLS over HTTP (thus HTTPS) on a machine of your own. However, their official page is obviously steered towards their own subscriptions. It doesn't require a lot of hardware:
Others here are more familiar with it, as I only looked at it briefly on two occasions both a while back. It's not too hard to set up, but might take a little practice.
Oya.. recalled Nginx can also serve files via browser, right ?
*just asking* it is possible to setup Nginx (which is webserver, but i don't want to make html webpage for it) to serve files in browser ?
It is definately safe as it can serve file via Https. But is it difficult to setup (to just serve file the most basic way) ?
NextCloud is AGPL, and would be my second choice out of the three above. It would run fine on the hardware you have in mind. There are instructions somewhere on how to set it up with TLS over HTTP (thus HTTPS) on a machine of your own. However, their official page is obviously steered towards their own subscriptions. It doesn't require a lot of hardware:
Others here are more familiar with it, as I only looked at it briefly on two occasions both a while back. It's not too hard to set up, but might take a little practice.
Oh.. nextcloud is an open license software .. oh sorry, i thought it is just a cloud provider like google drive ..
Nginx can serve files for download. If you add in a web-based file manager, then I suppose uploads are an option.
Myself, I am quite lazy about it and the least effort (while also being the most secure) is SFTP which is part of OpenSSH-server. If your Windows/MacOS group does not mind using CyberDuck or FileZilla then that would be the path of least resistance.
NextCloud would be second choice. Yes, it is Free and Open Source, but they also sell a lot of services around that software. So you could hire them to set it up for you and run something similar to the other online services. But again its not too hard to set up on your own system. It's ok to erase things and start over, especially at the beginning when testing your backup procedure. During that process it will become more familiar.
(By the way, the Vista7 holdout might be interested in Linux Mint, it would be a big step up in regards to ease of use, functionality, and security.)
Last edited by Turbocapitalist; 01-03-2022 at 07:33 AM.
Reason: sftp llink
I assume you have a public IP address and have access to the gateway (router etc) setup to be able to forward the desired port(s) to the server?
Also assuming you have a dynamic IP address you can sign up with a free dynamic IP service like no-ip to be able to always access your server with a URL regardless if your IP changes. Many routers have a dynamic IP service built in now days or you can run a service on the computer to update your IP address when it changes.
With sftp, a regular user does have the capability to browse the entire directory tree with read only permissions otherwise you can chroot them to a specific directory.
There are actually a wide variety of "network file systems." Microsoft's SMB is well-known and is well-supported by "Samba," but there are many other choices including NFS-4. Furthermore, you will discover that most operating systems – Linux, MacOS, Windows, big iron – actually know a lot about these "other" alternatives.
It appears the OP wants to share files over the Internet unless I misunderstood the question so samba and nfs are not really good options.
@michaelk I won't be posting on this thread so frequence.. I need to digest a lot of "names" (softwares) mentioned on these posts.. hence will only post when i got stuck somewhere.
I have a feeling i won't be able to return to this thread for a short while.. because i just updated manjaro kde again.. ya.. updated manjaro (because the pacman database on my system was "out of date" hence i can't even install ufw..forcing me to do pacman -Syu). After system update, my mpv broke. now i can't use smplayer anymore.. It was totally fine before upgrade.. hence i need to solve this issue first, because i need mpv and smplayer.. i use them to watch youtube video everyday (a deep learning curve on linux). sigh!
Rolling release linux is also a bad choice for even a 2 years old linux newbie.. i really need to get ubuntu or debian.. all these broken due to upgrade is too time wasting..
Should i just leave the post open like this ? or should i close it and open new thread after i get my head untangled ?
**i asked just to be polite to the forum way, because this is indeed the friendliest forum i ever get into in linux world**
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.