BizMaC bizmac.com

Cài đặt DirectAdmin trên CentOS và Ubuntu

Hướng dẫn DirectAdmin · cập nhật 15/08/2026

Cài DirectAdmin trên CentOS hoặc Ubuntu bằng script setup.sh chạy ở chế độ tự động, sau đó chọn web server và bản PHP qua công cụ custombuild. Toàn bộ quá trình mất từ 30 tới 60 phút tuỳ tốc độ mạng và cấu hình máy.

DirectAdmin là bảng điều khiển máy chủ chạy trên Linux, quản lý website, email, cơ sở dữ liệu và tài khoản người dùng qua giao diện web. Script cài đặt tự nhận diện hệ điều hành rồi dựng luôn Apache, PHP, MariaDB và máy chủ DNS.

  1. Cài các gói phụ thuộc cho đúng hệ điều hành.
  2. Tải và chạy script setup.sh ở chế độ auto.
  3. Bật opcache và kiểm cơ sở dữ liệu sau khi cài.
  4. Đổi web server sang Nginx hoặc LiteSpeed nếu cần.
CentOS 7 hết hỗ trợ ngày 30/06/2024 và CentOS 8 hết ngày 31/12/2021. Máy mới nên cài AlmaLinux 9, Rocky Linux 9 hoặc Ubuntu 22.04. Phần lệnh cho CentOS trong bài giữ lại cho máy chủ cũ còn đang chạy.

Máy chủ cần chuẩn bị gì trước khi cài DirectAdmin

DirectAdmin cần một máy chủ trắng, chưa cài bảng điều khiển nào khác và chưa có Apache hay Nginx chạy sẵn. Cấu hình tối thiểu chạy được là 1 GB RAM và 20 GB ổ đĩa, nhưng máy phục vụ thật nên có từ 2 GB RAM trở lên vì bước biên dịch PHP ăn nhiều bộ nhớ.

MụcYêu cầuGhi chú
Hệ điều hànhAlmaLinux 8 hoặc 9, Rocky Linux 8 hoặc 9, Ubuntu 20.04 hoặc 22.04Bản 64 bit
RAM2 GB trở lên1 GB chạy được nhưng build PHP hay bị dừng
Ổ đĩa20 GB trở lênRiêng custombuild chiếm khoảng 3 GB
QuyềnĐăng nhập root qua SSHKhông dùng sudo từ tài khoản thường
Bản quyềnMã tài khoản và mã licenseGắn với một địa chỉ IP cố định
Thời gian cài30 tới 60 phútChủ yếu là biên dịch PHP

Bản quyền DirectAdmin cấp theo địa chỉ IP, nên phải cài trên máy đã có IP tĩnh cuối cùng. Đổi IP sau khi cài thì license ngừng nhận và bảng điều khiển khoá lại.

Cài gói phụ thuộc cho CentOS và Ubuntu

Script cài đặt của DirectAdmin biên dịch nhiều thành phần từ mã nguồn nên cần sẵn trình biên dịch, thư viện phát triển và các công cụ hệ thống. Thiếu một gói là script dừng giữa chừng với thông báo khó đọc, nên cài đủ trước là cách nhanh nhất.

Trên CentOS 7 và CentOS 8, hoặc AlmaLinux và Rocky Linux tương ứng:

yum update
yum install bind bind-libs bind-utils openssl openssl-devel gcc gcc-c++ flex bison make 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-libwww-perl xfsprogs rsyslog logrotate crontabs file kernel-headers

Trên Ubuntu 20.04 và Ubuntu 22.04:

apt update
apt install build-essential bind9 dnsutils gcc make openssl libssl-dev zlib1g zlib1g-dev libaio1 libaio-dev libcap-dev cron bzip2 cmake pkg-config libdb-dev libsasl2-dev libncurses5 libncurses5-dev libsystemd-dev quota patch logrotate rsyslog libc6-dev libexpat1-dev libcrypt-openssl-rsa-perl

Trên CentOS 7 hoặc CentOS 8 mà lệnh yum báo lỗi không tải được kho gói, kho đã chuyển sang vault sau khi hết hỗ trợ. Sửa theo hướng dẫn fix lỗi Not found trying other mirror trên CentOS 7 rồi quay lại bước này.

