Cài đặt localhost trên máy tính với XAMPP
Khi học Laravel, mình khuyến khích các bạn nên sử dụng localhost trước bởi vì bạn chưa cần mua tên miền và host vội để có được một website hoàn chỉnh và đưa nó lên môi trường Internet sau khi đã hoàn thiện website.
Localhost là gì?
Localhost là từ ghép của hai chữ “local” và “host“. Local dịch theo nghĩa IT là máy tính của bạn, Host theo nghĩa IT là máy chủ. Vậy localhost nghĩa là một máy chủ được vận hành trên máy tính của bạn.
Localhost bao gồm nhiều ứng dụng đi kèm với nhau và tất cả các ứng dụng đó sẽ kết hợp với nhau để tạo ra một môi trường có thể chạy mã nguồn Laravel trên máy tính của chính bạn bao gồm:
- Phần mềm Webserver tên Apache, đây là webserver thông dụng nhất.
- Phần mềm PHP để xử lý mã PHP vì Laravel Framewok viết bằng ngôn ngữ PHP.
- Phần mềm MySQL Server để lưu trữ và xử lý cơ sở dữ liệu, do Laravel mặc định sử dụng MySQL làm nền tảng cơ sở dữ liệu, ngoài ra còn có sqllite, pgsql, sqlsrv,.... Cơ sở dữ liệu thường được mình viết theo chữ tiếng Anh là database.
- Phần mềm PHPMyAdmin để xem và quản lý cơ sở dữ liệu MySQL.
Như vậy, đối chiếu với yêu cầu cơ bản của một website Laravel thì localhost đã hoàn toàn đáp ứng được.
Localhost vận hành như thế nào
Khi cài đặt Localhost vào máy tính rồi, thì máy tính của bạn đã có một phần mềm Webserver để chạy ứng dụng website với địa chỉ là http://127.0.0.1
. Đây là địa chỉ IP dạng localhost, ngoài ra bạn cũng có thể chạy localhost với đường dẫn là http://localhost
.
Thông thường khi cài Localhost, mỗi khi cần sử dụng bạn sẽ cần mở bảng điều khiển của localhost lên và kích hoạt cho nó khởi động các ứng dụng đi kèm.
Lưu ý trước khi cài đặt
Xoá toàn bộ ứng dụng liên quan tới localhost
Nếu bạn có cài đặt các phần mềm liên quan đến việc làm localhost như PHP, MySQL thì hãy xoá hết. Và bạn không nên cài XAMPP trên Windows Server đã cài đặt IIS.
Lưu ý nếu bạn dùng Skype
Nếu máy bạn đang cài đặt phần mềm Skype thì localhost sẽ không hoạt động được do Skype đã chiếm quyền sử dụng cổng mạng 80, đây là cổng mặc định của webserver. Do đó, bạn hãy mở Skype
⇒ Tools
⇒ Connection Options
⇒ và bỏ chọn phần “Use port 80 and 443…..”
rồi nhập một cổng bất kỳ để Skype sử dụng.
Sửa xong, hãy khởi động lại máy để hoàn tất.
Tắt tường lửa
Nếu máy bạn có cài đặt tường lửa từ Windows hay từ một phần mềm Antivirus nào khác thì hãy tắt nó đi vì có thể nó sẽ chặn cổng 80 hoặc các ứng dụng webserver.
Tắt UAC trên Windows
Nếu máy của bạn đang dùng Windows và có bật chức năng User Account Control thì hãy tắt nó đi khi dùng localhost để tránh các vấn đề bị giới hạn quyền.
Hướng dẫn cài đặt Localhost
Để cài Localhost chúng ta có rất nhiều cách và phần mềm, tuy nhiên nếu bạn là người mới thì mình khuyến khích các bạn dùng phần mềm XAMPP để cài localhost vì:
- XAMPP hoàn toàn miễn phí.
- Dễ sử dụng.
- Hỗ trợ các hệ điều hành thông dụng như Windows, Mac, Linux.
Tuy nhiên trong bài này mình chỉ hướng dẫn cho hệ điều hành Windows.
Để tải XAMPP, đầu tiên bạn truy cập vào đây nhé Xampp Download và chọn phiên bản XAMPP phù hợp với hệ điều hành của máy tính bạn đang sử dụng, và bạn nên chọn phiên bản PHP thích hợp tùy theo phiên bản Laravel bạn muốn dùng (Laravel 5.5 thì phải chọn PHP 7.0 trở lên, Laravel 5.6 thì 7.1 trở lên). Lưu ý là XAMPP chỉ có phiên bản cho hệ điều hành 32bit nhưng 64bit vẫn hoạt động bình thường.
Sau khi tải file cài đặt về xong, hãy chạy nó, sau đó chọn Next
.
Ở phần chọn đường dẫn, bạn hãy chọn đường dẫn cần lưu cài đặt của XAMPP. Lưu ý rằng đường dẫn này bạn phải nhớ vì khi cài đặt web lên localhost, bạn phải truy cập vào thư mục này. Bạn nên để mặc định là c:\xampp
hoặc lưu vào d:\xampp
phòng khi windows bị hỏng. Tiếp tục ấn Next.
Ở trang kế tiếp, bạn bỏ chọn phần “Learn more about Bitnami for XAMPP“. Và ấn Next 2 lần nữa để bắt đầu quá trình cài đặt XAMPP.
Sau khi cài xong, ấn nút Finish để kết thúc cài đặt và mở bảng điều khiển của XAMPP. Tuy nhiên, hãy khởi động lại máy sau khi cài đặt xong để tránh tình trạng không khởi động được localhost.
Khởi động Localhost
Bây giờ bạn hãy vào thư mục c:\xampp
và mở file xampp-panel.exe
lên để bật bảng điều khiển của XAMPP.
Bạn để ý sẽ thấy hai ứng dụng Apache và MySQL có nút Start, đó là dấu hiệu bảo 2 ứng dụng này chưa được khởi động, hãy ấn vào nút Start của từng ứng dụng để khởi động Webserver Apache và MySQL Server lên thì mới chạy được localhost.
Nếu cả hai ứng dụng chuyển sang màu xanh như hình dưới là đã khởi động thành công.
Sau khi khởi động xong, bạn hãy truy cập vào website với địa chỉ là http://localhost
sẽ thấy nó hiển thị ra trang giới thiệu XAMPP như hình dưới.
Bạn có thể ấn vào nút English phía bên dưới để truy cập vào trang quản lý localhost.
Tạm thời là thế, cách chi tiết Cài đặt Laravel vào localhost XAMPP mình sẽ hướng dẫn ở phần sau.
Thao tác trên localhost
1. Làm việc với thư mục và tập tin
Một điều khá cơ bản nhưng rất quan trọng khi bạn làm việc với website mà bất kể là localhost hay hosting đó là hiểu cơ chế phân thư mục của Laravel.
Bây giờ bạn hãy vào thư mục C:\xampp\htdocs\ và tạo một thư mục tên “chungnguyenblog“, thư mục này sẽ chứa website của mình.
Như ở trên, mình đã hướng dẫn bạn tạo một thư mục tên là chungnguyenblog trong thư mục htdocs và bạn có thể sử dụng đường dẫn http://localhost/chungnguyenblog
để chạy. Vậy bây giờ mình có thể nói, thư mục C:\xampp\htdocs\chungnguyenblog
chính là thư mục gốc của tên miền http://localhost/chungnguyenblog
Bây giờ bạn thử copy một tập tin nào đó vào trong thư mục C:\xampp\htdocs\chungnguyenblog
rồi chạy tên miền http://localhost/chungnguyenblog
, bạn sẽ thấy nó liệt kê file mà bạn vừa copy vào.
Nếu bạn click vào file ảnh đó thì trình duyệt sẽ hiển thị ảnh với đường dẫn là http://localhost/chungnguyenblog/tên-tập-tin
. Đây được xem là một link ảnh trong website của bạn.
Tương tự, hãy thử tạo một thư mục bất kỳ rồi copy một tập tin nào đó vào, thì bây giờ bạn có thể truy cập xem ảnh với đường dẫn là http://localhost/chungnguyenblog/tên-folder/tên-tập-tin
.
Như vậy bạn có thể hiểu, cái đường dẫn trên website nó sẽ phân thứ cấp tùy theo cấu trúc thư mục và file trong đó.
2. Tạo cơ sở dữ liệu MySQL (Database)
Thao tác này bạn sẽ phải làm trong bước cài đặt Laravel trên localhost nhưng ở đây mình sẽ hướng dẫn trước để bạn có thể làm thử luôn.
Khi nhắc đến database, bạn phải nhớ là nó bao gồm 3 thành phần chính là:
- Tên user của database.
- Mật khẩu của user database.
- Tên database.
- Database Host (thường thì điền là localhost, bất kể là bạn dùng ở localhost hay host bình thường).
Bạn hãy tưởng tượng rằng, user của database sẽ có nhiệm vụ đọc và ghi dữ liệu vào database nên khi sử dụng các mã nguồn PHP, bạn phải khai báo cùng lúc cả user của database và tên database.
Đối với localhost, bạn không cần tạo user cho database mà sẽ sử dụng thông tin user như sau:
- Tên user database: root
- Mật khẩu: bỏ trống
Do vậy, chúng ta chỉ cần tạo database là đủ.
Để tạo database, bạn hãy truy cập vào localhost với đường dẫn http://localhost/phpmyadmin
. Sau đó bạn nhấp vào menu Databases.
Sau đó ở phần Create databsae, bạn nhập tên database cần tạo vào ô Database name, phần Collation bạn hãy chọn là utf8mb4_unicode_ci (utf8 là chuẩn cũ, utf8mb4 là chuẩn mới Laravel chọn, có thể lưu được emotion vào database) như hình dưới rồi ấn nút Create kế bên.
Tạo xong hãy nhìn bên menu tay trái, nếu nó xuất hiện tên database vừa tạo là thành công. Vậy bây giờ, chúng ta tạm có một databse với các thông tin như:
- Database Host: localhost
- Database user: root
- Database password: trống
- Database name: chungnguyenblog
Còn cách sử dụng với nó như thế nào thì mình sẽ nói ở bước cài Laravel trên localhost cho thực tế.
Tới đây bạn đã có một cái localhost sử dụng địa chỉ dạng http://localhost/
hoặc http://127.0.0.1/
rồi. Nếu bạn đã rành việc sử dụng localhost và cần thêm tên miền ảo thì ấn đây. Lưu ý là không dành cho người mới.
Cách đổi cổng mạng cho Localhost
Mặc định Localhost sẽ sử dụng cổng 80, bởi vì khi bạn gõ tên miền như http://localhost thì tức là nó đã sử dụng cổng 80 để đọc các dữ liệu web trong localhost. Tuy nhiên nếu như bạn đã dùng cổng 80 cho một ứng dụng khác, hoặc đơn giản là không khởi động Apache được thì bạn nên thiết lập cho Apache trong Localhost sử dụng một cổng khác, như 8080 chẳng hạn.
Trước khi đổi, mình cần các bạn lưu ý là sau khi đổi xong thì bạn phải truy cập vào website với tên miền http://localhost:8080
thay vì chỉ là http://localhost
.
Để đổi cổng, bạn mở bảng điều khiển XAMPP lên và chọn nút Config của Apache, sau đó chọn Apache (httpd.conf).
Sau đó bạn tìm dòng này:
Listen 80
Đổi thành
Listen 8080
Sau đó bạn Stop cái Apache và Start lại rồi thử truy cập vào localhost theo đường dẫn http://localhost:8080
, nếu truy cập được thì bạn đã làm thành công. Và cũng nên lưu ý rằng, sau khi đổi cổng thì mỗi khi truy cập bạn phải sử dụng đường dẫn có kèm theo số cổng bạn vừa đổi sang vì mặc định nếu không điền thì nó sẽ sử dụng cổng 80.
Nếu bạn có sử dụng tên miền ảo như mình hướng dẫn ở trên thì bạn cũng nên sửa lại file C:\xampp\apache\conf\extra\httpd-vhost.conf
cho nó sử dụng port 80 thay vì 8080.
Một số câu hỏi liên quan đến localhost
Tôi có thể gửi cho bạn bè tôi xem website ở localhost không?
Không, thân ái.
Sau này tôi có thể chuyển dữ liệu từ localhost lên host trên Internet không?
Hoàn toàn được.
Localhost có bị chậm không?
Hầu như không, trừ khi máy bạn quá yếu.
Localhost có bị hack website không?
Hầu như không nếu máy tính của bạn không bị truy cập bởi một người nào khác.
Lời kết
Ở trên là toàn bộ những gì bạn cần biết về localhost và nó sẽ đi theo bạn trong suốt quá trình làm việc với website vì host chỉ nên sử dụng để chạy website chính trên internet, còn localhost bạn nên dùng để thử nghiệm hoặc cần chỉnh sửa cái gì đó trong website mà không muốn nó ảnh hưởng trực tiếp đến website chính.
Credits
Có chỉnh sửa cho phù hợp thời điểm hiện tại và nội dung blog Chung Nguyễn.
Ủng hộ Chung Nguyễn Blog
Chung Nguyễn Blog sử dụng FlashVPS - Dịch vụ quản trị máy chủ chuyên nghiệp để quản lý VPS
#FlashVPS là dịch vụ cloud panel trên nền tảng web hỗ trợ khách hàng:
- * Quản lý máy chủ số lượng nhiều
- * Không có kinh nghiệm quản lý máy chủ
- * Thích sử dụng giao diện web đơn giản, trực quan hơn terminal
- * Quá nhàm chán với việc ghi nhớ và lặp lại việc gõ các câu lệnh
- * Muốn tự động hóa mọi thao tác
- * Muốn tiết kiệm thời gian quản trị máy chủ
- * Muốn tiết kiệm tiền bạc, nhân lực quản trị máy chủ 👉 https://flashvps.dev
Các bài viết trên website thường xuyên được đăng tải và cập nhật trên trang Facebook Chung Nguyễn Blog hãy tặng cho Chung một LIKE nhé! Mãi yêu các bạn!
813 👍
Bình luận