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"


ADMIN Interface

New Resellers
Resellers Plans
Payments Gateways
Resellers Support

RESELLER Interface

New Users
Hosting Plans
Payments Control
Stats by Domain

USERS Interface

Mail / FTP Accounts
Subdomains, redirections
DB creation

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:

















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-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 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:

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.


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.


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

Domain details

Web Statistics
Account details


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
Point email
Pointed emails
Delete pointed email


Site Backup

FTP account

Create account
List accounts
Modify account
Delete accounts

Mail accounts

Create account
List accounts
Modify account
Delete accounts


Create database
Databases list
Change password
Delete Database

Mailing lists

Create List
Delete list

Payments center

Pay with Paypal
Pay with CuentaDigital
Pay with DineroMail
Payment Notification


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 and in second case

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