From Fedora Project Wiki
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 7: Line 7:
===The need you believe it fulfills===
===The need you believe it fulfills===
There are many excellent web hosting control panels out there: CPanel, Plesk and DirectAdmin are probably the best known. They cost, and the cost is justified by the fact that they work very well. Other good solutions are actually open source, but offer very long installing process (like ISPConfig).
There are many excellent web hosting control panels out there: CPanel, Plesk and DirectAdmin are probably the best known. They cost, and the cost is justified by the fact that they work very well. Other good solutions are actually open source, but offer very long installing process (like ISPConfig).
The idea is to produce a web hosting control panel which is both open surce and free to use and at the same time efficient and easy to use.
The idea is to produce a web hosting control panel which is both open source and free to use and at the same time efficient and easy to use.


===Any relevant experience you have===
===Any relevant experience you have===
Line 13: Line 13:


===How you intend to implement your proposal===
===How you intend to implement your proposal===
The idea is to provide a script which automatically installs the needed software and does the whole configuration. This script will come with a set of sub-scripts which will allow the user to add domain, emails, dns records and modify them as needed.
The idea is to provide a script which automatically installs the needed software and does the whole configuration. This script will come with a set of sub-scripts which will allow the user to add/remove/modify domains, emails, dns records, ftp accounts and databases.
In order to make it easily extendable, these sub-scripts will be stored in a directory tree and they will be retrieved according to the command used. In this way, to add new features it will be enough to add a sub-script into the correct path and the core system will remain unchanged.
In order to make it easily extendable, these sub-scripts will be stored in a directory tree and they will be retrieved according to the command used. In this way, to add new features it will be enough to add a sub-script into the correct path and the core system will remain unchanged. For this to be a useful project and to compete with other similar software it will be needed that other contributors will join the project at the end of this GSoC, for this reason I'll focus mainly on an easy structure which won't require a month of debugging from contributors in order to make a very little change.
 
The web interface will call these scripts passing them parameters taken from forms.
The web interface will call these scripts passing them parameters taken from forms.


===A rough timeline for your progress===
===A rough timeline for your progress===


From May 19 to June 20: coding the main script and the command line interface. By the 20 of June, the script will provide a working web hosting server and sub-scripts to add users, domains, emails and ftp accounts and to modify their settings. For each of these function, the related documentation will be realesed.
Week 1: main script. The main script will act as launcher for other sub-scripts.
 
Week 2: initial setup.
 
Week 3: users related scripts. Coding scripts to add/remove and modify users.
 
Week 4: domains related scripts. Coding scripts to add/remove and modify domains.
 
Week 5: databases related scripts. Coding scripts to add/remove and modify database.
 
Week 6: emails related scripts. Coding scripts to add/remove and modify emails.
 
Week 7: ftp related scripts. Coding scripts to add/remove and modify ftp accounts.


From June 21 to August 1: coding the web interface. By the first of august all the features added to the command line interface will be available through the web interface.
From week 8 to 11: web interface. Realizing an user friendly web interface.


From August 2 to August 18: writing documentation for the whole web hosting control panel. By the end of the Summer of Code, the web interface will provide an online help and a guide to extend the features of the command line interface will be ready.
Week 12: packaging.


===Any other details you feel we should consider===
===Any other details you feel we should consider===

Latest revision as of 13:34, 21 March 2014

Proposal

An overview of your proposal

The goal of this project is to provide an open source and free to use web hosting control panel which is compatible with Fedora. The project will be written mainly in Python (see suggestions below) and will consist in a set of scripts that allow the user to manage all the services and configuration. In addition to this, the project will provide a web interface served over HTTP, which will provide an user friendly interface to this set of scripts.

The need you believe it fulfills

There are many excellent web hosting control panels out there: CPanel, Plesk and DirectAdmin are probably the best known. They cost, and the cost is justified by the fact that they work very well. Other good solutions are actually open source, but offer very long installing process (like ISPConfig). The idea is to produce a web hosting control panel which is both open source and free to use and at the same time efficient and easy to use.

Any relevant experience you have

Since February 2013 I've started my own hosting company. Currently I use CentOS and DirectAdmin. I've tried many web hosting control panel both as user and as administrator.

How you intend to implement your proposal

The idea is to provide a script which automatically installs the needed software and does the whole configuration. This script will come with a set of sub-scripts which will allow the user to add/remove/modify domains, emails, dns records, ftp accounts and databases. In order to make it easily extendable, these sub-scripts will be stored in a directory tree and they will be retrieved according to the command used. In this way, to add new features it will be enough to add a sub-script into the correct path and the core system will remain unchanged. For this to be a useful project and to compete with other similar software it will be needed that other contributors will join the project at the end of this GSoC, for this reason I'll focus mainly on an easy structure which won't require a month of debugging from contributors in order to make a very little change.

The web interface will call these scripts passing them parameters taken from forms.

A rough timeline for your progress

Week 1: main script. The main script will act as launcher for other sub-scripts.

Week 2: initial setup.

Week 3: users related scripts. Coding scripts to add/remove and modify users.

Week 4: domains related scripts. Coding scripts to add/remove and modify domains.

Week 5: databases related scripts. Coding scripts to add/remove and modify database.

Week 6: emails related scripts. Coding scripts to add/remove and modify emails.

Week 7: ftp related scripts. Coding scripts to add/remove and modify ftp accounts.

From week 8 to 11: web interface. Realizing an user friendly web interface.

Week 12: packaging.

Any other details you feel we should consider

If it's not strictly required that this project has to be written in Python, I would consider Perl for the scripting part, which in my opinion comes in handy when it's time to deal with configuration files. But Perl's my favourite language, so my opinion may be impartial. :)

Have you communicated with a potential mentor? If so, who?

Yes, I've contacted Eduardo Echeverrìa.