ProFTPd might be removed from Virtualmin 8?

So:

  • Virtualmin Full = web hosting (PHP + Perl + Python + Ruby), database hosting, DNS hosting, email hosting + scanning and FTP
  • Virtualmin Mini = web hosting (PHP + Perl + Python), database hosting, DNS hosting and email hosting
  • Virtualmin Micro = web hosting (PHP + Perl + Python), database hosting and DNS hosting
  • Virtualmin Nano = web hosting (PHP + Perl + Python) and database hosting

May I suggest:

  • Virtualmin Pico = web hosting (PHP + Perl + Python)

Because Virtualmin does support externally hosted database connectivity very well indeed, let’s offer an option to users who run really low spec systems or use unusual hardware to install Virtualmin on such systems and the web apps hosted on Virtualmin can access remote databases.

A specific use case for the Pico would be to load Ubuntu on a mobile device, install Virtualmin and offer web access via hotspot to people in an area which has no internet and no electricity, so that they can access content that has been loaded on the device .

1 Like

I feel like if we’ve got four (or more) sizes, the biggest two ought to have FTP. I think Ilia is (wildly) underestimating how many of our users use FTP. I haven’t touched it in 25 years, but it’s still very popular in web hosting contexts. And, all the arguments against using it have disappeared as ProFTPd supports both FTP over TLS (ftps) and ssh FTP (sftp) and also handles chroots in a more graceful/simply/safe way than chroot jails for users who need that kind of isolation.

1 Like

So a Virtualmin Standard between Full and Mini. E.g.

  • Virtualmin Standard = web hosting (PHP + Perl + Python + Ruby), database hosting, DNS hosting, email hosting and FTP

It makes no sense to have antivirus on anything except the beefiest of systems.

But antispam should be included in the Standard Virtualmin offering, I feel.

All together then:

  • Virtualmin Full = web hosting (PHP + Perl + Python + Ruby), database hosting, DNS hosting, email hosting + spam filtering + virus scanning and FTP
  • Virtualmin Standard = web hosting (PHP + Perl + Python + Ruby), database hosting, DNS hosting, email hosting + spam filtering and FTP
  • Virtualmin Mini = web hosting (PHP + Perl + Python), database hosting, DNS hosting and email hosting
  • Virtualmin Micro = web hosting (PHP + Perl + Python), database hosting and DNS hosting
  • Virtualmin Nano = web hosting (PHP + Perl + Python) and database hosting
  • Virtualmin Pico = web hosting (PHP + Perl + Python)

OK, now we’re getting silly.

If we’re doing six versions we need to just make it fully customizable at install time. There is a (huge) support cost to adding even one extra choice to anything, but especially the installation, which is the user’s first experience with Virtualmin.

So, I’m still ambivalent about how we do any of this and how we avoid a bunch of confused users installing and finding out that smaller versions don’t include everything they wanted (we still get that occasionally…installed minimal, and then confused why features are missing).

You are right, Joe, but here is another idea with two additional options to the six above:

  • Virtualmin Web Optimized = web hosting (PHP + Perl + Python + Ruby), database hosting, DNS hosting and FTP
  • Virtualmin Mail Optimized = email hosting + spam filtering

Both intended be used on two different Virtualmin servers to service the same customer / domain. Web server performance is a selling point and a web optimized install of Virtualmin, without mail and antispam getting in the way of TTBF, will be an attractive option to Virtualmin users. To compliment the missing parts, there is the mail optimized install option.

That begins to look like a different product, at least for new users unfamiliar with all the components and how to split them up. At the very least we’d need new documentation targeted at new users for splitting mail and web in that way (and the tools for managing that kind of deployment are currently mostly in Cloudmin, rather than Virtualmin). Not saying it isn’t a good idea to offer a splittable system like that, but it’s far beyond the discussion I think we’re having about what installation looks like for people who don’t want to host everything on the Virtualmin system.

Also, there seems to be an assumption that a “web server” doesn’t need Postfix. But, most web servers need at least the ability to send email (whether it gets relayed or whatever outside the system or not), and Postfix is a reasonable way to do that. Virtualmin/Webmin also expects to be able to send email, somehow.

2 Likes

maybe I have been lucky to use powerfull (at least to me) servers all the time … I always install pretty much everything.

So — I could have missed something in the discussions – if you don’t use a module or software component, whats the harm or impact of having it installed?

Take ProFTPd – if its JUST installed, but in systemctl (I’m a RedHat guy) its not started and actually disabled, does it hurt anything?

But I do see the general point (the other side I suppose), as a sys-admin and from other points of view, of not having extra stuff just lying around if its not needed, known about, configured properly and running/available :smile:

Thank you, it seems I missed some news.

Obviously 6 Version would be silly. 4 Is way enough. If you have too much version you will lose several beginners.
Still seeing the different version. I think like @Joe FTP should also be in minimal.

If I give my opinion I would say:

  • Full: Mail should only be in Full. Because spam and antivirus scanning shall be with it too. And I don’t see another feature to remove from minimal.
  • Mini: The mail stack with spam and antivirus would be removed together. But we keep everything else (So FTP)
  • Micro: would be the current Nano version.

