I'm looking for a free alternative to manage personal sites (php/apache/mysql support) with the ability to configure DNS.

it should be VERY light weight and optimized.

I tried many panels especially kloxo, and i was disappointed, too many bugs and random crashes of the whole server.

Remember, i dont want any ticketing system or payment system or ability to install CMS by one click. Most important is an upto date product with strong community for regular updates and support.

I tried googling for hours and I came with a big list, so i am confused..

Accepted Answer

Virtualmin

The Good

It creates the web sites as I would create them. It puts them in the home directory, create a user/group for them. Sets up FTP/MySQL/more. Allows extensive customization: for example, I set up the websites to use chronolog and shorten the amount of time it takes to logrotate.

The resources

After an install (which includes Apache, BIND, MySQL, SpamAssasin, ClamAV, dovecot, and postfix. The memory usage of the entire server is about 500MB RAM (in an OpenVZ container after a reboot). The installation does not start any additional services, so in a memory constrained environment, you may want to disable them BEFORE restarting.

After disabling features in the setup, it still starts many unneeded services like SpamAssasin, mailman, postgreSQL, and more at startup. You can disable these using either the distribution tools or the "Services and Startup" portion of the interface. After a little tweaking I usually get the Memory Usage down to ~200MB (in OpenVZ containers) before giving MySQL about 33% of the RAM (usually at least 1GB containers).

Usage below 200MB is certainly possible-- also note that OpenVZ is a little wierd when it comes to memory

The integration

Virtualmin/Webmin manage the configuration more than anything else. Every Virtualmin server I set up feels like it can run without virtualmin (although I haven't tried it). In Ubuntu (maybe Debian as well)-- the apache configuration are placed in /etc/apache2/sites-available and /etc/apache2/sites-enabled. Usually every option in the interface corresponds to a configuration file that Virtualmin just helps you generate. It doesn't blindly override most files (like apache). If you make a modification, it'll notice and try not to botch it.

Things to know

  • One of the first things you may do is set up the Directory Restriction features so that users get chrooted to their home directory
  • If using Ubuntu 10.04 and fastcgi, you'll need to pull the new apache2 fcgi package from the updates repository to avoid an upload bug.
  • The subaccount usernames could be better: cPanel uses user@domain.com for FTP/WebDAV and domain_user for MySQL usernames/databases. Virtualmin allows you to choose one or the other: not both. The users Virtualmin creates in MySQL end up being truncated (instead of "some-user@my-domain.com" you get "some-user@my-dom" with nothing in the Virtualmin interface telling you that it did this). You can just manage your MySQL separately and have Virtualmin import it.
  • New account names seem to default now to the entire domain name. I'm not a fan of it, but at least its configurable.
  • Virtualmin stores account passwords in plain-text. It does this so that it can manage accounts in several different systems that don't have a unifying password format-- its understandable, I still use it because all of the passwords are just randomly generated and internal only (no emails on virtualmin boxes)
  • The webmin.pl file seemed to crash a bit last year. I haven't encounter it in a while, but its non-critical compared to apache and such. In fact, It'd be nice if it only started on-demand.

Overall

It saves me time, even with all of the options I need to tweak. It works with more operating systems than most control panels. They have their own repository, so the update-system integrates well with the operating system.

Written by Reece45
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki