Cài đặt XAMPP trên MacOS, sử dụng PHP Command và cấu hình Virtual Host đầy đủ nhất

Cài đặt XAMPP trên MacOS, sử dụng PHP Command và cấu hình Virtual Host đầy đủ nhất

Cài đặt XAMPP trên MacOS là một trong những cách phổ biến để tạo môi trường máy chủ trên máy tính cá nhân phục vụ cho việc chạy thử ứng dụng, học tập hay phát triển phần mềm, website.

XAMPP là một phần mềm có thể chạy đa nền tảng khác nhau, đồng thời là miễn phí, dễ cài đặt. Dưới đây là một số lý do bạn nên dùng XAMPP để chạy web server:

  • Tích hợp sẵn nhiều thành phần: XAMPP bao gồm Apache (web server), MySQL (cơ sở dữ liệu), PHP và Perl, giúp bạn dễ dàng xây dựng ứng dụng web mà không cần cài đặt từng phần mềm riêng lẻ.
  • Dễ sử dụng: Giao diện đơn giản, dễ quản lý các dịch vụ như Apache, MySQL chỉ qua vài cú nhấp chuột.
  • Hỗ trợ phát triển cục bộ: XAMPP tạo môi trường máy chủ ảo ngay trên máy tính, giúp bạn thử nghiệm, phát triển website mà không cần upload lên server thật.
  • Đa nền tảng: XAMPP hỗ trợ nhiều hệ điều hành như Windows, macOS, Linux.
  • Miễn phí và mã nguồn mở: Bạn có thể tự do sử dụng và tùy chỉnh theo nhu cầu.

XAMPP đặc biệt hữu ích khi phát triển web, thử nghiệm tính năng, hoặc học lập trình. Trong bài viết này, chúng ta sẽ cùng nhau cài đặt XAMPP trên MacOS và cấu hình một vài tính năng nâng cao khác.

1. Cài đặt XAMPP trên MacOS

Để cài đặt Xampp trên MacOS, trước hết bạn cần tải về bộ cài đặt ở link sau: Link cài đặt: https://www.apachefriends.org/download.html

cai-dat-xampp-tren-macos-download

Lựa chọn phiên bản để tải về, tại thời điểm mình viết hướng dẫn này thì bản cài đặt XAMPP trên MacOS có phiên bản mới nhất là 8.2.4.

Ngay lần đầu tải về bộ cài đặt, khi click vào file cài, thông thường MacOS sẽ thông báo không cho phép vì bộ cài đặt chưa được xác thực (Verify).

Để cài đặt được XAMPP trên MacOS, bạn phải làm thêm một bước xác minh, truy cập vào System Setting / Privacy and Security, tại mục Security chọn Open Anyway để mở bộ cài đặt (tham khảo hình ảnh dưới đây)

cai-dat-xampp-tren-macos-security

Sau đó, bộ cài đặt sẽ hiện lên, bạn tiến hành cài đặt như thông thường. Sau khi cài đặt xong sẽ có thông báo hoàn thành

cai-dat-xampp-tren-macos-setup-finished

Kiểm tra dịch vụ đang chạy

cai-dat-xampp-tren-macos-quan-ly-dich-vu

Mặc định khi cài đặt xong, bạn đã có môi trường máy chủ web server, mở trình duyệt và truy cập bằng cách gõ http://localhost trên trình duyệt sẽ hiện thị trang chủ thông tin XAMPP

xampp-homepage

Truy cập công cụ quản lý cơ sở dữ liệu PhpMyAdmin tại menu trang chủ

phpmyadmin-trong-xampp

Mặc định, PhpMyAdmin sẽ vào thẳng trang quản trị mà ko yêu cầu đăng nhập, để yêu cầu đăng nhập khi vào PhpMyAdmin, bạn cần cấu hình thêm. 

Đến bước này, bạn đã hoàn thành việc cài đặt XAMPP trên MacOS, tiếp theo bạn có thể cấu hình hoặc tạo các website để chạy trên môi trường web server này.

2. Cách sử dụng PHP Command khi cài đặt Xampp

Đây là một cấu hình nâng cao trong XAMPP. Với những nhà phát triển web chuyên nghiệp, hay khi phát triển ứng dụng trên những mã nguồn cần độ tuỳ chỉnh cao như Laravel,… đôi khi bạn cần phải thực hiện các lệnh PHP Command.

