Internet File Server: What would you do?

Forum: LinuxTotal Replies: 17
Author Content
NoDough

Nov 01, 2007
9:52 AM EDT
Hello All,

Once again, I would like to tap your limitless wisdom concerning technical solutions.

My company has asked me to put up an Internet File Server. Our users regularly transfer 30MB+ files to/from third parties, and they would like a place to exchange those files.

The file server can be FTP, HTTP, or other, so long as the third parties aren't required to load any additional software (which pretty much limits it to FTP or HTTP, AFAIK.) This server may sit outside my firewall in the DMZ, or behind the firewall with port forwarding.

The other requirement is that my users (company employees) must be able to manage the server. For example, they may need to create an account and password for a company with whom they wish to transfer confidential files. Or, they may need to upload files to a directory that is accessible anonymously. This requirement is actually a head-scratcher for me, because most of these users don't know FTP from HTTP from ManIGottaP. Therefore, the management interface must be highly intuitive.

What would you do?
dinotrac

Nov 01, 2007
10:04 AM EDT
Whatever you decide on, avoid plain-vanilla ftp unless you're planning to put up an anonymous-access server - which doesn't sound like the case.

The reason for this is that ftp sends a plain-text password.

My personal favorite is scp/ssh, though I believe that requires Windows users to add additional software. Never mind that WinSCP is a marvelous little free utility that makes managing remote files a very simple and Windows-friendly process.

At least with http, you can go https...but I don't have any experience setting that up for a file server.
jdixon

Nov 01, 2007
10:18 AM EDT
What Dino said. :)

It looks like you need a secure http server with a web based interface for creating user accounts. Maybe something as simple as apache and webmin, but I don't have any experience setting up servers (other than on a personal level on occasion, just to see if I could do it), so I can't say for certain. I'm certain that many of the content management systems out there would also let you do what you want, but most of them are probably overkill.
techiem2

Nov 01, 2007
10:31 AM EDT
You might want to look at ByteHoard. I played with it a bit a while back and recall it being fairly nice.

http://www.bytehoard.org/v5/index.php?page=main
Abe

Nov 01, 2007
11:57 AM EDT
@NoDough,

I think I have the perfect solution for you. :)

I am not sure how much effort you want to spend on putting an Apache server together, but It takes 15 minutes using XAMPP on a Linux machine and installs PHP, Perl, MySQL and bunch of other stuff. You can find it here.

http://www.apachefriends.org/en/xampp.html

There is a package of software called "Relay: Ajax Directory Manager". It uses AJAX, PHP, Perl, etc, which are automatically installed by XAMPP, that will do all you need done. There is a neat demo at the link below. Give it a whirl to see how it works. I think you will like it.

http://ecosmear.com/relay/

http://ecosmear.com/relay/wiki/index.php/Main_Page Docs

http://websitegadgets.net/?cat=10

http://www.downloadsquad.com/2006/06/29/relay-slick-web-base...

I am in process of utilizing it myself and if you need help in the near future let me know.

-Abe

NoDough

Nov 01, 2007
12:17 PM EDT
Relay and ByteHoard both look like really good solutions.

I briefly considered setting up a Samba server on the web, but I think everyone who needs to use it will probably be unable to access those ports (firewalls.) WebDAV is another possibility, but it seems to be a dying technology.

I'll continue my research and let you know what the final ends up being. Right now the suggested solutions are the front runners.

Thanks for the suggestions.
wjl

Nov 01, 2007
12:36 PM EDT
NoDough,

maybe you should consider a good CMS like Plone or Typo3 for your users - they make the 'business logic' and the 'workflow' so much easier to handle - as well as user permissions for your colleagues. You could even try Wordpress for that, should the ones mentioned above seem to be too much.
dinotrac

Nov 01, 2007
1:09 PM EDT
>Plone

....Zope....

bad, bad memories...

HELP ME!!!!!!!!!!!
azerthoth

Nov 01, 2007
1:26 PM EDT
Sorry Dino, from (faulty) memory, where you are living you have better odds of getting an intervention than anything actually useful or productive.
jdixon

Nov 01, 2007
1:40 PM EDT
> ...bad, bad memories..

Now Dino, you knew that stuff could cause flashbacks when you took it in college. :)
herzeleid

