• Webmaster Tools
  • Diễn Đàn Hỏi Đáp
  • Profile
  • Ủng hộ
  • DNS Check
  • CheckIP
  • Liên Hệ
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT
  • WEB MẪUHOT

Hướng dẫn cài đặt UniTime với Docker trên aaPanel

by ĐỖ TRUNG QUÂN 19/03/2025
Tác giả: ĐỖ TRUNG QUÂN 19/03/2025 0 comments 87 lượt xem
Dịch vụ xử lý mã độc WordPress
WEB MẪU WORDPRESS
Share FacebookTwitterPinterestTelegramEmail
87

NỘI DUNG

  • Giới thiệu về UniTime
    • Chức năng chính của UniTime
    • Công nghệ sử dụng trong UniTime
    • UniTime sử dụng cho công việc gì?
  • Hướng dẫn cài đặt UniTime với Docker trên aaPanel
    • Yêu cầu trước khi cài đặt
    • Bước 1: Cài đặt aaPanel và Docker
      • 1. Cài đặt aaPanel:
      • 2. Cài Docker trong aaPanel:
    • Bước 2: Tải và giải nén UniTime
      • 1. Tải tệp UniTime:
      • 2. Giải nén tệp:
      • 3. Di chuyển vào thư mục Docker:
    • Bước 3: Build và chạy UniTime với Docker
      • 1. Build Docker images:
      • 2. Khởi động UniTime:
      • 3. Kiểm tra trạng thái:
    • Bước 4: Tạo proxy truy cập với tên miền và cài SSL
    • Bước 5: Tùy chỉnh (Tùy chọn)
  • Kết luận

Giới thiệu về UniTime

