GNUPanel - GPL Web Hosting Control Panel

Free Software from Argentina

GNUPanel is a GPL Web Hosting Control Panel for Debian GNU/Linux and derivatives like Ubuntu. It's been written and mainteined by Ricardo Marcelo Alvarez and Jorge Vaquero from Argentina.
First release was ready by the end of 2005. Ricardo was motivated to get a simple and efficient tool to run on Debian systems.
The need to use CPanel or Plesk, both the most popular options at that time, was completely and successfully avoided. There were some other free alternatives like Syscp by then but none so complete and developed in South America.
Currently and depite it's name including the term GNU this control panel is NOT an official part of the GNU system.
Ricardo has started a blog recently to host the last updated release of GNUPanel and to publish technical articles regarding his software. There is a chance to get funds for a complete rewriting of the entire code that would be GNUPanel 2.0.



1) Main Features

GNUPanel is written in PHP and especially created to fit Debian GNU/Linux servers on 32 or 64 bits versions. It works also on Ubuntu but from now on all references will be for Debian systems.
The entire configuration is stored in a robust PostgreSQL database.

This software includes different interfaces at different privilege levels: Administrator, Reseller and Users. Is a typical scheme for this kind of app. There is a fourth interface for individual mail account settings.
GNUPanel must be ALWAYS installed associated to a domain name called main domain because all URLs created will be related to that name.

NOTE: Admin, first reseller and first user are created during installation from the command line. The administrator logs in as "admin" but reseller and user get always into the system with the user/password defined during installation. Login usernames are ALWAYS like "USER@DOMAIN"


:: NEW INSTALLATION: WEB INTERFACES FOR THE MAIN DOMAIN

ADMIN Interface

New Resellers
Resellers Plans
Payments Gateways
Resellers Support

RESELLER Interface

New Users
Hosting Plans
Payments Control
Stats by Domain
Polícies

USERS Interface

Mail / FTP Accounts
Subdomains, redirections
DB creation
Stats
Payments

MAIL Interface

Personal Mail Accounts Access

Fig 1: GNUPanel listens on port 443 with SSL and it serves web pages through port 80.
The forth interface allows each user's mail account to modify password, setup redirections or auto responders.



:: List of ALL GNUPanel's default links:


ADMINISTRATOR

http://gnupanel.main_domain/admin

WEBMAIL

http://gnupanel.main_domain/webmail

RESELLER

http://gnupanel.main_domain/reseller

PHPMYADMIN

http://gnupanel.main_domain/phpmyadmin

USER

http://gnupanel.main_domain/usuarios

PHPPGADMIN

http://gnupanel.main_domain/phppgadmin

MAIL

http://gnupanel.main_domain/mail

WEB STATS

http://main_domain/gnupanel



GNUPanel makes it easy to perform any common task in order to manage domain names hosting including:

  • Mail & FTP accounts management
  • PostgreSQL & MySQL databases
  • Subdomain and mail redirections
  • Directory password protection
  • Three payment gateways
  • Support tickets
  • Web statistics
  • Compressed backup available for the domain name including DB
Todas estas funciones están disponibles gracias a distintos componentes de software libre:

  • Apache web server
  • PowerDNS
  • ProFTPd
  • Postfix
  • Courier POP/POP-SSL/IMAP/IMAP-SSL
  • Courier-authdaemon
  • RoundCube
  • Mailman
  • PHP 5.x
  • PostgreSQL 9.x
  • MySQL 5.x
  • PHPpgadmin
  • PHPmyadmin
  • Webalizer
  • Awstats


2) Description of GNUPanel system

Installing GNUPanel on a minimal Debian system means turn the server into a complete hosting server. The requirements to complete a successful installation are three:

  1. A minimal DEBIAN system installed
  2. A domain name ready to be used as MAIN DOMAIN
  3. The host NS1 created for that domain name to be used as primary DNS for the hosting server


