2

I run an FTP server to share documents between people. Less and less people know how to use an FTP client. Thus, last year, I added a web interface to make life easier for them. This web interface (net2ftp) still uses the FTP server in the background. Moreover, I have piles of hacks to add some features such as searching.

I am looking for a modern web application to replace this whole dying stack.

Requirements:

  • People should be able to intuitively browse/download/upload/search for files
  • 50% of the users still use FTP, mostly because CLI. Users should be able to use their CLI to upload and download files. They are advanced users so it does not need to be as intuitive as the web interface.
  • Configurable. Typically, I need to plug my own authentication interface
  • Good logging facilities. I have many scripts that will make stats and other stuff so I need to easily extract infos on what's happening
  • Everybody can see all files. Bonus if I don't have to patch the code to forbid private uploads
  • Under the hood, files must be stored in a very simple way (no git-like structure). When I backup the app/files folder, it should be enough to browse files. Not sure I explain it well, but uploading file test.pdf in folder foo/bar should result in test.pdf being written in foo/bar on disk (see clarification below)
  • Must be gratis and open source. We do non-commercial use (but I do not consider it personal use due to the number of users involved)
  • App must run on Linux server

Edit: clarification about the "Under the hood" requirement

  • The sysadmin of this system changes a lot
  • We have terabytes of data (mostly because very large files). Thus, we save each first-level folder on a different hard drive. I know it is not the most robust way to do things, but when someone else needs the backups in a few years, all I want him to do is to read the label on the hard drives to find the right one and find the required files there.
  • 1
    Are you OK with replacing FTP with the more modern (REST-based) protocol CMIS? It can be used via curl/wget/etc and is more documents-oriented than FTP – Nicolas Raoul Nov 1 '16 at 11:19
  • Ah, the "Under the hood" requirements rules out most possible solutions... are you sure you really need that? Nearly all document servers use their own format for cache efficiency and metadata. – Nicolas Raoul Nov 1 '16 at 11:21
  • @NicolasRaoul: It can have a separate cache and store metadata (who uploaded, when, ...) elsewhere (such as a db). However, I really need to have all "file data" in a human-readable form. – tykhp Nov 1 '16 at 12:02
  • One of the "related" questions (the list on the right) mentions monstaftp. – meuh Nov 6 '16 at 17:08
1

I suggest NemakiWare:

Fits:

  • Intuitive web interface to browse/download/upload/move/search for files/folders
  • CMIS interface, easy to use in scripts
  • Customizable to use your own authentication implementation
  • Clear log file
  • Open source
  • Runs on Linux/Mac/Windows

Misfits:

  • By default everybody sees everything, but actually users can change a document's right, and this is not easy to disable.

Kind of fits:

  • Under the hood, a NOSQL database is used. But actually, if you need filesystem access to the file, I believe your need is covered by using CmisSync to synchronize from the server to anywhere you want, on local or remote filesystems.

Disclaimer: I created CmisSync and work on NemakiWare.

NemakiWare and CmisSync

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.