LowEndBox - Cheap VPS, Hosting and Dedicated Server Deals

How to Install DirectAdmin on Debian 10

This article was contributed by Dustin Cisneros at RackNerd, a web hosting and infrastructure as a service provider which was recently voted #1 by the LowEndTalk community! If you are looking for a Linux VPS, Ryzen VPS, Windows VPS, or shared and reseller hosting services, be sure to take a look at RackNerd’s latest special offers here.

What is DirectAdmin?

DirectAdmin is a web hosting control panel software, and can be considered as a competitor to cPanel, Plesk, etc. DirectAdmin makes it possible to administer host options and websites quite easily. This is made possible by the use of a web-based graphical interface. DirectAdmin makes things easily manageable for website owners by doing automation of the tasks in a way that web servers can be shared with ease. This makes it possible for them to rapidly create websites and easily manage them. DirectAdmin runs on multiple modern operating systems including Debian 10, which we go over in this tutorial.

Requirements for running and installing DirectAdmin on Debian 10:

In order to run and install DirectAdmin, certain requirements should be met. The first requirement is of course the setting up of a new Debian 10 server instance. If you need to deploy a VPS instantly, be sure to take a look at RackNerd’s special offerings here. Furthermore, since DirectAdmin is paid software, you will need to obtain a license from their website.

Server Specification Requirements

We would recommend running DirectAdmin on a VPS with a minimum of 1 CPU core (or at least 2 CPU cores if your websites will be resource intensive). A minimum of 1 GB RAM is essential, but for better performance, 2 GB RAM is recommended.

How to install DirectAdmin

The  first step includes the installation as root of the essential packages:

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

After that, the next step includes the downloading of an installation script. Once it is downloaded, run this script to complete this step.

# bash <(curl -Ss https://www.directadmin.com/setup.sh) auto 

What to do after installation

  1. First of all complete the configuration. To start the configuration, go to your web browser and enter IP:2222 (replacing IP with your server IP address)
  2. After that connect the server with SSH for following steps:

We would recommend utilizing the Lets Encrypt SSL certificate functionality to generate a SSL, as follows:

$ /usr/local/directadmin/scripts/letsencrypt.sh request_single yourserver.example.com 4096  

After that comes the redirection of requests that are non-SSL to the SSL protected hostname:

$ /usr/local/directadmin/directadmin set ssl_redirect_host yourserver.example.com
$ service directadmin restart

Now comes the addition of the dangerous PHP functions to disable_functions list:

$ cd /usr/local/directadmin/custombuild$ ./build update$ ./build secure_php

For the enforcing of difficult passwords within the directadmin.conf file:

$ echo 'enforce_difficult_passwords=1' >> /usr/local/directadmin/conf/directadmin.conf

We hope you enjoyed this tutorial on how to install DirectAdmin on Debian 10, if you have any questions or comments, we invite you to share them in the comments section below!


No Comments

    Leave a Reply

    Some notes on commenting on LowEndBox:

    • Do not use LowEndBox for support issues. Go to your hosting provider and issue a ticket there. Coming here saying "my VPS is down, what do I do?!" will only have your comments removed.
    • Akismet is used for spam detection. Some comments may be held temporarily for manual approval.
    • Use <pre>...</pre> to quote the output from your terminal/console, or consider using a pastebin service.

    Your email address will not be published. Required fields are marked *