Hầu hết các máy tính hiện đại đều được tích hợp sẵn hoặc dễ dàng cài đặt một máy chủ web cục bộ. Mặc dù việc thiết lập có thể tốn một chút thời gian và công sức ban đầu, nhưng theo kinh nghiệm của chúng tôi tại Thời Báo Công Nghệ, đây là một khoản đầu tư xứng đáng. Thậm chí, chúng tôi coi một máy tính chưa được cấu hình đầy đủ nếu không thể truy cập localhost
trong trình duyệt. Việc có một máy chủ web cục bộ không chỉ mở ra nhiều khả năng mới mà còn là nền tảng vững chắc cho bất kỳ ai muốn khám phá sâu hơn về công nghệ web.
Máy Chủ Web Cục Bộ Là Gì?
Đằng sau mỗi trang web mà bạn truy cập là một máy chủ web. Thuật ngữ này có thể dùng để chỉ cả phần mềm và phần cứng: chương trình lắng nghe các yêu cầu URL và phục vụ các tài liệu tương ứng, cũng như máy tính mà chương trình đó đang chạy. Trong ngữ cảnh này, chúng tôi đang đề cập đến phần mềm – như Apache hoặc Nginx – mà bạn có thể thiết lập trên máy tính để bàn của mình. Khi đó, máy tính của bạn sẽ hoạt động như một máy chủ web.
Việc thiết lập một máy chủ web cục bộ không nhất thiết có nghĩa là nó sẽ được mở ra Internet để bất kỳ ai trên thế giới cũng có thể xem. Trên thực tế, chúng tôi khuyên bạn không nên làm như vậy. Mặc dù bạn có thể lưu trữ một máy chủ web công khai từ nhà, nhưng bạn chỉ nên thực hiện như một thử nghiệm tạm thời vì lý do bảo mật và chi phí. Tuy nhiên, một máy chủ web cục bộ mà chỉ bạn có thể xem lại là một câu chuyện khác.
Với một máy chủ web cục bộ đã được thiết lập, bạn có thể xem các tệp của mình trong trình duyệt web, thường là bằng cách truy cập http://localhost/
. Thông thường, thao tác này sẽ hiển thị một trang “chào mừng”, mặc dù bạn có thể cần cài đặt và cấu hình máy chủ web của mình, tùy thuộc vào hệ điều hành bạn đang sử dụng.
Trang mặc định của Apache trên Ubuntu hiển thị thông tin cấu hình chi tiết của máy chủ web cục bộ.
Hướng Dẫn Cài Đặt và Cấu Hình Máy Chủ Web
Nếu bạn đang sử dụng Windows, Internet Information Services (IIS) có thể đã có sẵn, bạn chỉ cần kích hoạt nó. Bạn có thể thấy máy chủ web này hoạt động tốt cho mục đích của mình, nhưng đây là một sản phẩm độc quyền và không được sử dụng phổ biến như Apache.
Apache vẫn là máy chủ web nổi tiếng và phổ biến nhất trên tất cả các hệ điều hành. Nó rất dễ cài đặt và bắt đầu, mặc dù đây cũng là một chương trình có khả năng cấu hình cao và có thể phức tạp nếu bạn muốn thử bất cứ điều gì ngoài những điều cơ bản. Apache được cài đặt theo mặc định trên macOS và thậm chí có thể đang chạy tự động mà bạn không hề hay biết – chỉ cần kiểm tra http://localhost/
để xem. Nếu Apache chưa chạy trên macOS, hãy thử chạy lệnh sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
.
Nginx là một giải pháp thay thế tuyệt vời và, giống như Apache, là phần mềm miễn phí và mã nguồn mở. Nếu bạn đang chạy một bản phân phối Linux không đi kèm Apache, bạn nên cài đặt Nginx để có trải nghiệm ban đầu tốt hơn một chút. Lệnh cài đặt trên Ubuntu rất đơn giản:
sudo apt install nginx
Bất kể bạn cài đặt máy chủ web nào, bạn cũng sẽ cần thiết lập một thư mục gốc tài liệu (Document Root). Đây là thư mục cấp cao nhất của máy chủ của bạn và – theo mặc định – bạn sẽ chỉ có thể xem các tệp bên dưới thư mục này qua http://localhost
. Vị trí Apache mặc định trên macOS là /Library/WebServer/Documents
, trong khi /var/www/html
là điển hình trên Linux, cho cả Apache và Nginx. Vị trí cụ thể có thể khác nhau tùy thuộc vào bản phân phối của bạn.
Để kiểm tra thư mục gốc tài liệu, hãy tìm cài đặt liên quan trong tệp cấu hình cho máy chủ web của bạn. Đối với Apache trên macOS, tệp này nằm ở /etc/apache2/httpd.conf
:
DocumentRoot "/Library/WebServer/Documents"
Trên Linux, bạn có thể tìm thấy tệp cấu hình tại /etc/apache2/sites-enabled/000-default.conf
. Đối với Nginx, tệp này nằm ở /etc/nginx/sites-enabled/default
và chỉ thị sẽ trông như thế này:
root /var/www/html;
Nếu bạn muốn thiết lập một trang web ở vị trí mặc định thì không sao, nhưng chúng tôi khuyên bạn nên dành riêng một thư mục trong thư mục nhà của mình và phục vụ các tệp từ đó thay thế.
Các Ứng Dụng Hữu Ích Của Máy Chủ Web Cục Bộ
Một máy chủ web cục bộ là hoàn hảo cho các trang web cục bộ, nhưng nó có thể làm được nhiều điều hơn thế.
1. Duyệt Các Phần Trong Hệ Thống Tệp Của Bạn
Chỉ với một chút cấu hình, bạn có thể sử dụng trình duyệt web của mình giống như một trình quản lý tệp. Nó sẽ ở chế độ chỉ đọc, vì vậy bạn sẽ không thể sử dụng nó để quản lý tệp như đổi tên hoặc xóa. Nhưng bạn sẽ có thể điều hướng qua các thư mục, xem danh sách các tệp bên trong chúng và mở các tệp đó:
Danh sách thư mục mặc định của Apache hiển thị các thư mục và tệp tin với ngày sửa đổi, có thể duyệt qua trình duyệt.
Module autoindex
của Apache tạo ra các chỉ mục thư mục khi bạn yêu cầu một URL ánh xạ tới một thư mục. Điều này giống như chạy ls directory
trên dòng lệnh, mặc dù đầu ra tương tác hơn một chút. Chúng tôi có một thư mục trên ổ cứng chứa phần lớn công việc, bài viết, ghi chú, hình ảnh và vân vân. Bằng cách đặt một máy chủ web phía trước nó, chúng tôi có thể duyệt qua các tệp này bất cứ khi nào chúng tôi ở trong trình duyệt web – vốn là phần lớn thời gian. Chúng tôi nhận thấy rằng việc có một cái nhìn tức thì về tất cả nội dung cá nhân của mình rất hữu ích.
Giao diện mặc định trông rất cổ điển, nhưng bạn có thể tùy chỉnh nó bằng CSS và JavaScript của riêng mình nếu bạn biết cách làm. Chúng tôi đã thiết lập một hệ thống phù hợp với mình, cập nhật thiết kế một chút và thêm các tính năng như cột có thể ẩn và một bộ lọc tìm kiếm đơn giản:
Giao diện duyệt thư mục Apache tùy chỉnh với các kiểu dáng và ô tìm kiếm, nâng cao trải nghiệm người dùng.
2. Đọc Tài Liệu và Tệp Trợ Giúp Dưới Định Dạng HTML hoặc Markdown
Khi bạn cài đặt phần mềm hoặc tải xuống bất kỳ bộ sưu tập tệp nào, bạn thường sẽ nhận được một số tài liệu rất hữu ích. Điều này có thể ở định dạng văn bản đơn giản, định dạng có cấu trúc như Markdown hoặc HTML, hoặc thậm chí là PDF. Dù là định dạng nào, trình duyệt của bạn đều có thể xử lý nó, hiển thị tài liệu mà không cần mở một ứng dụng riêng biệt.
Đối với Markdown, chúng tôi thích sử dụng tiện ích mở rộng Markdown Viewer cho Chrome, đơn giản như tên gọi của nó. Công cụ này trình bày các tài liệu Markdown ở định dạng hấp dẫn, dễ đọc, với các tùy chọn để xử lý emoji, mục lục và nhiều hơn nữa.
Một trang web hiển thị tài liệu Markdown được định dạng đẹp mắt trong trình duyệt Chrome với tiện ích Markdown Viewer.
3. Phát Triển và Kiểm Thử Web Offline
Khi bạn đang phát triển cho web, một máy chủ web cục bộ vô cùng hữu ích. Thay vì tải tệp của bạn lên máy chủ thử nghiệm hoặc – tệ hơn – chỉ cầu nguyện và đưa tất cả chúng lên trực tuyến, một máy chủ cục bộ cho phép bạn xem công việc đang thực hiện của mình mà không gặp rắc rối. Bạn thậm chí có thể làm việc offline, không cần kết nối internet!
Điều này áp dụng cho công việc thiết kế web, nội dung viết của bạn và cả lập trình phức tạp, cho dù đó là JavaScript phía máy khách hay một ngôn ngữ backend. Nếu bạn đang làm việc với ngôn ngữ backend, bạn sẽ cần cấu hình máy chủ web của mình để xử lý nó, nhưng đây là một quy trình tương đối đơn giản.
4. Tự Host Ứng Dụng Web Cá Nhân
Nhiều ứng dụng “tự host” (self-hosted) nhắm đến đối tượng người dùng máy chủ web cục bộ và một số ứng dụng phổ biến nhất là để tiêu thụ phương tiện, như trình phát nhạc hoặc thư viện hình ảnh. Thiết lập này nhanh hơn nhiều so với giải pháp dựa trên đám mây và bạn không cần tốn băng thông để tải lên và tải xuống các tệp lớn.
Logo máy chủ media Jellyfin trên màn hình máy tính, minh họa ứng dụng tự host.
Piwigo là một ứng dụng web mã nguồn mở để quản lý ảnh và các phương tiện khác. Bạn có thể sử dụng phiên bản tự host miễn phí, mặc dù bạn sẽ cần PHP và MySQL cũng như một máy chủ web.
Giao diện quản lý ảnh của Piwigo, hiển thị một bức ảnh trong album "Sunsets" với các tùy chọn chỉnh sửa tên và mô tả.
FreshRSS là một trình tổng hợp RSS gọn gàng, nhẹ. Bạn có thể thử bản demo trực tuyến hoặc tải xuống và host ứng dụng trên máy chủ web đang chạy PHP.
Giao diện của FreshRSS, một trình tổng hợp RSS tự host, hiển thị danh sách các bài đăng và tin tức.
5. Duy Trì Thư Viện Bookmarklet JavaScript
Bạn có thể sử dụng dấu trang của trình duyệt web để mở rộng chức năng của bất kỳ trang web nào, bằng cách viết mã JavaScript của riêng bạn hoặc tải xuống các tập lệnh hiện có. Tuy nhiên, khi các tập lệnh này bắt đầu trở nên phức tạp hơn, dấu trang khó có thể chứa chúng.
Để làm cho quá trình dễ dàng hơn, tại sao không lưu trữ các tập lệnh như vậy trên máy chủ cục bộ của bạn và tải chúng vào các trang thông qua một dấu trang trong trình duyệt? Thiết lập này cho phép bạn thực hiện các tác vụ như kiểm tra chính tả một trang, trích xuất dữ liệu từ đó hoặc thay đổi kiểu của nó để ẩn các phần tử không mong muốn.
Kết Luận
Một số khía cạnh của việc tự host đang dần lỗi thời, được thay thế bằng các hình ảnh Docker hoặc dịch vụ dựa trên đám mây. Tuy nhiên, việc tự host máy chủ web cục bộ rất dễ thực hiện, là một cách tuyệt vời để thực hành quản trị hệ thống và cho phép bạn kiểm soát chính xác những gì đang chạy trên máy tính của mình. Với vô vàn lợi ích từ việc phát triển web offline, quản lý tài liệu cá nhân đến việc tự vận hành các ứng dụng yêu thích, một máy chủ web cục bộ chắc chắn là một công cụ không thể thiếu cho bất kỳ ai đam mê công nghệ. Hãy bắt tay vào thiết lập ngay hôm nay và khám phá những tiện ích tuyệt vời mà nó mang lại!