Linode Library Home
Linode Library RSS Feed
Home :: Web Applications :: Control Panels :: DirectAdmin
Print View View Source

Installing DirectAdmin on Debian 6

Published: by


This document is an older, unmaintained guide. There may be a new guide available for this software.

DirectAdmin is a commercial web-based control panel for server systems. It can help ease the burden of common system administration tasks such as website creation, database deployment and management, and more. This guide will help you get up and running with the DirectAdmin control panel on your Debian 6 Linode. Please note that Linode does not sell DirectAdmin licenses; you'll need to obtain one directly from DirectAdmin or an authorized distributor. Additionally, Linode does not provide DirectAdmin support, although you may contact DirectAdmin support directly once you've purchased a license. This product should be installed on a freshly deployed Debian 6 VPS. These instructions should be performed as the "root" user via SSH.


Basic System Configuration

Edit your /etc/hosts file to resemble the following example. Replace "hostname" with a unique name for your server, "" with your domain name, and "" with your Linode's public IP address. If your Linode has two IPs assigned to it, use the first IP in the list displayed on the "Remote Access" tab of the Linode Manager.

File:/etc/hosts        localhost.localdomain        localhost         hostname

Set your system's hostname by issuing the following commands, replacing quoted "hostname" entries with your system's short hostname:

echo "hostname" >> /etc/hostname
hostname -F "hostname"

Edit the /etc/network/interfaces file to resemble the following, replacing with your Linode's IP address and with its default gateway. If your Linode has two IPs assigned to it, use the first IP in the list displayed on the "Remote Access" tab of the Linode Manager.


iface eth0 inet static

If your Linode has a second IP address, edit the /etc/network/interfaces file to resemble the following. Replace with the second IP address. No gateway should be specified for this IP address, as all traffic will be properly routed through the primary IP's gateway.


iface eth0:0 inet static

Restart networking by issuing the following command:

/etc/init.d/networking restart

Edit the /etc/resolv.conf to resemble the following, replacing and with the DNS servers listed on the "Remote Access" tab in the Linode Manager.


options rotate

Once you have confirmed that your networking settings have been correctly configured, issue the following command to uninstall the DHCP client, as it is no longer required:

apt-get remove isc-dhcp-client dhcp3-client dhcpcd

You'll also need to install a few items to finish preparing your system for DirectAdmin:

apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev

Installing DirectAdmin

Before proceeding, make sure you've purchased a DirectAdmin license. You may obtain a license directly from the DirectAdmin site. Next, log into your Linode as the "root" user via SSH to its IP address (found on the "Remote Access" tab in the Linode Manager). Issue the following commands to download and install DirectAdmin.

chmod 755

When you start the install, you will be presented with several questions before the install begins:

Please enter your Client ID : [Your User ID]
Please enter your License ID : [Your License ID]
-e Please enter your hostname \(\)
It must be a Fully Qualified Domain Name
Do *not* use a domain you plan on using for the hostname:
eg. don't use Use instead.
Do not enter http:// or www
Enter your hostname (FQDN) :

You'll also need to select the interface:

The following ethernet devices/IPs were found. Please enter the name of the device you wish to use:
Enter the device name: eth0
Is the IP in your license? (y,n) : y

You'll then need to confirm the operating system you are installing DirectAdmin on:

DirectAdmin will now be installed on: debian 6.0
Is this correct? (must match license) (y,n) : y

You can then select your Apache/PHP installation:

You now have 2 options for your apache/php setup.
1: customapache: end-of-life software. Includes Apache 1.3, php 4 and frontpage.  **Not recommended**.  Will not work with newer OSs. Limited tech support.
2: custombuild 1.1:  newer software (recommended). Includes any Apache version, php 4, 5, or both in cli and/or suphp. Frontpage not available.
             Post any issues with custombuild to the forum:
Enter your choice (1 or 2): 2

After you input your answers, the install will then proceed. You should go grab a cup of coffee and watch your favorite TV show or do some light reading, it will take a bit to complete. When the installer finishes, you'll receive some output you'll need to make a note of, specifically your admin username, password, and email, along with the DirectAdmin login URL.

Configuring DirectAdmin

You may want to configure the DirectAdmin manager login to use SSL, either on the main port or a separate port. To configure the main port (2222) to use SSL, you'll need to edit your /usr/local/directadmin/conf/directadmin.conf file. You'll want to find this line:

File excerpt:/usr/local/directadmin/conf/directadmin.conf


And change it to:

File excerpt:/usr/local/directadmin/conf/directadmin.conf


If you would prefer to leave 2222 open as a non-SSL port and run a copy of DirectAdmin on a separate port for SSL, you'll need to find this line:

File excerpt:/usr/local/directadmin/conf/directadmin.conf


And add this line below it:

File excerpt:/usr/local/directadmin/conf/directadmin.conf


You can modify the ssl_port value to any available port you like. Once you make your changes to the directadmin.conf file, you'll need to restart DirectAdmin for those changes to take effect:

service directadmin restart

If you enable SSL for the DirectAdmin manager login, you can use either a commercial or self-signed SSL. To create a self-signed SSL for your DirectAdmin login page, simply issue these commands as root in SSH:

/usr/bin/openssl req -x509 -newkey rsa:1024 -keyout /usr/local/directadmin/conf/cakey.pem -out /usr/local/directadmin/conf/cacert.pem -days 9000 -nodes
chown diradmin:diradmin /usr/local/directadmin/conf/cakey.pem
chmod 400 /usr/local/directadmin/conf/cakey.pem

If you are using a commercial SSL for your DirectAdmin manager, you can paste that data into the following files: Certificate: /usr/local/directadmin/conf/cacert.pem Key: /usr/local/directadmin/conf/cakey.pem CA Root Certificate: /usr/local/directadmin/conf/carootcert.pem

If your issuer does have a CA Root Cert, you'll also need to modify your directadmin.conf file to make use of that certificate: Find this section:

File excerpt:/usr/local/directadmin/conf/directadmin.conf


And update it to:

File excerpt:/usr/local/directadmin/conf/directadmin.conf


IPv6 with DirectAdmin

DirectAdmin also has basic support for IPv6. To activate this support, you'll need to edit your directadmin.conf file again. You'll need to add this line anywhere in your directadmin.conf file:

File excerpt:/usr/local/directadmin/conf/directadmin.conf


You'll then need to restart DirectAdmin for that change to take effect:

service directadmin restart

Further information on DirectAdmin's IPv6 functionality can be viewed on their web site:

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

Creative Commons License

This guide is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License.

Last edited by Sharon Campbell on Thursday, October 3rd, 2013 (r3770).