Máy chủ web cục bộ

XAMPP

Dựng môi trường chạy web trên máy cá nhân chỉ bằng một lần cài

Rất nhiều người học lập trình web bỏ cuộc trước khi viết được dòng mã đầu tiên, vì mắc kẹt ở khâu cài đặt và cấu hình máy chủ.

Cài một lần đủ bộHợp người mới họcKhông dùng cho máy chủ thật
7.6
ĐIỂM TOPỨNGDỤNG
Hạng #17 trong nhóm Developer & lập trình
Nhà phát triển
Apache Friends
Nền tảng
Windows · macOS · Linux
Giá
Miễn phí hoàn toàn, mã nguồn mở · Không có bản trả phí · Windows, macOS, Linux
Ngôn ngữ
English (rất nhiều tài liệu hướng dẫn tiếng Việt)
NGƯỜI DÙNG CHẤM

Bạn đánh giá XAMPP thế nào?

Điểm này độc lập với điểm của ban biên tập và quyết định thứ hạng ở tab “Người dùng bình chọn”.

Chưa có bình chọn
Bạn thấy sao?
Không cần đăng nhập. Mỗi người một phiếu, đổi lại được.
CHẤM ĐIỂM

Điểm từng tiêu chí

Điểm tổng là trung bình có trọng số của các tiêu chí bên dưới.

Dễ với người mới
9.5
Thời gian dựng ban đầu
9.5
Tài liệu tiếng Việt
9
Mức an toàn mặc định
4
Giống môi trường máy chủ thật
4.5
REVIEW

Đánh giá chi tiết XAMPP

Trả lời ngắn: XAMPP vẫn là cách nhanh nhất để người mới học web có máy chủ, cơ sở dữ liệu và ngôn ngữ xử lý trên máy mình trong mười phút.

Cảnh báo quan trọng: nó được thiết kế cho việc học, cấu hình mặc định không an toàn để đưa ra Internet.

Vì sao người mới cần một gói dựng sẵn?

Để chạy được một trang web động trên máy mình, bạn cần ba thứ chạy cùng lúc: một máy chủ web nhận yêu cầu, một bộ xử lý ngôn ngữ, và một cơ sở dữ liệu.

Cài riêng từng thứ rồi cấu hình cho chúng nhìn thấy nhau là việc mất cả buổi với người có kinh nghiệm, và có thể mất cả tuần với người mới học.

Tệ hơn, những lỗi gặp phải ở giai đoạn này hoàn toàn không liên quan gì tới lập trình. Rất nhiều người bỏ cuộc trước khi viết được dòng mã đầu tiên.

Gói dựng sẵn xoá bỏ rào cản đó. Bạn tải một tệp, cài đặt, bấm hai nút khởi động, và mọi thứ đã sẵn sàng.

XAMPP làm được gì?

ViệcMức độGhi chú
Dựng môi trường học web trong vài phútTốt nhấtMục đích tồn tại của nó
Bảng điều khiển bật tắt từng dịch vụRất tốtRất trực quan với người mới
Công cụ quản trị cơ sở dữ liệu qua trình duyệtRất tốtĐủ cho việc học
Chạy được trên Windows, macOS và LinuxTốtBản Windows phổ biến nhất
Miễn phí hoàn toànTốtKhông có bản trả phí
Tài liệu hướng dẫn tiếng ViệtTốtRất nhiều vì được dạy trong trường
Mức an toàn của cấu hình mặc địnhKémTài khoản quản trị không đặt mật khẩu
Giống với môi trường máy chủ thậtKémKhác biệt gây lỗi khi triển khai
Quản lý nhiều phiên bản ngôn ngữKémĐổi phiên bản rất phiền

Ai nên dùng XAMPP?

  • Sinh viên học môn lập trình web — nhóm dùng nhiều nhất ở Việt Nam.
  • Người tự học muốn thử ngay không vướng cấu hình — rào cản thấp nhất.
  • Ai cần dựng nhanh một trang thử nghiệm trên máy — mười phút là xong.
  • Giáo viên cần môi trường đồng nhất cho cả lớp — hướng dẫn một lần cho tất cả.

Không phù hợp cho dự án làm việc thật — Docker tạo được môi trường giống hệt máy chủ thật.

Vì sao không nên dùng cho máy chủ thật?

Đây là điều cần nói rõ vì vẫn có người đưa nguyên gói này lên máy chủ chạy trang thật.

