Install DirectAdmin on Debian 10
![Install DirectAdmin on Debian 10 header image](https://docs.vultr.com/public/doc-assets/791/902f5efe9c5ece3b.png)
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
- Deploy a new Debian server instance
- Follow our best practices guides to update your instance and create a non-root sudo user.
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