Frequently Asked Quesitons
Q. What is FlexCP?
A. FlexCP is an open source web hosting control panel for Unix-like systems that is comparable to CPanel.
It allows complete automation for all hosting related tasks such as creating users so they can manage
their own email accounts via a highly skinable front end that can be accessed by any web browser. It is
comprised of two separate pieces, a back-end daemon and a web front-end. It is developed in PHP and is
designed to be portable. It is in large part a rewrite of web://cp.
Q. Why was it decided to rewrite web://cp?
A. FlexCP was planned to fix some of the limitations in the original web://cp project. The web://cp project
was a very functional package. However, being the first attempt of a
free full featured hosting control panel and only having one full time developer, some design decisions
were made in the the name of expediency rather than best practice. It suffered from some limitations such
as complexity and lack of modularity. It also lacked error checking, and many advanced features such as
support for virtual users. The inherent way it was developed made it hard to add these important features. It was
decided that it would need either a major overhaul or a complete rewrite. When the vote was taken we decided
to do a rewrite and allow the current version of web://cp to continue to be developed separately.
Q. Why is the front-end separate from the back-end daemon?
A. The back-end daemon runs as a root user and takes care of enacting
all administrative changes on the server. The front-end authorizes with the back-end and sends it
commands over sockets. The web front-end is built atop a built-in php http daemon which serves the panel
on a specified port, which users can then interact with. This approach is very secure and scalable.
Q. Why is FlexCP written in PHP rather than (C, Java, Python, Perl, etc.)?
A. The choice of language really comes down to the best language for the job. Since large
portions of FlexCP are web based, a language that would integrate closely with that offers some
desirable advantages. Also we decided to avoid languages that are compiled to make it easier to
maintain packages and keep the code portable. As far as we know PHP is available on all operating
systems that are commonly used for hosting. There is also a large developer pool of system
administrators who also know PHP. Lastly the original web://cp project was written in PHP
so a lot of code is already available and there isn't a persuasive enough reason to switch to
Q. Why not create a CD iso or distribution that automatically installs a FlexCP server?
A. FlexCP is designed to be portable and to be used on any type of UNIX-like operating system. We do
not want to create dependencies on specific packages or installs; but would rather add support for as
many OSs and server software as possible. We also do not want to maintain and upgrade packages for
software that is outside the scope of FlexCP itself. Therefor FlexCP will be a package to be installed
on an already existing system. It is possible that a related project outside the scope of FlexCP may provide such
a full install CD however.
Q. What are the main features that are planned for FlexCP?
- secure design
- fast and powerful templating system for the web front end
- controls user, client, domain, reseller, server, and multi-server aspects of shared web hosting
- configures web, email, ftp, database, mailing lists, DNS, etc.
- automates backups, restores, user management, quotas, cron, certs, etc.
- pluggable modules for extending supported services
- support for packages and feature sets
Q. How long will it take to make FlexCP stable and usable?
A. That depends on how many developers are interested in helping develop a free alternative to
commercial hosting control panels such as CPanel and Plesk. This is a voluntary project that is worked
on in the spare time of the developers. Without help it could conceivably take a very long time.
If you can't help personally but would like to sponsor some of the work then by all
means contact us and we'll tell you what you can do.