Vấn đềRủi ro cụ thể
Tài khoản quản trị cơ sở dữ liệu không có mật khẩuAi truy cập được là toàn quyền dữ liệu
Công cụ quản trị mở công khaiBị dò tìm tự động liên tục
Thông báo lỗi hiển thị chi tiết đường dẫn hệ thốngCung cấp thông tin cho kẻ tấn công
Phiên bản thành phần thường cũ hơn bản vá mới nhấtCó thể tồn tại lỗ hổng đã công bố
Cấu hình ưu tiên tiện lợi hơn an toànNhiều giới hạn bảo vệ bị nới lỏng sẵn
Không có cơ chế sao lưu tích hợpMất dữ liệu không khôi phục được
Có một rủi ro ngay cả khi bạn chỉ dùng trên máy cá nhân: khi ngồi ở quán cà phê hay mạng công cộng, dịch vụ đang chạy có thể nhìn thấy được từ các máy khác trong cùng mạng. Cơ sở dữ liệu với tài khoản quản trị không mật khẩu lúc đó nằm phơi ra cho bất cứ ai trong quán. Cách xử lý đơn giản là tắt hẳn các dịch vụ khi không lập trình, thay vì để chúng chạy nền cả ngày. Nếu bạn hay làm việc ở nơi công cộng, hãy đặt mật khẩu cho tài khoản quản trị ngay cả trên máy cá nhân — mất năm phút và loại bỏ được rủi ro này.

Quy trình thiết lập cho việc học

  1. Cài đặt và khởi động thử hai dịch vụ chính (15 phút) — Máy chủ web và cơ sở dữ liệu.
  2. Xử lý xung đột cổng nếu có (30 phút) — Lỗi phổ biến nhất với người mới.
  3. Đặt mật khẩu cho tài khoản quản trị cơ sở dữ liệu (5 phút) — Đừng bỏ qua bước này.
  4. Tạo thư mục dự án trong đúng nơi máy chủ đọc (10 phút) — Chỗ hay nhầm.
  5. Tập thói quen tắt dịch vụ khi không dùng (liên tục) — Vừa an toàn vừa đỡ tốn máy.
  6. Học cách sao lưu cơ sở dữ liệu ra tệp (30 phút) — Trước khi có bài tập quan trọng.

Vì sao lỗi xung đột cổng lại phổ biến đến vậy?

Đây là lỗi khiến rất nhiều người mới bỏ cuộc ngay ngày đầu, dù nguyên nhân rất đơn giản.

Máy chủ web mặc định dùng một cổng cố định trên máy bạn. Vấn đề là nhiều phần mềm khác cũng dùng đúng cổng đó — phần mềm gọi thoại doanh nghiệp, một số công cụ tăng tốc mạng, hoặc dịch vụ web đi kèm hệ điều hành.

Khi trùng, bảng điều khiển báo lỗi rồi dừng lại, và thông báo lỗi không nói rõ phần mềm nào đang chiếm cổng.

Có hai cách xử lý. Cách nhanh là đổi máy chủ web sang một cổng khác trong tệp cấu hình, sau đó bạn phải thêm số cổng vào địa chỉ khi mở trình duyệt. Cách sạch hơn là tìm phần mềm đang chiếm cổng và tắt nó đi. Với người mới, cách đầu tiên nhanh hơn và không rủi ro gì.

Hạn chế cần biết

Cấu hình mặc định không an toàn

Chỉ nên dùng trên máy cá nhân để học.

Khác biệt với môi trường máy chủ thật

Mã chạy tốt ở đây vẫn có thể hỏng khi triển khai.

Đổi phiên bản ngôn ngữ rất phiền

Thường phải cài lại cả gói.

Các thành phần không phải bản mới nhất

Cập nhật chậm hơn khi cài riêng.

Không phù hợp cho dự án nhiều người

Mỗi máy một cấu hình khác nhau.

XAMPP so với các cách khác

Tiêu chíXAMPPDockerCài từng thành phần riêng
Dễ với người mớiTốt nhấtKháKém
Giống môi trường máy chủ thậtKémTốt nhấtRất tốt
Đổi phiên bản thành phầnKémTốt nhấtTốt
Dùng chung cấu hình trong nhómKémTốt nhấtKém
Thời gian dựng ban đầuTốt nhấtTốtKém
Mức an toàn mặc địnhKémTốtRất tốt

