Localhost là một khái niệm khá quen thuộc với các nhà phát triển hay lập trình web, bất kể đó là ngôn ngữ lập trình nào đi chăng nữa. Vậy thực tế localhost là gì? Nguyên lý hoạt động của nó thế nào? Gofiber sẽ lần lượt làm rõ các khái niệm đó trong bài viết này, đồng thời hướng dẫn các bạn cách cài localhost trên máy tính đơn giản và ít tốn thời gian nhất.
Localhost là gì?
Localhost là từ ghép của hai chữ local mang ý nghĩa nội bộ hay cục bộ và host mang ý nghĩa là máy chủ. Chỉ với chừng ấy, chúng ta cũng dễ dàng hiểu được rằng localhost là đang chỉ về hệ thống máy chủ nội bộ. Và nội bộ ở đây chính là trên máy tính cá nhân hoặc một máy tính thuộc một hệ thống mạng LAN nào đó.
Về cơ bản, localhost cũng như một webserver với đầy đủ các module như Apache, MySQL, PHP, PHPMyadmin, v.v. Chỉ khác webserver thông thường ở chỗ localhost này chạy trên một máy tính cá nhân, có thể là PC hay laptop của chính bạn và chỉ có bạn mới có thể truy cập vào các hệ thống website đang chạy trên đó. Nếu được cấu hình thêm, ví dụ như mở port để hòa làm một phần của hệ thống webserver trên internet, thì máy tính của bạn có thể trở thành một webserver thực sự.
Vì sao các lập trình viên thường cài localhost trên máy tính cá nhân?
Các lập trình viên hay web developer thông thường đều cài một hệ thống localhost trên máy tính để phục vụ cho các mục đích khác nhau, phổ biến nhất là 3 mục đích sau:
#1. Thử nghiệm các trang web hoặc ứng dụng web trên máy tính
Localhost đang là một phương tiện gần như chuẩn mực cho các lập trình viên để sử dụng cho việc kiểm tra và phát triển phần mềm và các ứng dụng web. Với môi trường localhost, các nhà phát triển ứng dụng web có thể chủ động thử nghiệm cũng như vá lỗi cho ứng dụng của mình trên máy tính cá nhân trước khi đưa giới thiệu công khai trên internet.
Việc sử dụng localhost để kiểm tra phần mềm và ứng dụng web còn có thêm nhiều lợi ích hơn. Điển hình nhất là tiết kiệm thêm thời gian và tiền bạc, ngoài ra còn đảm bảo cho việc phát triển và cập nhật thêm tính năng mới sẽ không làm ảnh hưởng đến hệ thống website đang vận hành.
#2. Kiểm tra kết nội bằng phương pháp ping localhost
Khi bạn gửi ping đến localhost, máy tính của bạn sẽ gửi một gói tin ICMP (Internet Control Message Protocol) đến địa chỉ IP của localhost, thông thường là 127.0.0.1. Nếu kết quả trả về là thành công, có nghĩa là máy tính của bạn đang hoạt động bình thường và có thể kết nối với mạng và giao thức TCP/IP.
Việc kiểm tra kết nối bằng cách tự ping đến localhost là một cách đơn giản và nhanh chóng để xác định vấn đề kết nối mạng trên máy tính của bạn. Tuy nhiên, nếu ping đến localhost không thành công, thì không phải lúc nào cũng có nghĩa là máy tính của bạn có vấn đề kết nối mạng. Có thể có nhiều nguyên nhân gây ra việc không thể ping được localhost, bao gồm thiết lập tường lửa hoặc cấu hình mạng không chính xác.
#3. “Chặn” truy cập đến một tên miền nào đó
Đây là phương pháp thường được áp dụng cho hệ thống Windows bằng cách chỉnh sửa file hosts và thay đổi địa chỉ IP của một tên miền thành địa chỉ localhost của chính bạn là 127.0.0.1. Cách này trước đây thường được sử dụng để ngăn chặn và chuyển hướng các lệnh active của phần mềm nhằm về localhost để “ăn gian” thời gian sử dụng. Ngoài ra nếu muốn ngăn chặn máy tính truy cập vào một tên miền bất kỳ cũng có thể áp dụng cách này.
Lưu ý phân biệt localhost và 127.0.0.1
Mặc dù localhost và 127.0.0.1 được sử dụng gần như là một trong hầu hết các trường hợp, nhưng thực tế hai khái niệm này lại thực ra không phải hoàn toàn giống nhau. Một điển hình đó là việc Localhost đóng vai trò là nhãn hay tên miền (domain name) trong giao thức loopback cho địa chỉ IP và nó có thể được trỏ vào những địa chỉ IP khác nhau. Tuy nhiên, khi được trỏ ra một địa chỉ IP ngoài khối 127 sẽ có thể phá vỡ chức năng quan trọng trên hệ thống. Điều này có thể dẫn đến việc làm bất kỳ ứng dụng nào dựa trên kết nối localhost gặp sự cố.
Hướng dẫn cài đặt localhost
Lưu ý trước khi cài đặt
Trước khi cài đặt localhost trên máy tính của mình, bạn cần trang bị một số kiến thức về các module cơ bản giúp cấu thành một webserver local hoàn chỉnh. Một vài module và ứng dụng có thể kể đến như sau:
Apache
Apache là một phần mềm máy chủ web, thường được tích hợp với đa số các phần mềm localhost. Khi cài đặt Apache trên localhost, bạn có thể sử dụng nó để phục vụ các tệp tĩnh như trang HTML, hình ảnh và video, và thậm chí các ứng dụng web động được xây dựng bằng các ngôn ngữ lập trình web như PHP hoặc Python.
Với localhost, Apache là một giải pháp lý tưởng để phát triển và kiểm thử các ứng dụng web trên máy tính cá nhân của bạn trước khi triển khai chúng trên môi trường máy chủ thực tế. Apache cũng là một giải pháp tuyệt vời cho các nhà phát triển web mới bắt đầu học và thực hành các kỹ năng phát triển web.
PHP
PHP là một ngôn ngữ lập trình web phổ biến, thường được sử dụng để phát triển các ứng dụng web động. Khi sử dụng PHP trên localhost, bạn có thể phát triển và kiểm thử các ứng dụng web trên máy tính cá nhân của mình trước khi triển khai chúng trên môi trường máy chủ thực tế.
Khi sử dụng PHP trên localhost, bạn có thể sử dụng các tính năng của ngôn ngữ như kết nối cơ sở dữ liệu, thao tác với tệp tin và các thư viện khác để phát triển các ứng dụng web động và tương tác với các tệp tĩnh như trang HTML, hình ảnh và video.
MYSQL
Để sử dụng MySQL trên localhost, bạn cần cài đặt MySQL trên máy tính của mình và khởi động nó. Sau đó, bạn có thể kết nối đến MySQL từ các ứng dụng web của mình sử dụng các API hoặc thư viện MySQL.
Khi sử dụng MySQL trên localhost, bạn có thể tạo các bảng dữ liệu, thêm, xóa, cập nhật dữ liệu và thực hiện các truy vấn để tìm kiếm dữ liệu. Bạn cũng có thể sử dụng MySQL để quản lý các người dùng và phân quyền truy cập đến cơ sở dữ liệu của bạn.
PHPMyadmin
PhpMyAdmin là một ứng dụng web miễn phí mã nguồn mở được sử dụng để quản lý cơ sở dữ liệu MySQL thông qua giao diện trực quan trên trình duyệt web. Nó được phát triển bằng PHP và được cung cấp bởi Apache License.
Với PhpMyAdmin, người dùng có thể thực hiện các hoạt động quản lý cơ sở dữ liệu như tạo, xóa, sửa đổi bảng, chỉnh sửa các mục dữ liệu, tạo tài khoản người dùng và phân quyền truy cập, chạy các truy vấn SQL, sao lưu và phục hồi cơ sở dữ liệu, và nhiều hoạt động quản lý khác.
Các phần mềm dùng để chạy localhost trên máy tính cá nhân
Hiện nay, có nhiều phần mềm được thiết kế để hỗ trợ cho việc cài đặt localhost trên máy tính cá nhân. Đa số các phần mềm này đều miễn phí và có tích hợp sẵn các module cơ bản như PHP, MySQL, PHPMyadmin, v.v. Bên dưới là 4 phần mềm hiện nay đang rất phổ biến, chỉ cần qua và bước cài đặt là người dùng có thể hoàn thành việc thiết lập một localhost để phục vụ cho công việc và học tập của cá nhân mình.
- XAMPP: Là phần mềm miễn phí mã nguồn mở cung cấp môi trường cho PHP, Apache và MySQL. Nó có thể được cài đặt trên các hệ điều hành Windows, macOS và Linux.
- WAMP: Là một bản phân phối phần mềm miễn phí mã nguồn mở cho Windows, bao gồm Apache, MySQL và PHP.
- MAMP: Là một bản phân phối phần mềm cho Mac, bao gồm Apache, MySQL và PHP. Nó cung cấp một giao diện đơn giản để quản lý máy chủ web trên Mac của bạn.
- LAMP: Là một bộ cài đặt cho Linux, bao gồm Apache, MySQL và PHP. LAMP được cài đặt và cấu hình thủ công bằng cách sử dụng các gói phần mềm có sẵn trên các kho lưu trữ Linux.
Đăng ký dùng thử dịch vụ web hosting giá rẻ | Đăng ký dùng thử VPS giá rẻ
Hướng dẫn cài đặt Localhost trên máy tính với XAMPP trên máy tính
Các phần mềm tạo localhost đa phần được thiết kế giống nhau, vì vậy Gofiber sẽ hướng dẫn các bạn cài đặt localhost với phần mềm XAMPP - đại diện cho các phần mềm localhost và đang có lượng người sử dụng đông đảo nhất.
Bước 1: Tải XAMPP
Trên máy tính của bạn, truy cập vào địa chỉ website https://apachefriends.org và bấm vào link XAMPP for Windows.
Phần mềm sẽ được tải về tự động ngay sau đó.
Bước 2: Cài đặt XAMPP
Sau khi hệ thống hoàn tất việc tải về phần mềm, bạn vào thư mục Downloads trên máy tính và bấm đúp vào tệp vừa tải xong để chạy cài đặt XAMPP.
Làm theo các bước hướng dẫn của phần mềm để cho đến bước hoàn tất cài đặt XAMPP.
Bước 3: Khởi động XAMPP
Để khởi chạy XAMPP sau khi cài đặt thành công, bạn chỉ cần gõ “XAMPP” vào thanh tìm kiếm của hệ điều hành Windows rồi chọn XAMPP Control Panel.
Sử dụng XAMPP
Giải thích giao diện
- Nút Start nằm cùng hàng với Apache dùng để bật và tắt module webserver Apache.
- Nút Start ở phầm MySQL dùng để bật hoặc tắt MySQL database.
Lưu và thực thi các file PHP trên XAMPP localhost
Cac file PHP, file HTML, CSS hay các file hình ảnh cần được đặt vào thư mục ROOT của XAMPP để có thể được gọi và thực thi đúng cách qua localhost. Thông thương, thư mục ROOT của XAMPP là C:\XAMPP\htdocs\.
Sau khi lưu các file PHP của mình vào đúng thư mục, lúc này bạn có thể thử truy cập chúng qua địa chỉ có dạng: http://localhost/gofiber.php. Trong đó, gofiber.php là giả định tên của file code PHP mà bạn đã lưu vào thư mục htdocs.
Giải thích về cấu trúc URL khi chạy localhost với XAMPP hay với các phần mềm localhost nào khác
Ví dụ một URL trên localhost có dạng http://localhost:80/path/gofiber.php sẽ được hiểu là:
-
Localhost chính là tên của máy chủ. Khi bạn publish dự án của mình lên webserver thì localhost sẽ là tên miền của bạn.
-
80 là số của công webserver. Đây cũng là giá trị mặc định của XAMPP tren Windows.
-
Dấu “/” thể hiện file PHP nằm ở thư mục ROOT.
-
“path/gofiber.php” chính là đường dẫn đến file PHP mà bận muốn truy cập.
Tóm tắt về localhost và vai trò của nó trong việc hỗ trợ lập trình website
Localhost là một tên miền địa chỉ IP (127.0.0.1) được sử dụng để tham chiếu đến máy tính của bạn thông qua giao thức loopback. Loopback là quá trình gửi dữ liệu từ một chương trình trên máy tính của bạn đến chính máy tính đó để xử lý, thay vì gửi dữ liệu qua một mạng ngoài.
Khi bạn sử dụng localhost để truy cập vào một ứng dụng web trên máy tính của bạn, trình duyệt sẽ gửi yêu cầu HTTP (hoặc HTTPS) đến địa chỉ IP 127.0.0.1 để kết nối đến máy tính của bạn. Máy tính của bạn sẽ xử lý yêu cầu này và trả về kết quả cho trình duyệt thông qua cổng mạng cụ thể (thường là cổng 80 cho HTTP và cổng 443 cho HTTPS).
Trong quá trình này, không có dữ liệu thực sự được gửi qua một mạng bên ngoài. Thay vào đó, dữ liệu chỉ được gửi qua các lớp mạng ở cùng một máy tính, giúp tăng tốc độ xử lý và giảm độ trễ.
Localhost được sử dụng rộng rãi trong phát triển và kiểm thử các ứng dụng web trên máy tính cá nhân. Nó cũng được sử dụng để thực hiện các thao tác liên quan đến cấu hình hệ thống và quản trị mạng trên máy tính của bạn.