Install DirectAdmin in ec2 - A step by step guide ?

DirectAdmin installs and works great with Digital Ocean VPS, and Amazon AWS.

Are you trying to Install DirectAdmin in ec2? We can help you.

Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform related AWS queries.

In this context, we shall look into the process of installing DirectAdmin.

How to install DirectAdmin in ec2  ?

The prerequisite to perform this installation is given below.

  • Active AWS Account.
  • AWS Security Group open on ports 80,995,143,465,53,2222,443,35000-35999,110,1194,993,22,21,25,53,587.
  • Basic linux knowledge.
  • DirectAdmin License.

1. Launch EC2 instance

  • Firstly, login to AWS Console.
  • Then, go to EC2 Dashboard, and click "Launch Instance" button.
  • Choose an CentOS 7.
  • Choose any Instance type that suit your needs, add storage, configure Security Group then lunch your server.

Then, login to your AWS EC2 serevr via SSH.

2. Perform System Update and install Perl, Nano and Wget

To do this, execute the below commands:

$ sudo yum -y update
$ sudo yum -y install nano wget perl

3. Enable SSH

Then, enable SSH for root account.

$ sudo nano /etc/ssh/sshd_config
Set PermitRootLogin yes
Set AllowTcpForwarding no

Edit this the authorized_keys to allow login via root account:

$ sudo nano /root/.ssh/authorized_keys

Then delete the lines at the begining of the file that say "COMMAND…" until you get to the words ssh-rsa

Finally, Restart SSH:

$ sudo service sshd restart

4. Configure hostname

Assume the domain is hosting.abc, and you want your server hostname set to server1.hosting.abc.

hostnamectl set-hostname server1.hosting.abc

Check if the /etc/hostname shows the hostname:

$ nano /etc/hostname

We also edit /etc/hosts to make the hostname point to the server IP:

$ nano /etc/hosts

then add xxx.xxx.xxx.xxx server1.hosting.abc at the end where xxx.xxx.xxx.xxx is your server public IP

AWS will reset the hostname everytime the server reboot, so we need to fix this:

$ nano /etc/cloud/cloud.cfg

and add preserve_hostname: true below the syslog_fix_perms

Then reboot the server:

$ reboot

5. Activate Quotas

By default, AWS EC2 use private IP for eth0, to install DirectAdmin, we need to use the public IP:

$ nano /etc/sysconfig/network-scripts/ifcfg-eth0:0

Enter the following content:


where xxx.xxx.xxx.xxx is your AWS Public IP, then restart the network:

$ /etc/init.d/network restart

If you wish to you IPv6, set your eth0 live below:


6. Setup DirectAdmin

Finally, setup DirectAdmin:

echo 1 > /root/.lan
wget http://www.directadmin.com/setup.sh
chmod 755 setup.sh

How to configure DirectAdmin in ec2 ?

Since EC2 runs on a LAN/NAT and behind the firewall, we need to do some configuration.

Follow the steps given below.


1. Enable LAN

Run the below command:

$ nano /usr/local/directadmin/conf/directadmin.conf
  • Add this value lan_ip=yyy.yyy.yyy.yyy where yyy.yyy.yyy.yyy is your AWS Private IP.
  • Link the Private IP to your Public IP using the DA Linked IP feature.
  • Add the LAN IP to DA's IP manager. Don’t assign it to any Users or Domains.
  • View the details of the external IP: Admin Level -> IP Manager -> Click the public/external IP.
  • Link the internal IP to the external IP: Select the LAN IP from the drop down.
  • Only select Apache, do not select DNS.
  • Then, restart DirectAdmin.

2. Open ports for FTP

If you use ProFTPD, edit it’s configure file:

$ nano /etc/proftpd.conf

Add after PassivePorts: MasqueradeAddress xxx.xxx.xxx.xxx where xxx.xxx.xxx.xxx is your AWS Public IP

Add rule to the iptables:

$ iptables -I INPUT -p tcp --dport 35000:35999 -j ACCEPT
$ nano /usr/libexec/iptables/iptables.init

add $IPTABLES -A INPUT -p tcp --dport 35000:35999 -j ACCEPT below the ftp section, like this:

# ftp
$ IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT
$ IPTABLES -A INPUT -p tcp --dport 35000:35999 -j ACCEPT

[ Need help in fixing DirectAdmin issues ?  We are here to help you. ]


This article covers the steps involved in installing DirectAdmin in EC2. In fact, An EC2 instance is nothing but a virtual private server in Amazon Web Services terminology. It stands for Elastic Compute Cloud server. It is a web service where an AWS subscriber can request and provision a compute server in AWS cloud.