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
Stats by Domain
Mail / FTP Accounts
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
- Courier POP/POP-SSL/IMAP/IMAP-SSL
- PHP 5.x
- PostgreSQL 9.x
- MySQL 5.x
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:
- A minimal DEBIAN system installed
- A domain name ready to be used as MAIN DOMAIN
- 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
- After installing all services required for web hosting are up and running: Web, mail, ftp, databases & primary dns.
- The administrator is the only one that uses the ADMIN interface.
- The administrator has also full access to main domain's RESELLER and USER interface.
- Let's say login username in this example is firstname.lastname@example.org. This user has access to the reseller interface and user interface for this first domain or "main domain".
- Mail account email@example.com and FTP account firstname.lastname@example.org are also created during installation and with the same initial password.
- The password for mail accounts may have alphanumeric characters and symbols "-" or "_".
- Database passwords are limited to 8 characters.
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
All menu options are very clear and easy to follow. This is a simple list of items and typical use examples.
Custom TXT record
Delete pointed email
Pay with Paypal
Pay with CuentaDigital
Pay with DineroMail
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.