From Fedora Project Wiki

< GSOC 2014

Revision as of 15:10, 20 March 2014 by Itamarjp (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Abstract

Web hosting control panels allow administrators to easily manage web servers in many different ways. Current control panels have many limitations, such as restrictive, non-free licenses, confusing interfaces, are outdated, or are hard to install. The purpose of this project is to create a community-driven control panel without such limitations, and to provide the user with an alternative choice. One key idea is that this project will help bring more users to Fedora in the future.



The purpose of this idea is to write a webhosting control panel, 100% compatible with Fedora and Enterprise Linux, written in python and licensed under a GPL compatible license.

The control panel will be able to add/remove domains, manage apache, ftp, postfix email with dovecot(imap, pop3s, smtps) , dns, mysql, phpmyadmin, and will have roundcube as webmail.

Detailed Description.

This project will be done in 2 parts.

Part 1 -> a webpage to add records into a database, when a email account is created a record will be inserted into database, when another mail account is removed the record will be deleted from database.

Part 2 -> scripts to complete the tasks in linux, for example, one script will read the email accounts table and adjusts the postfix settings to make the email account works.


at this first stage only mysql will be supported, postgresql support can be addded later.

for postgresql support in the future the plan is to include postgresql-server + phppgadmin + bucardo( if customer want replication ).

Importance

alot of people are hosting websites into the cloud (amazon, linode, rackspace and others). People need a free and easy to install control panel, just yum and pray and you're done.

What do we need to do?

1 - write a database schema, and make a webpage for it.
2 - write scripts to read the database and perform the tasks on Linux.
3 - make the webpage communicates with the scripts for automatically setup.
4 - package it and make it available into fedora/fedora epel respository's

Proposed Schedule

Preliminary: Research and explore feature ideas.
Week 1: Continue research. Create a project repository in fedorahosted.
Week 2: Design a database schema
Week 3: draw up a basic interface of how the web panel should look as well.
Week 4: write a webpage for the database according with layout designed in previous week
Week 5: make sure webpage works, test it, fix bugs
Week 6: write scripts to setup apache, ftp, create email accounts etc..
Week 7: make sure scripts are working, test it, fix bugs
Week 8: make webpage communicates with the scripts and setup the things automatically.
Week 9: start packaging it for fedora and fedora-epel
Week 10: submit it for review
Week 11: get it approved.
Week 12: Launch it.

About me

My name is Itamar Reis Peixoto and I am a student of Computer Science at the Instituto Federal do Triangulo Mineiro - Uberlandia, Brazil. I am one of the Brazilian Ambassadors as well as a package maintainer. As ambassador, I have attended Fudcon Panama, and am responsible for having Fedora release parties in my city. I have been involved with the Fedora community for a long time, and I feel that I could help improve Fedora with this project.

Contact Information

Name: Itamar Reis Peixoto
Email Address: itamarjp AT fedoraproject DOT org
Telephone: +1 941 870 1670
Blog URL: http://itamarjp.blogspot.com
Freenode IRC Nick: itamarjp

Why you should choose me ?

Why do you want to work with the Fedora Project?

Because Fedora Project is made by people, and I can be part of it and help improving it.


Do you have any past involvement with the Fedora project or any other open source project as a contributor?

yes, I made some contributions to xrdp project, mydns, and others


Will you continue contributing/ supporting the Fedora project after the GSoC 2014 program, if yes, which team(s), you are interested with?

yes, I am member of fedora since 2008, I would like to continue contributing in same teams as I do today (packager, ambassador, etc..)

Why should we choose you over other applicants?

Because I already a member of fedora project for more time than all others applicants togheter :-), oh yes, I am very confident.