Chạy script cài đặt DirectAdmin ở chế độ tự động

Script setup.sh tải bộ cài từ máy chủ của DirectAdmin, hỏi vài lựa chọn rồi tự dựng toàn bộ hệ thống. Chế độ auto bỏ qua phần lớn câu hỏi và dùng giá trị mặc định, phù hợp cho máy chủ mới hoàn toàn.

1. Tải script cài đặt

wget -O setup.sh https://www.directadmin.com/setup.sh
chmod 755 setup.sh

2. Chạy trình cài đặt

./setup.sh auto

Script hỏi mã tài khoản và mã license, sau đó hỏi đồng ý điều khoản. Ở câu hỏi về cơ sở dữ liệu, chọn MariaDB thay vì MySQL vì custombuild hỗ trợ MariaDB tốt hơn khi nâng cấp về sau.

3. Theo dõi tiến trình cài

tail -f /var/log/directadmin/custombuild.*.log

Mở thêm một phiên SSH thứ hai để chạy lệnh này. Phần lâu nhất là biên dịch PHP, thường mất 15 tới 30 phút trên máy hai nhân. Máy đứng im không có nghĩa là treo, cứ để chạy.

4. Đăng nhập lần đầu

Cài xong, script in ra tên đăng nhập admin và mật khẩu sinh tự động. Chép lại ngay vì màn hình đó không hiện lại. Truy cập bảng điều khiển tại địa chỉ IP máy chủ kèm cổng 2222.

https://IP_MAY_CHU:2222

Bật opcache và kiểm cơ sở dữ liệu sau khi cài

Bộ cài mặc định chưa bật opcache, đây là bộ nhớ đệm mã máy của PHP giúp giảm thời gian phản hồi rõ rệt cho website WordPress và các mã nguồn PHP lớn. Hai việc dưới đây làm ngay sau khi cài xong, trước khi đưa website lên máy.

Bật opcache:

cd /usr/local/directadmin/custombuild
./build set opcache yes
./build opcache

Nếu bộ cài đã dựng MySQL và bạn muốn đổi sang MariaDB, chuyển bằng bốn lệnh sau. Bước này sao lưu cơ sở dữ liệu trước khi đổi nên chạy được trên máy đã có dữ liệu, nhưng vẫn nên tự sao lưu thêm một bản riêng:

./build set mariadb 10.6
./build set mysql_inst mariadb
./build set mysql_backup yes
./build update
./build mariadb

Đổi web server sang Nginx hoặc LiteSpeed

DirectAdmin cài Apache theo mặc định. Đổi sang Nginx hoặc LiteSpeed thay đổi cách máy chủ xử lý kết nối và thường giảm mức tiêu thụ RAM khi có nhiều truy cập cùng lúc. Việc này làm được sau khi cài xong, không phải cài lại máy.

Web serverĐiểm mạnhBản quyền
ApacheMặc định, hỗ trợ file .htaccess đầy đủMiễn phí
NginxNhẹ RAM, phục vụ file tĩnh nhanhMiễn phí
LiteSpeedĐọc được .htaccess, có bộ nhớ đệm trang tích hợpBản Enterprise cần mua
OpenLiteSpeedBản mở của LiteSpeedMiễn phí, ít tính năng hơn

Chuyển sang Nginx với PHP chạy dạng FPM:

cd /usr/local/directadmin/custombuild
./build set php1_mode php-fpm
./build update
./build set webserver nginx
./build nginx
./build php d
./build restart

Chuyển sang LiteSpeed với PHP chạy dạng LSPHP. Bốn dòng php_mode ứng với bốn bản PHP mà DirectAdmin cho phép chạy song song:

./build update
./build set webserver litespeed
./build set php1_mode lsphp
./build set php2_mode lsphp
./build set php3_mode lsphp
./build set php4_mode lsphp
./build litespeed
./build php n

LiteSpeed bản Enterprise cần khoá bản quyền riêng, nhập vào sau khi cài xong. Không có khoá thì máy chủ chạy ở chế độ dùng thử với giới hạn kết nối.

Xử lý các lỗi thường gặp khi cài

