Khắc phục lỗi License has expired DirectAdmin
Hướng dẫn DirectAdmin · cập nhật 26/08/2026
Để sửa lỗi License has expired của DirectAdmin, bạn chạy script getLicense.sh kèm mã tài khoản và mã license, rồi khởi động lại dịch vụ. Mất khoảng hai phút qua SSH, website trên máy chủ không bị gián đoạn trong lúc làm.
Thông báo hiện ra khi mở bảng điều khiển ở cổng 2222:
Your license has expired.
Please contact your DirectAdmin provider to renew your license.
- Đăng nhập SSH bằng quyền root.
- Vào thư mục scripts của DirectAdmin.
- Chạy getLicense.sh kèm mã tài khoản và mã license.
- Khởi động lại dịch vụ rồi đăng nhập lại.
Cần sẵn hai thông tin trước khi bắt đầu: quyền root qua SSH và cặp mã tài khoản với mã license do đơn vị bán bản quyền cấp. Không có hai thứ này thì lệnh chạy xong vẫn báo License has expired như cũ.
Vì sao DirectAdmin báo License has expired
Bảng điều khiển DirectAdmin kiểm tra bản quyền bằng cách đối chiếu file /usr/local/directadmin/conf/license.key với máy chủ cấp phép. File này gắn với một địa chỉ IP cụ thể và có ngày hết hạn ghi bên trong. Khi một trong hai điều kiện không còn đúng, bảng điều khiển khoá lại và hiện thông báo hết hạn.
Có bốn nguyên nhân, phân biệt được bằng cách nhớ lại thay đổi gần nhất trên máy chủ.
| Nguyên nhân | Dấu hiệu nhận ra | Cách xử lý |
|---|---|---|
| Bản quyền hết hạn thật | Máy chủ không đổi gì, tới ngày là khoá | Gia hạn rồi tải lại bản quyền |
| Máy chủ đổi địa chỉ IP | Vừa chuyển máy chủ hoặc đổi IP | Chạy lệnh kèm IP mới |
| File license.key hỏng | Lỗi giải nén update.tar.gz | Đọc dòng đầu file rồi tải lại |
| Máy chủ không ra được Internet | Lệnh cập nhật báo lỗi kết nối | Mở cổng 443 ra ngoài |
Hai mã cần dùng ở các bước sau là mã tài khoản (client ID) và mã bản quyền (license ID), do đơn vị cung cấp cấp lúc bạn mua. Ví dụ trong bài dùng mã tài khoản 34188 và mã license 177164, bạn thay bằng mã của mình.
Sửa lỗi License has expired khi địa chỉ IP không đổi
Đây là ca thường gặp nhất: bản quyền vừa được gia hạn nhưng máy chủ chưa tải bản quyền mới về. Script getLicense.sh hỏi máy chủ cấp phép, tải file license mới và ghi đè lên file cũ. Ba lệnh dưới đây chạy bằng quyền root.
1. Vào thư mục scripts
cd /usr/local/directadmin/scripts
2. Tải lại file bản quyền
./getLicense.sh 34188 177164
Số đầu là mã tài khoản, số sau là mã license. Chạy đúng thì script in ra dòng báo đã tải xong và ghi file vào /usr/local/directadmin/conf/license.key.
3. Khởi động lại dịch vụ
service directadmin restart
Trên các bản dùng systemd như AlmaLinux 8 trở lên hoặc Ubuntu 20.04 trở lên, dùng lệnh tương đương systemctl restart directadmin. Lệnh này chỉ khởi động lại tiến trình bảng điều khiển, website và email trên máy vẫn chạy bình thường.
Cách sửa lỗi License has expired khi máy chủ đổi IP
Bản quyền DirectAdmin gắn với một địa chỉ IP duy nhất. Chuyển máy chủ sang IP khác, hoặc đổi IP chính của máy chủ DirectAdmin, đều làm bản quyền ngừng khớp và bảng điều khiển khoá lại dù bản quyền còn hạn. Cách xử lý giống ca trên nhưng thêm địa chỉ IP mới vào cuối lệnh. Máy chưa cài bảng điều khiển thì xem hướng dẫn cài đặt DirectAdmin trên CentOS và Ubuntu trước.
cd /usr/local/directadmin/scripts
./getLicense.sh 34188 177164 11.22.33.44
service directadmin restart
Thay 11.22.33.44 bằng IP thật của máy chủ. Xem IP hiện tại bằng lệnh curl -s ifconfig.me nếu bạn không chắc, vì máy chủ có nhiều card mạng thì IP ra ngoài chưa chắc trùng với IP hiện trong ip addr.
Đơn vị bán bản quyền phải đăng ký IP mới trong hệ thống của họ trước thì lệnh này mới nhận. Chạy lệnh mà vẫn báo lỗi, nghĩa là phía cấp phép chưa cập nhật, gửi yêu cầu đổi IP cho họ rồi làm lại.
Cách kiểm tra bản quyền đã nhận chưa
Sau khi khởi động lại dịch vụ, mở lại bảng điều khiển ở cổng 2222 và đăng nhập. Vào được là xong. Nếu muốn kiểm từ dòng lệnh mà không mở trình duyệt, hai lệnh dưới đây cho biết trạng thái ngay.
head -n 1 /usr/local/directadmin/conf/license.key
systemctl status directadmin
Lệnh đầu in dòng đầu file khoá, phải là chuỗi dữ liệu chứ không phải thông báo lỗi hay file rỗng. Lệnh sau cho biết dịch vụ đang chạy hay đã dừng. Trạng thái active (running) là đúng.
Xử lý các lỗi thường gặp khi cập nhật bản quyền
Ba tình huống dưới đây gặp nhiều sau khi chạy getLicense.sh mà bảng điều khiển vẫn chưa mở được. Mỗi tình huống có thông báo riêng nên đọc đúng dòng lỗi là biết hướng xử lý.
Lỗi khi giải nén tệp update.tar.gz. File khoá tải về bị hỏng hoặc máy chủ cấp phép trả về trang lỗi thay vì file. Đọc dòng đầu file để xem nội dung thật là gì:
head -n 1 /usr/local/directadmin/conf/license.key
Nếu dòng đó là chữ tiếng Anh dạng thông báo, mã tài khoản hoặc mã bản quyền đang sai. Đối chiếu lại với đơn vị cấp phép rồi chạy lại lệnh getLicense.sh.
Script báo không kết nối được. Máy chủ không ra được Internet qua cổng 443, thường do tường lửa chặn chiều đi. Kiểm bằng curl -I https://www.directadmin.com, không có phản hồi thì mở cổng 443 chiều ra trên firewall.
Đăng nhập được nhưng vài giờ sau lại khoá. Bản quyền chưa được gia hạn thật, lệnh chỉ tải lại file cũ còn hạn ngắn. Liên hệ đơn vị cấp phép để xác nhận ngày hết hạn trong hệ thống của họ.
Cách tránh gặp lại lỗi License has expired
Ghi lại mã tài khoản và mã bản quyền vào nơi lưu trữ an toàn ngay khi mua, đừng chỉ để trong hộp thư. Lúc bảng điều khiển đã khoá thì bạn không tra được hai mã đó từ chính máy chủ, phải hỏi lại đơn vị cấp phép và chờ.
Đặt lịch nhắc trước ngày hết hạn hai tuần. Bản quyền DirectAdmin thường bán theo tháng hoặc theo năm, và hệ thống khoá đúng ngày chứ không có thời gian ân hạn. Nếu bạn dùng dịch vụ máy chủ tại BizMaC kèm bản quyền DirectAdmin, kỹ thuật gia hạn và cập nhật khoá giúp khi bạn gửi yêu cầu từ tài khoản đang dùng.
Trước mỗi lần đổi IP máy chủ, báo cho đơn vị cấp phép đăng ký IP mới trước rồi mới chuyển. Làm ngược thứ tự thì bảng điều khiển khoá ngay sau khi đổi và bạn phải chờ họ xử lý mới vào lại được.