More than 3 … Is it really a need ?.. I don’t know so I will stand behind the community.

Still a cpanel without DB management would seem strange. And even if you can tune a third party DB manager it’s always good to have one locally. I can’t see Webhosting without it (Me I’m using Virtualmin almost exclusively, for the DB management, and the auto-setup, but I’m probably not representative to the community).

Update: I also love the idea to get the selected package installed but i am not sure how this will work when we already have two stacks. this would be the best with no annoying request for a specific stack. i assume this will need a full rewrite.

I would prefer to keep the current Full and Minimal as it is and introduce a single one focused on the webserver. When we use the DNS the chances of using of email services are higher because the dns is now with virtualmin.

it is better to keep dns+email or none. as we already have minimal stack and disable option, a webserver stack includes Apache/nginx, MariaDB, PHP, Perl, and Python is only important stack i would recommend.

this will cover the needs of most users and one can always enable new features so it is better to keep a light stack. this will also prevent any conflict with the plan and packages included.

This will bring more users as most of us manage the dns via cloudflare, emails via outlook/workspace.

i also want to confirm that the minimal install doesn’t seems to activate the proftpd. is it really included or fixed?

1 Like

Yep, I like the idea of just one version and you’re able to select what you want/don’t want at install time… but… it’s not as “flashy” as saying “we have 27 versions of Virtualmin”… : )

I’ve been using the --minimal install with nginx, once I decided that I was no longer hosting email in addition to websites. It is lean and clean, and has everything needed.

–minimal still install postfix and other mail packages so we really need to review how we configure things and get a better control over package installation.

Remember what Joe said (above)…

Sounds like the system will need Postfix even on a small system…

If you want to be rid of Postfix, you’ll need to suggest an alternative way to send notifications from Webmin, password resets, cron reports, etc. A server has a bunch of things that want to send email, even if you won’t be receiving mail.

Postfix is tiny. 15MB resident on my systems for smtpd by itself, plus maybe another ~15MB for the other services involved in queueing and sending email. That’s almost certainly smaller than a PHP, Perl, Python, Ruby library spinning up to send email, and half the email libraries I’ve seen do something (often many things) wrong, and you’d be spinning it up for every web application and Webmin would have to have one, too. There may be smaller smtp clients written in a low-level language, as Postfix is, but then we’d have to teach everyone how to use it and write code to support it. And, we have to figure out if they support DKIM signing somehow, maybe via milter support maybe something else, I don’t know, it’s just not a thing I’ve ever thought we needed to look into, because I’ve never seen Postfix as a problem to solve. I also don’t view ProFTPd as much of a problem, it’s also pretty small and efficient compared to all the high level language stuff running on most web servers. Unlike, say, ClamAV, which is huge and very resource-intensive. That obviously needed to be a thing a user could avoid, once it grew to hundreds of MB (it’s 1GB+ now).

Anyway, it’s possible to setup everything to use APIs to send email, but again, the high-level language libraries to talk to those APIs are probably going to take more memory than Postfix in a basic configuration.

I guess what I’m asking is: What problem does removing Postfix solve? And, how do you think we (Webmin and all the other things on a server that may need to send email) should send email without it?

If the answer is “I’m not going to send any email, I don’t need Webmin notifications, password resets, cron errors, etc.”, that’s fine, but I don’t want to impose that limitation on Virtualmin users, in general, even for those on small systems, as it’s quite a big limitation to recover a tiny amount of memory.

2 Likes

i think i understand how important is to have postfix now. i was not aware how important postfix would be for majority of users. my idea was to remove email services package and not actually the sending system related emails.

i also thought a simple smtp form or api way could have better but i am wrong and now i think it is perfect as per the current packages included.

my only concern was to not include Email and DNS service in new stack however i also not want to disable/not use system and account related emails. i was wrong about the postfix. You know better and i think any decision by you would favor everyone in long term.

It used to be quite simple to send email without a proper mail server like Postfix. It still is, theoretically, the SMTP protocol is still stupidly simple. But, if you want the mail to actually arrive in someone’s inbox, you probably need a few things setup. At least a PTR that resolves both ways, valid SPF records, and, often these days you also need DKIM signing.

Many people punt and pay for services like Amazon SES, Mailgun, Sendgrid, etc. to send email. And that’s a perfectly valid choice. But, we like to default to providing the tools to self-host everything. Email is becoming a thing more people want to outsource, but I think it’s actually harder to use than having a properly configured local mail server for sending in many cases. Every web application and and everybody who’s been working on the internet for any length of time knows how to use sendmail (the mail injection client that’s included with Postfix, not the MTA Sendmail that serves the same purpose as Postfix) to send email. Most apps and most people need some extra effort to make it use an API (though some also offer an SMTP relay interface, still takes extra configuration).

1 Like

i never seen someone like you understand these critical things.

i have very little knowledge so i might put something that only favors me or a small set of users. Please do the best what could be for everyone.

i wish virtualmin replace cPanel and plesk. these two panels are in toxic hand.

The reason most of us install Virtualmin is because this stuff IS there. At some point you have to ask yourself if you really NEED Virtualmin if you find all of this stuff troublesome.

Seriously, this IS the point of Virtualmin in the first place.

1 Like