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.
- Cài các gói phụ thuộc cho đúng hệ điều hành.
- Tải và chạy script setup.sh ở chế độ auto.
- Bật opcache và kiểm cơ sở dữ liệu sau khi cài.
- Đổ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ục | Yêu cầu | Ghi chú |
|---|---|---|
| Hệ điều hành | AlmaLinux 8 hoặc 9, Rocky Linux 8 hoặc 9, Ubuntu 20.04 hoặc 22.04 | Bản 64 bit |
| RAM | 2 GB trở lên | 1 GB chạy được nhưng build PHP hay bị dừng |
| Ổ đĩa | 20 GB trở lên | Riêng custombuild chiếm khoảng 3 GB |
| Quyền | Đăng nhập root qua SSH | Không dùng sudo từ tài khoản thường |
| Bản quyền | Mã tài khoản và mã license | Gắn với một địa chỉ IP cố định |
| Thời gian cài | 30 tới 60 phút | Chủ 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ạnh | Bản quyền |
|---|---|---|
| Apache | Mặc định, hỗ trợ file .htaccess đầy đủ | Miễn phí |
| Nginx | Nhẹ RAM, phục vụ file tĩnh nhanh | Miễn phí |
| LiteSpeed | Đọc được .htaccess, có bộ nhớ đệm trang tích hợp | Bản Enterprise cần mua |
| OpenLiteSpeed | Bản mở của LiteSpeed | Miễ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.