Nov 01, 2007
1:57 PM EDT
We set up a server at my company awhile back for the purpose of exchanging data between external vendors and internal departments. It's a linux box running vsftpd, and it's been rock solid and convenient.

FYI to the person who complained about plain text passwords, vsftpd and other ftp servers are fully secure ftp capable. In fact you can lock them down to use only secure ftp, but many of our clients want normal ftp, so it varies from customer to customer.

sftp/scp are possible, but in my organization, they do not want to allow wide open shell access from the internet, so they are sticking to the ftp protocol.

There are webmin modules and other 3rd party addons, that a newbie or a suit can use to administer linux ftp servers, be they pure-ftpd, vsftpd, or proftpd.

Abe

Nov 01, 2007
4:15 PM EDT
Quoting:maybe you should consider a good CMS like Plone or Typo3 for your users
CMS are good, but the need is a basic file transfer. Why do more than what is necessary or needed?

I like Relay because it is very user friendly. It is like browsing a local directory tree. It gives you file info. just by highlighting it. It could be a drag and drop, uses AJAX so no page switching or refresh is necessary. It optimizes network transfer by compressing and combining multiple files into a single zip file before it is downloaded.

Having said that, Herzeleid suggested a secure FTP server like vsftpd & proftpd, it is a good idea and both are secure and good. Along this FTP server, have users use FireFox with FireFTP add-on (Window users get to use FireFox :) ). FireFTP also has account security and permissions and it is a file manager similar to Kongueror. It retains your account information and keeps a profile between multiple sessions. You can set it to not expire your session but keep it alive until you specifically terminate it. Hec, users can even use Kongueror to upload/download if they have Linux with KDE.

herzeleid

Nov 01, 2007
8:23 PM EDT
Also, on the client side, filezilla is a great client for ftp/ftps/sftp

hkwint

Nov 02, 2007
4:40 AM EDT
Indeed, I heard from a mainly Windows users Filezilla is quite good, and you don't have to 'install' it on the harddrive, you can use it from USB without changing any file on your harddrive:

http://portableapps.com/apps/internet/filezilla_portable (It's a portable app if you're familiar with the term)

It's also possible to let the users make new accounts by letting them placing files in a certain dir and scanning that dir every minute with a script that 'interprets' the filenames. A while ago, we made a Linux gameserver + pureftpd server. In the user-FTP spaces, the game-mods resided; and we made a dir with 5 files which all were related to one game-server-process: The files served as a kind of 'flags'. The (Windows using) end users could remove those files, and if they removed the file, the corresponding gameserver was restarted (which was needed if they upped new mods for their games). That way, we didn't need to restart their gameserver (process) if they changed their mods or the gameserver hung (usually the games were written primarily for Windows). It worked really good; the end users told us, and it seemed they were happy.

However, reading your needs, I suggest you use the MySQL plugin for your ftp program to enable managing user accounts. I'm not up to date with this, so I suggest you Google for it:

[url=http://www.google.nl/search?q=mysql vsftpd]http://www.google.nl/search?q=mysql vsftpd[/url]
NoDough

Nov 02, 2007
5:15 AM EDT
Lots of great suggestions. Thanks.

After a late night of installing and trying various options, I've decided to go with Relay. It's easy to use and at a stable release.

ByteHoard looks good as well, but is still in the development cycle.

FTP solutions are good, but my users need something as simple as possible. To give you an idea; when these users call with a problem and I ask what their user name is, they don't know it. All they know is their password because their user name is filled in for them when they login. If someone else uses their machine, I get a call complaining that their login no longer works.

So, for simplicity's sake, I chose to go with Relay.
jdixon

Nov 02, 2007
7:47 AM EDT
> If someone else uses their machine, I get a call complaining that their login no longer works.

And here I thought I was the only one who had that problem. :)
NoDough

Nov 02, 2007
9:26 AM EDT
> And here I thought I was the only one who had that problem. :)

When I do administrative work on a Windows PC, while still logged in as an administrator, I open regedit, search for the value 'DefaultUserName', and change it back to the username of the machine's regular user. That way, I avoid that stupid call.
herzeleid

Nov 02, 2007
10:23 AM EDT
Quoting:So, for simplicity's sake, I chose to go with Relay.
Looks interesting, I'll have to check that out and add it to my list of cool suggestions.

You cannot post until you login.