UniTime (https://www.unitime.org/) là một hệ thống lập lịch học tập mã nguồn mở được thiết kế dành riêng cho các cơ sở giáo dục, đặc biệt là các trường đại học. Được phát triển từ sự hợp tác giữa các giảng viên, sinh viên và nhân viên tại các trường ở Bắc Mỹ và châu Âu, UniTime cung cấp một giải pháp linh hoạt, hiệu quả để quản lý lịch trình phức tạp như lịch học, kỳ thi và phân bổ tài nguyên (phòng học, giảng viên).

UniTime là phần mềm miễn phí, được duy trì bởi cộng đồng mã nguồn mở và UniTime LLC dưới sự bảo trợ của Apereo Foundation. Tính đến tháng 3 năm 2025, phiên bản mới nhất là UniTime 4.8 (build 189), phát hành vào ngày 10 tháng 12 năm 2024, cho thấy dự án vẫn được cập nhật thường xuyên và không lỗi thời.

Chức năng chính của UniTime

  1. Lập lịch khóa học (Course Timetabling): Tạo lịch giảng dạy tối ưu, tránh xung đột thời gian giữa các lớp học và đảm bảo phân bổ hợp lý phòng học, giảng viên.
  2. Lập lịch kỳ thi (Examination Timetabling): Sắp xếp lịch thi không trùng lặp, phù hợp với sinh viên và cơ sở vật chất.
  3. Quản lý phòng học: Phân bổ và theo dõi việc sử dụng phòng học cho các lớp học hoặc sự kiện khác.
  4. Phân bổ sinh viên (Student Scheduling): Đăng ký sinh viên vào các lớp học dựa trên nhu cầu cá nhân, tránh xung đột lịch trình.
  5. Tùy chỉnh và tích hợp: Hỗ trợ tích hợp với các hệ thống thông tin sinh viên hiện có hoặc hoạt động độc lập.

Công nghệ sử dụng trong UniTime

UniTime được xây dựng dựa trên các công nghệ hiện đại, đảm bảo tính ổn định và khả năng triển khai linh hoạt:

  • Ngôn ngữ lập trình: Java (hỗ trợ Java 11 trở lên).
  • Cơ sở dữ liệu: MySQL hoặc PostgreSQL.
  • Framework: Sử dụng Hibernate 6.4 để quản lý dữ liệu.
  • Xác thực: Hỗ trợ OAuth2, LDAP, và các phương thức xác thực khác.
  • Triển khai: Có thể triển khai qua Docker, giúp đơn giản hóa quá trình cài đặt và quản lý.
  • Giao diện: Web-based, dễ sử dụng trên nhiều thiết bị.

UniTime sử dụng cho công việc gì?

UniTime là lựa chọn lý tưởng cho:

  • Các trường đại học và cao đẳng: Quản lý lịch học, kỳ thi và phòng học cho hàng nghìn sinh viên và giảng viên.
  • Các tổ chức giáo dục nhỏ hơn: Sử dụng như một công cụ miễn phí để tối ưu hóa tài nguyên mà không cần đầu tư vào phần mềm thương mại đắt đỏ.
  • Nghiên cứu học thuật: Các nhà nghiên cứu trong lĩnh vực tối ưu hóa lịch trình có thể tùy chỉnh mã nguồn để thử nghiệm các thuật toán mới.

Với tính năng mạnh mẽ và chi phí bằng 0, UniTime đặc biệt phù hợp cho các tổ chức muốn một giải pháp lập lịch hiệu quả, có thể tùy chỉnh mà không phụ thuộc vào các nhà cung cấp thương mại.

Hướng dẫn cài đặt UniTime với Docker trên aaPanel

Trong hướng dẫn này, chúng ta sẽ cài đặt UniTime phiên bản 4.8 (build 189) bằng Docker trên một máy chủ sử dụng aaPanel – một bảng điều khiển quản lý server phổ biến với giao diện thân thiện và tích hợp sẵn Docker Manager.

Yêu cầu trước khi cài đặt

  1. Máy chủ: Một VPS hoặc máy chủ chạy hệ điều hành Linux (Ubuntu, Almalinux, hoặc Debian được khuyến nghị).
  2. aaPanel: Đã cài đặt aaPanel trên máy chủ. Nếu chưa cài, bạn có thể làm theo hướng dẫn tại (https://dotrungquan.info/aapanel-1-huong-dan-cai-dat-control-aapanel-len-may-chu-linux/)
  3. Docker: Đã cài đặt Docker và Docker Compose thông qua aaPanel Docker Manager.
  4. Kết nối SSH: Truy cập terminal qua SSH (Putty, Terminal, hoặc aaPanel Terminal).
  5. Dung lượng: Ít nhất 2GB RAM và 10GB dung lượng trống để chạy UniTime và cơ sở dữ liệu.

Bước 1: Cài đặt aaPanel và Docker

1. Cài đặt aaPanel:

Truy cập SSH và chạy lệnh cài đặt aaPanel

URL=https://www.aapanel.com/script/install_7.0_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_7.0_en.sh "$URL";fi;bash install_7.0_en.sh aapanel

cài đặt UniTime với Docker

Sau khi cài xong, truy cập giao diện aaPanel qua trình duyệt: http://:port được cung cấp như ảnh.

2. Cài Docker trong aaPanel:

Vào App Store > Tìm Docker > Nhấn Install. Sau khi cài xong, vào Docker Manager để kiểm tra Docker và Docker Compose đã sẵn sàng.

cài đặt UniTime với Docker

Bước 2: Tải và giải nén UniTime

Bạn có thể xem và tải các phiên bản mới tại đây: https://builds.unitime.org/

1. Tải tệp UniTime:

Trong terminal của aaPanel (hoặc SSH), chạy lệnh:

wget https://builds.unitime.org/unitime-4.8_bld189.zip

Lệnh này sẽ tải tệp nén UniTime 4.8 (build 189) từ máy chủ chính thức.

2. Giải nén tệp:

Thực hiện chạy lệnh sau

unzip unitime-4.8_bld189.zip

Sau khi giải nén, bạn sẽ thấy một thư mục chứa mã nguồn và tệp cấu hình Docker.

3. Di chuyển vào thư mục Docker:

Thực hiện chạy lênh sau

cd docker/

Thư mục này chứa tệp docker-compose.yml và các tệp liên quan để triển khai UniTime.

Bước 3: Build và chạy UniTime với Docker

1. Build Docker images:

Chạy lệnh sau

docker-compose build

Lệnh này sẽ tạo các container cần thiết (bao gồm UniTime application server và cơ sở dữ liệu) dựa trên cấu hình trong docker-compose.yml

2. Khởi động UniTime:

Chạy lệnh sau

docker-compose up

Lệnh này sẽ khởi động tất cả các dịch vụ (UniTime và database). Nếu muốn chạy ở chế độ nền, thêm -d:

docker-compose up -d

CleanShot 2025 03 19 at 13.47.33

3. Kiểm tra trạng thái:

Trong aaPanel, vào Docker Manager > Tab Container để xem các container đang chạy (thường bao gồm unitime_app và unitime_db).

cài đặt UniTime với Docker

Nếu không có lỗi, UniTime sẽ chạy trên cổng mặc định (thường là 8888). User/passwd đều là admin/admin

cài đặt UniTime với Docker
cài đặt UniTime với Docker

Bước 4: Tạo proxy truy cập với tên miền và cài SSL

Việc tạo một proxy sẽ giúp bạn có thể truy cập bằng tên miền riêng của bạn.

Bạn chọn vào Website > Proxy Project. Sau đó chọn Add proxy và nhập vào các thông tin sau

  • Domain name: Nhập vào tên miền
  • Target: Nhập vào http://ip:port

Các thông tin khác thì bạn giữa nguyên và chọn Confirm

cài đặt UniTime với Docker

Nếu muốn cài đặt SSL cho tên miền, bạn click vào dòng Not Set như ảnh. Chọn Let’s Encrypt => Chọn tên miền cài SSL và chọn Apply

cài đặt UniTime với Docker

Sau khi thiết lập xong, bạn đã có thể truy cập với tên miền.

cài đặt UniTime với Docker

Bước 5: Tùy chỉnh (Tùy chọn)

  • Cấu hình cơ sở dữ liệu: Mở tệp docker-compose.yml để thay đổi thông tin database (nếu cần dùng MySQL/PostgreSQL bên ngoài).
  • Thay đổi cổng: Chỉnh sửa cổng trong docker-compose.yml nếu cổng 8888 đã được sử dụng.

Kết luận

UniTime là một công cụ mạnh mẽ, miễn phí và linh hoạt để quản lý lịch trình học tập. Với hướng dẫn trên, bạn đã cài đặt thành công UniTime bằng Docker trên aaPanel, tận dụng giao diện quản lý tiện lợi của aaPanel để giám sát và vận hành. Bây giờ, bạn có thể bắt đầu cấu hình lịch học, kỳ thi và phòng học cho tổ chức của mình!

Nếu bạn cần thêm thông tin hoặc hỗ trợ, hãy tham khảo tài liệu chính thức tại https://www.unitime.org/ hoặc cộng đồng mã nguồn mở trên GitHub.

5/5 - (1 bình chọn)
aapaneldockerUniTime

Tham gia nhóm hỗ trợ WordPress

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay
ĐỖ TRUNG QUÂN

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn. Hiện tại mình là admin của Blog DOTRUNGQUAN.INFO - CaiSSL.COM - QuantriVPS.COM. Mới đây mình có tạo ra nhóm Hỗ trợ Server - Hosting & WordPress | Hỗ Trợ Xử Lý Mã Độc WordPress với mục đích gây dựng một cộng đồng nhỏ để mọi người trao đổi kinh nghiệm, kiến thức quản trị VPS. Các thủ thuật, mẹo vặt khi sử dụng VPS. Rất mong nhận được sự ủng hộ của các bạn.

BÀI VIẾT LIÊN QUAN

Hướng dẫn cài đặt Docker Compose trên Ubuntu

21/03/2025

Hướng dẫn cài đặt Docker trên Ubuntu

21/03/2025

Top các lệnh Docker thường sử dụng

19/03/2025

Hướng dẫn cài đặt n8n trên aaPanel

28/02/2025

Hướng dẫn xử lý mysql-bin trên aaPanel

09/09/2024

Thiết Lập Website Chạy Bằng IP Với SSL:...

03/06/2024

Sửa lỗi cài đặt MariaDB trên AAPANEL

02/06/2024

Hướng dẫn backup dữ liệu trên AAPANEL

05/10/2023

Danh sách ControlPanel quản lý VPS miễn phí...

28/07/2023

Sửa lỗi AttributeError: module ‘lib’ has no attribute...

08/05/2023
Author Box
Author Image

ĐỖ TRUNG QUÂN

Chuyên viên quản trị hệ thống.

Tư vấn & triển khai dịch vụ

VPS | Hosting | SSL | Mailserver | Website | Sửa lỗi WordPress

Bài viết của tác giả

Hosting/VPS khuyên dùng

Phổ Biến

  • Hướng dẫn tạo SSH Key trên macOS

  • Hướng dẫn sử dụng SSH Key

  • Hướng dẫn cài đặt v2board trên AAPANEL

  • Vấn đề IP Public liên tục bị thay đổi vì sao và cách khắc phục

  • Khắc phục lỗi không hiện hình ảnh và mô tả khi share link lên Facebook

  • Hướng dẫn kích hoạt Theme Flatsome mới nhất.

BẠN BÈ & ĐỐI TÁC

Thạch Phạm | CỔ Ý CONCEPT | Trương Quốc Cường | Đàm Trung Kiên | Web An Tâm | Phong Đinh | Học Mò | PHUNG.VN | Đăng Đạt

Bạn được quyền sao chép lại nội dung trên website Đỗ Trung Quân, miễn là có dẫn nguồn.

Hosting/VPS được tài trợ bởi AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay

AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay


Back To Top
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT
  • WEB MẪUHOT