Bốn tình huống dưới đây gặp nhiều nhất trong các ca cài không thành công ở lần đầu. Mỗi tình huống có dấu hiệu riêng trong file log nên đọc log là biết ngay đang vướng ở đâu.

Script dừng với lỗi build mod_ruid2. Mô đun này xung đột với LiteSpeed. Tắt đi rồi biên dịch lại:

./build set mod_ruid2 no
./build php n

Biên dịch PHP bị dừng giữa chừng, không có thông báo rõ ràng. Máy hết RAM và nhân hệ thống đã tắt tiến trình. Tạo file swap 2 GB rồi chạy lại lệnh build:

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

Bảng điều khiển không mở được ở cổng 2222. Tường lửa đang chặn. Mở cổng trên firewalld hoặc ufw tuỳ hệ điều hành, và kiểm tra cả tường lửa của nhà cung cấp nếu máy chủ đặt sau lớp lọc riêng.

Báo lỗi license khi đăng nhập. Mã license chưa gắn đúng IP hiện tại của máy, hoặc đã hết hạn. Cách cập nhật lại nằm ở hướng dẫn khắc phục lỗi License has expired của DirectAdmin.

Việc nên làm sau khi cài xong

Đổi mật khẩu admin do script sinh ra thành mật khẩu của bạn ngay lần đăng nhập đầu. Sau đó vào mục Admin Settings bật xác thực hai lớp cho tài khoản admin, vì cổng 2222 mở ra Internet là đích hay bị dò mật khẩu.

Đặt lịch sao lưu trong mục Admin Backup/Transfer và cho lưu ra máy chủ khác qua FTP, đừng để bản sao lưu nằm cùng ổ đĩa với dữ liệu gốc. Cài thêm tường lửa mềm theo hướng dẫn cài ConfigServer Security and Firewall trên CentOS để chặn dò mật khẩu tự động.

Kiểm tra bản cập nhật của custombuild mỗi tháng bằng ./build update rồi ./build versions. Lệnh sau liệt kê thành phần nào đang có bản mới hơn để bạn quyết định nâng cấp từng phần thay vì nâng tất cả một lượt.

Hướng dẫn này có giúp được Anh/Chị không?

Bài khác trong DirectAdmin

Xem cả 31 bài
Bật tắt extension PHP trên DirectAdmin Vào Extra Features rồi Select PHP version để tích hoặc bỏ tích extension. Nên bật thư viện nào cho WordPress, cách xác nhận đã nạp và lỗi hay gặp. 7 phút đọc 277 lượt xem Cập nhật 28/08/2026 Khôi phục website trên DirectAdmin từ bản sao lưu Đưa tệp sao lưu lên hosting, chọn đúng phần dữ liệu cần đưa về và kiểm website sau khi khôi phục, kèm cách chọn bản nào khi có nhiều bản. 8 phút đọc 297 lượt xem Cập nhật 26/08/2026 Khắc phục lỗi License has expired DirectAdmin DirectAdmin báo License has expired khi bản quyền hết hạn hoặc máy chủ đổi IP. Cách chạy getLicense.sh để tải lại license và mở khoá bảng điều khiển. 6 phút đọc 365 lượt xem Cập nhật 26/08/2026 Xoá tin nhắn hệ thống trên DirectAdmin Dọn hộp tin nhắn hệ thống DirectAdmin bằng giao diện hoặc dòng lệnh, kèm bảng phân loại tin nào đáng đọc trước khi xoá và cách giảm tin sinh ra. 8 phút đọc 188 lượt xem Cập nhật 26/08/2026 Cài SSL Let's Encrypt miễn phí trên DirectAdmin Let's Encrypt cấp chứng chỉ SSL miễn phí, hạn 90 ngày và tự gia hạn. Cách bật trong DirectAdmin và xử lý lỗi khi xin chứng chỉ. 5 phút đọc 171 lượt xem Cập nhật 23/08/2026 Cài đặt mcrypt cho PHP 7.2 trên DirectAdmin PHP 7.2 gỡ mcrypt khỏi lõi và đẩy sang PECL. Cách tải mã nguồn, biên dịch đúng bản PHP 7.2 rồi khai báo extension, kèm hướng chuyển sang OpenSSL. 6 phút đọc 197 lượt xem Cập nhật 23/08/2026