Introduction

DirectAdmin is a popular Graphical User Interface (GUI) and control panel that helps you to install and manage a full web-server stack on a wide variety of modern operating systems. This documentation will guide you through the installation process on Debian 10 Buster.

Prerequisites

1. Purchase a Valid License

Running DirectAdmin requires a valid software license. A 60-day trial license is available for evaluation alongside multiple paid options. Please select the appropriate license for your requirements from their pricing page.

2. Verify Your License

Verify your license by going to the DirectAdmin client area and checking that the license is valid and assigned to your Vultr instance's IP address.

3. Installation

Install the required packages as root:

# 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

Download and run the DirectAdmin installation script:

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

📝 Note: Omit auto from the end of the command for an interactive, more customizable installation.

4. Post-Installation Steps

Configuration

Navigate your new DirectAdmin server at port 2222 to begin configuration. Replace the example IP address with your address.

http://192.0.2.123:2222

Connect to your server with SSH for these optional steps.

Enable Let's Encrypt SSL for secure web, mail, and FTP access.

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

Redirect non-SSL requests to the newly created SSL protected hostname:

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

Add dangerous PHP functions to the disable_functions list:

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

Enforce difficult passwords in the directadmin.conf file:

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