Nếu bạn cài đặt riêng lẻ PHP trên MacOS thì việc sử dụng PHP Command là có sẵn và không cần phải làm gì thêm. Tuy nhiên, khi cài đặt XAMPP là bộ cung cụ nhiều thành phần thì bạn cần phải cấu hình thêm các bước như sau để sử dụng PHP Command trên MacOS

Bước 1: Kiểm tra đường dẫn tệp file cấu hình PHP có trong XAMPP

Tệp file PHP trong XAMPP sau khi cài đặt thường để trong đường dẫn:

/Applications/XAMPP/xamppfiles/bin/php.

Bước 2: Cập nhật biến môi trường PATH

Mở Terminal. Chạy lệnh dưới để sửa file cấu hình SHELL (sử dụng .zshrc for Zsh hoặc .bash_profile cho Bash)

nano ~/.zshrc  # For Zsh 
# or 
nano ~/.bash_profile  # For Bash

Thêm dòng sau đây

export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"

Lưu lại và thoát trình chỉnh sửa

Bước 3: Áp dụng thay đổi

Chạy lệnh sau để cập nhật thay đổi vào file

source ~/.zshrc  # For Zsh 
# or 
source ~/.bash_profile  # For Bash

Bước 4: Hoàn tất và kiểm tra

Chạy lệnh php -v trong terminal để kiểm tra xem PHP Command đã hoạt động chưa.

php-command

Nếu trả về thông tin phiên bản PHP thì bạn đã cấu hình thành công.

3. Cấu hình tên miền ảo (Virtual Host) trong Xampp trên MacOS

Trước hết, bạn cần phải hiểu Virtual Host là gì? Khi nào thì cần cấu hình Virtual Host trên XAMPP. Vì đây cũng là một trong những tính năng nâng cao, rất hữu ích, nhưng không phải lúc nào bạn cũng cần phải cấu hình.

3.1. Virtual Host là gì

Virtual Host là một kỹ thuật giúp quản lý nhiều trang web trên cùng một máy chủ web. Kỹ thuật này cho phép bạn vận hành nhiều trang web khác nhau trên cùng một máy chủ vật lý, mỗi trang có tên miền riêng nhưng sử dụng chung một địa chỉ IP.

Khi máy chủ nhận yêu cầu truy cập, nó sẽ kiểm tra địa chỉ IP và tên miền để xác định trang web cụ thể mà yêu cầu hướng đến. Điều này cho phép phân phối lưu lượng và cho phép vận hành nhiều trang web độc lập trên cùng một máy chủ.

Bạn có thể cấu hình Virtual Host bằng cách tạo tập tin cấu hình riêng cho từng trang web, trong đó chỉ định tên miền, thư mục gốc, cài đặt bảo mật và các thông số khác.

Virtual Host đóng vai trò quan trọng trong việc triển khai và quản lý các ứng dụng web phức tạp, đặc biệt khi cần vận hành nhiều trang web hoặc dịch vụ trên cùng một máy chủ vật lý.

3.2. Khi nào nên sử dụng Virtual Host

Thông thường, để chạy web sau khi đã cài đặt XAMPP, bạn cần phải copy source code website đó vào thư mục htdocs trong XAMPP, hoặc nếu bạn đã cấu hình folder code ở một phân vùng khác thư mục htdocs thì bạn cần phải copy source code vào đấy.

Khi sử dụng Virtual Host, Bạn có thể truy cập vào bất kỳ thư mục code nào mà không cần phải copy source code vào htdocs hoặc thư mục chứa source code trong XAMPP.

Việc sử dụng Virtual Host cũng giúp bạn quản lý địa chỉ web được chuyên nghiệp hơn: như dễ nhớ hơn, thuận tiện khi demo với khách hàng,… đặc biệt khi bạn có nhiều website cần quản lý, Virtual Host cũng sẽ giúp ích hơn rất nhiều trong việc quản lý.

3.3. Cách cấu hình Virtual Host trong XAMPP trên MacOS

Dưới đây là các bước cấu hình Virtual Host cho một website bất kỳ chạy trên phần mềm XAMPP cài đặt trên MacOS

Bước 1: Sửa file httpd-vhosts.conf 

Mở Terminal và điều hướng tới thư mục cấu hình Apache

sudo nano /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf

Thêm cấu hình sau vào file để tạo ra virtual host cho website

