DirectAdmin is a graphical web-based control panel which is designed to make administration of websites better.

DirectAdmin is often referred to as DA in short form. DirectAdmin is known to offer three access layers for that are Admin, Reseller, and User.

Steps for installation of DirectAdmin are as follows:

Step 1: First of all we have to check whether our operating system is compatible to install DirectAdmin or not. To do this I have an image for you which describes the operating systems which can support DirectAdmin

You can go through this table and check back.

Secondly, you should check back the Partition Structure of your Operating System

We Suggest the Simple partition Structure as follows:

Other options available for a simple partition structure are:

Feel free to modify these numbers as per the users need. FreeBSD and Debian store MySQL databases are present in/home/mysql/.

For CentOS 7, use up the xfs quota system. If you are using ext4, add use_xfs_quota=0 to the directadmin.conf.

It is adviced that you should have Basic development/compiling tools such as GCC, g++, and Perl.

It is adviced not to install services such as Apache, PHP, MySQL, Ftp, Sendmail, etc., as we will do this for you. All we need is the CLEAN install of your operating system.

We do not recommend installing the DirectAdmin on an existing live production server. DirectAdmin does not convert existing data upon install.

Hardware

We highly recommend a processor which is of at least 500 Mhz even though DirectAdmin will run on slower systems. A minimum of 1 GB of memory is being required (2+ GB is preferred), with at least 2 GB of swap memory. A hard drive with at least 2 gigabytes of free space (after the Linux installation) is also required. If you are expecting high traffic levels then you will need more memory as per the requirement, processor power, and hard drive space than we recommend here. Intel and AMD should work totally fine. Solaris/Sparc will not.

Software

Please ensure that the SSH is installed properly and working.

Please ensure that it is named (Name Daemon) is selected during the Redhat install.

GCC and g++ are required to compile the Apache and PHP.

The system kernel and filesystem must support the quotas. The kernel should support the Ipv6.

Authority Level

You must have at least a root access on the server.

IP Addresses

At a bare minimum, your server must have one static IPv4 IP address. However, for DNS control you will sometimes need at least two IP addresses. With only one IP address you might be forced to use up an external DNS service, depending on your registrar. — this means web sites you create through the control panel will not propagate automatically.

Your server IP must have an external IP address. Local IP addresses (192.168.x.x or 10.0.x.x) cannot be set in your license. The IP that connects to our system must patch the license IP, or downloads will not work.

Thirdly, you should Run the pre-installed commands before starting the install

Before installing the DirectAdmin, there are some basic programs that you’ll need. The following are the typical commands that should be used before we install DirectAdmin.

On CentOS 6

yum install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \ libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \ autoconf automake libtool which patch mailx bzip2-devel lsof Glibc-headers kernel-devel expat-devel db4-devel

On CentOS 7

yum install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \ libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \ autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel \ psmisc net-tools systemd-devel libdb-devel perl-DBI perl-Perl4-CoreLibs perl-libwww-perl xfsprogs rsyslog logrotate crontabs file kernel-headers

On Debian 6

apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev \ zlib1g zlib1g-dev libcap-dev bzip2 automake autoconf libtool cmake pkg-config python libreadline-dev libdb4.8-dev libsasl2-dev patch

On Debian 7

apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev \ zlib1g zlib1g-dev libcap-dev bzip2 automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev libncurses5-dev patch libjemalloc-dev

On Debian 8

apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev \ zlib1g zlib1g-dev libcap-dev cron bzip2 automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev \ libncurses5-dev libsystemd-dev bind9 dnsutils quota libsystemd-daemon0 patch libjemalloc-dev logrotate rsyslog libc6-dev

On Debian 9

apt-get update apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libperl4-corelibs-perl libaio1 libaio-dev \ zlib1g zlib1g-dev libcap-dev cron bzip2 automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev \ libncurses5-dev libsystemd-dev bind9 dnsutils quota patch libjemalloc-dev logrotate rsyslog libc6-dev libexpat1-dev \ libcrypt-openssl-rsa-perl libnuma-dev libnuma1 bsd-mailx

Step 2: In this step, you should make sure that the license information is correct or not

For this, you need to sign in to your client account at https://www.directadmin.com/clients and click the “view” link which is next to your license.

Step 3: Begin the Installation

It is a Special Notice for non-root ssh-logins

If you are logging in as a user other than the admin or root (using su to gain root access):

You *must* add the “AllowUsers username” to /etc/ssh/sshd_config before you log out from root or you’ll lose root on the server forever, and you’ll have to format.

1. Log in as the root and download the setup.sh file using the command

wget https://www.directadmin.com/setup.sh

2. You need to change the permissions on the setup.sh file

chmod 755 setup.sh

3. You need to run the script

./setup.sh auto

The auto method will be the best suited for most people. It is known to automatically installs everything for you, including the CSF firewall.

It can also be called as ‘./setup.sh’ without options, which requires input but allows for the customization.

Important: The hostname should not be the same as the primary domain name. e.g the. gary.com is not a good hostname, whereas server.gary.com is. Having the same host/main domain name will always cause e-mail and FTP problems. Also, please make sure the hostname resolves once you set up the DNS.

Special notice for the VPS/VDS installs:

After the install, you should add the following to

/usr/local/directadmin/conf/directadmin.conf:ethernet_dev=devicename

For example, on many of the VPS systems it will be:

ethernet_dev=venet0:0

Other systems where the IP is not the base IP on that device, you need to simply set the correct number:

ethernet_dev=eth0:1

Or for the other systems with the IP on a different device, it might be:

ethernet_dev=eth1

Type:

/sbin/ifconfig

to see on which device your IP is in replace the device name with the FULL device name reported by ifconfig. If your VDS or the VPS system emulates eth0, then you may skip this step.

Setup SSL Certificates

This step is only required when you wish to use the DirectAdmin through SSL. You will also have to change set SSL=1 in the directadmin.conf file: http://help.directadmin.com/item.php?id=15

Accessing the DirectAdmin Control Panel

DirectAdmin can be accessed at http://server.ip.address:2222 – use the Admin username/password specified in the setup.txt file in the scripts directory.

Dealing with RPM errors

When installing the RPMs errors can sometimes occur. Don’t panic, solving them is usually quite easy. If you didn’t know what to install during your RedHat installation, you might have installed a few services, such as apache and Sendmail. These services must be removed before the rpm is to be installed.

For example, lets us say that you are trying to install Exim and you get the following:

# rpm -ivh exim-3.36-2.i386.rpm

Preparing… ##################################### [100%]

file /somefile from install of exim-3.36-2 conflicts with file from package sendmail-8.1

This would mean that the Sendmail is already installed on your server and you must remove it. This can easily be done by running the following:

rpm -e --nodeps sendmail

Then only you will be able to install your rpm. This follows for other services such as the Apache, apache-devel, wu-FTP, PHP, MySQL and so forth. If you need to figure out that if you already have a service installed, you can run

rpm -q servicename

or

rpm -qa | grep substring

Where substring is just a word. For example, using “apache” might return:

# rpm -qa | grep apache apache-fp-1.3.27-2 apache-fp-devel-1.3.27-2 apache-fp-manual-1.3.27-2