Xem thêm đánh giá Docker, đánh giá DBeaver, đánh giá Visual Studio Code, hoặc duyệt nhóm công cụ lập trình.

Kết luận

XAMPP vẫn giữ nguyên giá trị ở đúng vai trò của nó: giúp người mới học web vượt qua rào cản cấu hình để bắt đầu viết mã.

Với mục đích đó thì nó vẫn là lựa chọn tốt nhất, và hàng chục nghìn sinh viên Việt Nam mỗi năm bắt đầu từ đây là có lý do.

Nhưng hãy coi nó là bước đệm. Khi bạn chuyển sang làm dự án thật cùng người khác, đã đến lúc học một công cụ tạo được môi trường giống hệt máy chủ thật.

Về bài đánh giá này: Phiên bản các thành phần đi kèm XAMPP thay đổi theo bản phát hành. Kiểm tra thông tin hiện hành tại trang chủ XAMPP.
ĐÁNH GIÁ

Điểm mạnh & điểm yếu

Điểm mạnh

  • Dựng xong môi trường học web trong khoảng mười phút
  • Bảng điều khiển bật tắt từng dịch vụ rất trực quan với người mới
  • Kèm sẵn công cụ quản trị cơ sở dữ liệu chạy trên trình duyệt
  • Có bản cho cả ba hệ điều hành phổ biến
  • Được dạy rộng rãi trong trường nên tài liệu tiếng Việt rất nhiều

Điểm yếu

  • Tài khoản quản trị cơ sở dữ liệu mặc định không có mật khẩu
  • Môi trường khác máy chủ thật nên mã chạy tốt ở đây vẫn có thể hỏng khi triển khai
  • Đổi phiên bản ngôn ngữ thường phải cài lại cả gói
  • Các thành phần đi kèm thường cũ hơn bản vá mới nhất
  • Mỗi máy một cấu hình khác nhau nên không hợp với dự án nhiều người
Phù hợp nhất với
Sinh viên học môn lập trình webNgười tự học muốn thử ngay không vướng cấu hìnhNgười cần dựng nhanh trang thử nghiệm trên máyGiáo viên cần môi trường đồng nhất cho cả lớp
HỎI ĐÁP

Câu hỏi thường gặp

Vì sao người mới cần một gói dựng sẵn?

Vì trang web động cần máy chủ web, bộ xử lý ngôn ngữ và cơ sở dữ liệu chạy cùng lúc, mà cấu hình cho chúng nhìn thấy nhau rất mất thời gian.

Vì sao nhiều người bỏ cuộc ở giai đoạn này?

Vì những lỗi gặp phải hoàn toàn không liên quan gì tới lập trình, nên rất dễ nản.

Vì sao lỗi xung đột cổng lại phổ biến?

Vì máy chủ web dùng một cổng cố định mà nhiều phần mềm khác cũng dùng, như phần mềm gọi thoại doanh nghiệp hay dịch vụ web đi kèm hệ điều hành.

Cách xử lý nhanh nhất cho người mới là gì?

Đổi máy chủ web sang cổng khác trong tệp cấu hình, sau đó thêm số cổng vào địa chỉ khi mở trình duyệt.

Vì sao không nên đưa nguyên gói này lên máy chủ thật?

Vì tài khoản quản trị không có mật khẩu, công cụ quản trị mở công khai, và thông báo lỗi hiển thị chi tiết đường dẫn hệ thống.

Dùng trên máy cá nhân có rủi ro gì không?

Có — khi ngồi ở mạng công cộng, dịch vụ đang chạy có thể nhìn thấy được từ các máy khác trong cùng mạng.

Cách phòng tránh đơn giản là gì?

Tắt hẳn các dịch vụ khi không lập trình, và đặt mật khẩu cho tài khoản quản trị ngay cả trên máy cá nhân.

Chỗ nào người mới hay nhầm khi tạo dự án?

Đặt thư mục dự án không nằm trong đúng nơi mà máy chủ web đọc tới.

Khi nào nên chuyển sang công cụ khác?

Khi bạn bắt đầu làm dự án thật cùng nhiều người và cần môi trường giống hệt máy chủ.

KẾT LUẬN

Hãy coi nó là bước đệm — khi chuyển sang làm dự án thật cùng người khác, đã đến lúc học công cụ tạo được môi trường giống hệt máy chủ.