<VirtualHost *:80>
    ServerAdmin webmaster@yourdomain.local
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/yourproject"
    ServerName yourdomain.local
    ErrorLog "logs/yourdomain.local-error_log"
    CustomLog "logs/yourdomain.local-access_log" common
    <Directory "/Applications/XAMPP/xamppfiles/htdocs/yourproject">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Chú ý:

  • Thay yourdomain.local bằng tên domain bạn muốn đặt chon website
  • Sửa lại đường dẫn DocumentRoot là đường dẫn tới thư mục source code của website
  • Nếu bạn dùng port khác port 80 (ví dụ 81, 82,...) thì bạn cần khai báo ở dòng Listen trong file cấu hình Apache
  • Tab <Directory></Directory> là một số tuỳ chọn thêm cho riêng mỗi cấu hình Virtual Host
  • Nếu source code của bạn là Laravel thì thêm /public vào sau /yourproject ở dòng cấu hình DocumentRoot và tab <Directory>

Bước 2: Sửa file the httpd.conf

Kích hoạt tính năng Virtual Host bằng cách truy cập vào file cấu hình

sudo nano /Applications/XAMPP/xamppfiles/etc/httpd.conf

Loại bỏ dấu # tại dòng dưới đây để kích hoạt

#Include etc/extra/httpd-vhosts.conf

Bước 3: Sửa file hosts

Truy cập vào file cấu hình:

sudo nano /etc/hosts

Thêm dòng sau để map tên domain website của bạn

127.0.0.1 yourdomain.local

Tên domain yourdomain.local phải trùng với tên domain bạn đã cấu hình ở bước trên

Bước 4: Khởi động lại Apache

Bạn có thể khởi động lại Apache qua giao diện phần mềm hoặc qua dòng lệnh trên Terminal

sudo /Applications/XAMPP/xamppfiles/xampp restartapache

Bước 5: Kiểm tra kết quả

Truy cập vào đường dẫn trên trình duyệt, nếu truy cập được website tức là bạn đã cấu hình thành công: http://yourdomain.local

3.4. Một số lỗi thường gặp

Không phải lúc nào việc cấu hình cũng thuận lợi, bạn có thể gặp một số lỗi phổ biến và cách khắc phục như sau:

Tránh lỗi Localhost khi cấu hình Virtual Host

Nếu bạn có nhiều virtual host cùng sử dụng port 80, có thể gặp phải lỗi này. Cách khắc phục là thêm vào một vhost cho localhost trong tệp tin:

sudo nano /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf

Thêm vào cấu hình sau:

<VirtualHost *:80>
         ServerName localhost
         DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
</VirtualHost>

Sau đó, khởi động lại Apache để hoàn thành.

Tránh lỗi không có quyền truy cập 

Thông thường lỗi thông báo như sau: access forbidden! you don't have permission to access the requested directory. there is either no index document or the directory is read-protected.

Để khắc phục lỗi này, bạn thực hiện như sau:

  • Dùng lệnh CHMOD để cấp quyền cho thư mục source code
  • Cập nhật lại user/group có quyền chạy dịch vụ apache trong file cấu hình httpd.conf

Để cập nhật lại user/group trong file cấu hình httpd.conf, trước tiên bạn gõ lệnh #id trong cửa sổ Terminal để tìm user và group.

id

Bạn sẽ nhận được một loạt các nhóm người dùng, bạn cần sử dụng riêng user uid và group gid:

uid=502(admin) gid=20(staff)

Tiếp theo, thực hiện thay đổi trong file cấu hình httpd.conf

sudo nano /Applications/XAMPP/xamppfiles/etc/httpd.conf

Tìm dòng User và Group trong tab <IfModule unixd_module></IfModule>. Sửa lại tên User và Group tương ứng với tên user và group tìm được phía trên. Sau đó khởi động lại Apache để hoàn thành.

<IfModule unixd_module>
....

User admin
Group staff 
....
</IfModule>

Một điều lưu ý là Virtual Host là một tính năng của Apache chứ không phải của XAMPP nên phần mềm nào dùng Apache thì đều có thể cấu hình Virtual Host theo cách tương tự. Ngoài XAMPP, các bạn cũng có thể dùng một số phần mềm khác như WAMP, APPSerrver,… các phần mềm này cũng đều dùng Apache, MySQL và PHP.

Như vậy, bài viết này đã hướng dẫn các bạn cách cài đặt XAMPP trên MacOS, cách dùng được lệnh PHP Command, cấu hình được Virtual Host trên XAMPP một cách đầy đủ nhất. Bạn có thể cấu hình để chạy được website với tên miền tuỳ chỉnh trên MacOS sử dụng XAMPP và có thể áp dụng để tạo cấu hình cho nhiều website khác nhau.