NOTE:You can also get a server with GNUPanel pre-installed or follow the indications in Geeklab or check our YouTube channel to perform an installation.


:: Practical Example


Lets say we have already installed a Debian minimal system in our server (Debian Wheezy for gnupanel last stable version).

The installation of this control panel is based on a domain name called DOMINIO-PRINCIPAL.NET
Then we just need to create the host NS1 to be our server primary DNS and perform the installation of GNUPanel.

NOTE: The creation of host NS1 is done from our register administration panel (enom, godaddy, wildwest, etc). Host "NS1" must be pointed to the server public IP.
The complete hostname is:

NS1.DOMINIO-PRINCIPAL.NET ... x.x.x.x (server IP)

For secondary DNS we may use any free DNS service like freedns.afraid.org or our GNUPanel secondary server that provides the secondary DNS and a MX backup solution to support a temporary failure on main server. (This secondary server we provide runs in a different network for just $40/year).

In short our DNS servers are:

NS1.DOMINIO-PRINCIPAL.NET ---> server IP
NS2.DOMINIO-PRINCIPAL.NET ---> secondary server IP





Main domain MUST be DELEGATED to these DNS servers.


NOTE: The hosting system with all domains hosted will work using the primary DNS only but at least one secondary DNS will be needed to properly offer web hosting services.


THINGS TO HAVE IN MIND



3) Web Interfaces Hierarchical Scheme in GNUPANEL


The following graph shows the situation right after installing GNUPanel for the first time with 3 resellers. Each new reseller needs an exclusive IP address and host their own set of domain names independently from other resellers.



Post-installation

As first RESELLER is already created during installation the next step is to configure the hosting system.
Many times a server with GNUPanel is not used to sell hosting acounts to customers. A developer could use the server to build websites, test them and show the prototype to his clients for instance.
There are many possibilities creating hosting plans according to our needs.

¿Hosting plans will be free or they have a cost? ¿Is there a suspension policy for paid plans? ¿How much disk space and databases?
Once these decisions are made we go to the RESELLER interface to get the job done.

GNUPanel provides 2 payment methods included: Paypal for international users and Cuentadigital for Argentina.

4) An overview of User Interface

Menu Sections

All menu options are very clear and easy to follow. This is a simple list of items and typical use examples.

Main Menu

My account
Server status
User info
Customize sesion
Modify password
Language

Domain details

Web Statistics
Account details
Historical

Subdomains

Create Subdomains
List Subdomains
Edit Subdomain
Delete Subdomain
Create Redirection
Delete Redirection
Protect Directory
Unprotect directory
Custom TXT record

Parked domains

Point domain
Pointed domains
Delete
Point email
Pointed emails
Delete pointed email

Webtools

Site Backup

FTP account

Create account
List accounts
Modify account
Delete accounts

Mail accounts

Create account
List accounts
Modify account
Quota
Redirect
Auto-responders
Delete accounts

Databases

Create database
Databases list
Change password
Delete Database

Mailing lists

Create List
Lists
Delete list

Payments center

Pay with Paypal
Pay with CuentaDigital
Pay with DineroMail
Payment Notification
Payments

Support

New Ticket
Read answers
Pending tickets
Tickets history


A COMMON MISTAKE: Subdomain "www"
Uploading a website to the server means put all files inside directory "/subdominios/www" or inside ""/subdominios/_sin_subdominio/".

In the first case our web page address would be http://www.my-domain.com and in second case http://my-domain.com

We should get our visitor to reach our website writing or not the "www" so you should go to SUBDOMAINS --> CREATE REDIRECTION to point one url to the other.

Another useful item is the menu item SUBDOMAINS --> EDIT SUBDOMAIN that contains several settings like choosing UTF-8 as default for each subdomain, index or not, PHP safe_mode ON or OFF.

5) GNUPanel Demo Online

The following link shows a full demo of gnupanel 4 interfaces: admin, reseller, user and mail.

Demo Online