Hướng dẫn cài đặt Web Server, PHP, MySQL trên Mac Sierra
Để phát triển Web dùng PHP + MySQL trên Mac, thông thường chúng ta phải cài một tập các phần mềm bao gồm Apache, PHP, MySQL gọi tắt là MAMP. Trên Mac Sierra, anh Cook khi phát hành đã có sẳn PHP và Apache nhưng bị ẩn đi. Để sử dụng chúng ta cần kích hoạt chúng lên và cài thêm MySQL Server vào là bắt đầu làm việc. Các bước sau đây sẽ hướng dẫn các bạn làm việc này, phần cuối chúng ta sẽ tải phpMyAdmin và chạy thử để hoàn tất toàn bộ quy trình.
1. Kích hoạt Web ServerWeb Server
Apache được tích hợp sẳn trên Mac 10.12, bạn không phải làm gì, chỉ cần khởi động lên và chiến. Mở Terminal và gõ lệnh sau:Mac 10.12, bạn không phải làm gì, chỉ cần khởi động lên và chiến. Mở Terminal và gõ lệnh sau:
Code:
sudo su - apachectl start
Thử xem đã chạy chưa bằng cách vào //localhost, bạn sẽ thấy như hình bên trên. Để tắt Web server bạn thay thông số start bằng stop là được.//localhost, bạn sẽ thấy như hình bên trên. Để tắt Web server bạn thay thông số start bằng stop là được.
2. Kích hoạt PHP cho Web ServerPHP cũng có sẳn trong Mac 10.12 luôn nên chúng ta chỉ cần điều chỉnh file cấu hình của Apache và khởi động lại Apache là xong.
PHP cũng có sẳn trong Mac 10.12 luôn nên chúng ta chỉ cần điều chỉnh file cấu hình của Apache và khởi động lại Apache là xong.
Đầu tiên bạn mở file httpd.conf lên:httpd.conf lên:
Code:
vi /etc/apache2/httpd.conf
Bỏ dấu "#" trước dòng sau đây để uncomment rồi lưu file lại:
Code:
LoadModule php5_module libexec/apache2/libphp5.so
Giờ chúng ta restart Apache lại là xong:
Muốn xem thử coi PHP có chạy chưa chúng ta thử tạo 1 file php với hàm phpinfo trong thư mục gốc của Web server:
Code:
echo ' /Library/WebServer/Documents/phpinfo.php
Giờ mở Browser với địa chỉ //localhost/phpinfo.php ta sẽ thấy như vầy//localhost/phpinfo.php ta sẽ thấy như vầy
Khi cài đặt bạn lưu ý ghi lại mật khẩu.
Vào System Preferences, MySQL, start MySQL lên, chạy dòng lệnh sau để thiết lập lại mật khẩu mới cho root và một số tuỳ chọn an toàn:
Code:
/usr/local/mysql/bin/mysql_secure_installation
Sau khi khởi động MySQL chúng ta cần làm thêm một bước để PHP nói chuyện được với MySQL Server, gõ dòng lệnh sau:
Code:
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock
4. Cài PHPMyAdminGiờ chúng ta đã có đủ Web Server, PHP, MySQL. Chúng ta sẽ tải và thử chạy phpmyadmin xem được không, phpmyadmin sẽ giúp chúng ta quản lý các Database của MySQL. Dòng lệnh sau đây sẽ cài bản 4.7 [mới nhất hiện tại], bản mới nhất bạn xem tại đây để lấy URL thay cho "phpMyAdmin-4.7.0-all-languages" vào các dòng lệnh.
Giờ chúng ta đã có đủ Web Server, PHP, MySQL. Chúng ta sẽ tải và thử chạy phpmyadmin xem được không, phpmyadmin sẽ giúp chúng ta quản lý các Database của MySQL. Dòng lệnh sau đây sẽ cài bản 4.7 [mới nhất hiện tại], bản mới nhất bạn xem tại đây để lấy URL thay cho "phpMyAdmin-4.7.0-all-languages" vào các dòng lệnh.
Code:
curl -O //files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.zip unzip phpMyAdmin-4.7.0-all-languages.zip -d /Library/WebServer/Documents/ mv /Library/WebServer/Documents/phpMyAdmin-4.7.0-all-languages/ /Library/WebServer/Documents/phpmyadmin
Giờ chúng ta vào //localhost/phpmyadmin để kiểm tra, như vậy là thành công://localhost/phpmyadmin để kiểm tra, như vậy là thành công:
Đăng nhập thử tài khoản root và mật khẩu mới bạn đặt ở bước trên
Đăng nnập thành công!
Giờ thì bạn có thể cài Wordpress, vBulletin, Xenforo, Joomla, Drupal,... hay code được rồi.Chúc vui vẻ!
Chúc vui vẻ!
Trong macOS phiên bản mới [như 10.11, 10.12, 10.13 ...] có cài sẵn mặc định Webserver Apache HTTP và PHP, tuy nhiên để dễ tuỳ biến trong phần này sẽ huỷ sử dụng cài đặt mặc định đó để sử dụng phiên bản
/usr/local/mysql/bin/mysql_secure_installation4,
/usr/local/mysql/bin/mysql_secure_installation5,
/usr/local/mysql/bin/mysql_secure_installation6 tuỳ chọn.
Do sử dụng
/usr/local/mysql/bin/mysql_secure_installation7 để cài đặt, nên đảm bảo cài đặt công cụ này trước: Sử dụng Homebrew [brew]
Các file cấu hình cho Apache, PHP, MySQL sử dụng
/usr/local/mysql/bin/mysql_secure_installation8 để soạn thảo, nên cũng cần cài VS Code trước: Cài đặt Visual Studio Code
Đầu tiên cần đảm báo có Command Line Tools
xcode-select --install
Có một số thư viện có thể cần bổ sung, chạy lệnh sau để cài đặt:
# brew install openldap libiconv
Trước tiên cần huỷ đi việc sử dụng Apache cài đặt mặc định nếu đang kích hoạt:
# sudo apachectl stop # sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
Tiến hành cài đặt Apache bằng lệnh:
vi /etc/apache2/httpd.conf0
Cấu hình để Apache tự động chạy khi khởi động hệ thống:
vi /etc/apache2/httpd.conf1
Mặc định Webserver Apache HTTP cài theo cách trên nó làm việc trên cổng
/usr/local/mysql/bin/mysql_secure_installation9, nên có thể truy cập địa chỉ
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock0, kết quả như sau chứng tỏ Apache đã cài thành công
Khi làm việc với Apache một số lệnh có thể dùng tới như:
vi /etc/apache2/httpd.conf2
Thông tin cấu hình chỉnh của Apache lưu trong file
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock1, để soạn thảo - thay đổi cấu hình gõ lệnh
vi /etc/apache2/httpd.conf3
Thay đổi một số cấu hình Apache
Đổi cổng HTTPD Thay đổi cổng /usr/local/mysql/bin/mysql_secure_installation
9 thành cổng mkdir /var/mysql
ln -s /tmp/mysql.sock /var/mysql/mysql.sock
3, tìm đến: Thay đổi cổng
/usr/local/mysql/bin/mysql_secure_installation9 thành cổng
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock3, tìm đến:
vi /etc/apache2/httpd.conf4
Thay bằng:
vi /etc/apache2/httpd.conf5
Đổi ServerName tìm đến: tìm đến:
vi /etc/apache2/httpd.conf6
Thay bằng:
vi /etc/apache2/httpd.conf7
Đổi ServerName tìm đến:, ví dụ muốn đổi vai trò chạy là của user
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock4 tìm đến:
vi /etc/apache2/httpd.conf8
Thay bằng:
vi /etc/apache2/httpd.conf9
Đổi ServerName tìm đến:, để hỗ trợ viết lại URL và
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock5:
LoadModule php5_module libexec/apache2/libphp5.so0
Thay bằng:
LoadModule php5_module libexec/apache2/libphp5.so1
Đổi ServerName tìm đến: ví dụ webiste lưu tại
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock6, và cấu hình để chạy trên domain ảo
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock7
LoadModule php5_module libexec/apache2/libphp5.so2
Thay đổi user chạy , ví dụ muốn đổi vai trò chạy là của user
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock4 tìm đến:
LoadModule php5_module libexec/apache2/libphp5.so3
Bật mod_rewrite, để hỗ trợ viết lại URL và
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock5:
LoadModule php5_module libexec/apache2/libphp5.so4
Tạo thử một VirtualHost: ví dụ webiste lưu tại
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock6, và cấu hình để chạy trên domain ảo
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock7sudo apachectl restart, tạo ra một file
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock9 có nội dung
curl -O //files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.zip unzip phpMyAdmin-4.7.0-all-languages.zip -d /Library/WebServer/Documents/ mv /Library/WebServer/Documents/phpMyAdmin-4.7.0-all-languages/ /Library/WebServer/Documents/phpmyadmin0 trong thư mục web, chạy kiểm tra
curl -O //files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.zip unzip phpMyAdmin-4.7.0-all-languages.zip -d /Library/WebServer/Documents/ mv /Library/WebServer/Documents/phpMyAdmin-4.7.0-all-languages/ /Library/WebServer/Documents/phpmyadmin1
Tiếp theo thay đổi mkdir /var/mysql
ln -s /tmp/mysql.sock /var/mysql/mysql.sock
8 bằng cách gõ:
Thêm vào:
LoadModule php5_module libexec/apache2/libphp5.so5
Để cài đặt phiên bản PHP nào thì gõ lệnh cài đặt
curl -O //files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.zip unzip phpMyAdmin-4.7.0-all-languages.zip -d /Library/WebServer/Documents/ mv /Library/WebServer/Documents/phpMyAdmin-4.7.0-all-languages/ /Library/WebServer/Documents/phpmyadmin8 với tham số bản PHP như
curl -O //files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.zip unzip phpMyAdmin-4.7.0-all-languages.zip -d /Library/WebServer/Documents/ mv /Library/WebServer/Documents/phpMyAdmin-4.7.0-all-languages/ /Library/WebServer/Documents/phpmyadmin9,
curl -O //files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.zip unzip phpMyAdmin-4.7.0-all-languages.zip -d /Library/WebServer/Documents/ mv /Library/WebServer/Documents/phpMyAdmin-4.7.0-all-languages/ /Library/WebServer/Documents/phpmyadmin9,
xcode-select --install1 ..., ví dụ:
LoadModule php5_module libexec/apache2/libphp5.so6
File cấu hình cho từng phiên bản PHP nằm trong các thư mục con trong
xcode-select --install2 như:
LoadModule php5_module libexec/apache2/libphp5.so7
Cấu hình Apache để làm việc với PHP, ví dụ cấu hình để Apache gọi đến phiên bản PHP7.2 đã cài đặt. để làm việc với PHP, ví dụ cấu hình để Apache gọi đến phiên bản PHP7.2 đã cài đặt.
Mở file
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock1 và thêm vào
LoadModule php5_module libexec/apache2/libphp5.so8
Cũng cần đảm bảo trong
xcode-select --install4 có định nghĩa Handler, để Apache biết gọi đến PHP với các file có phần mở rộng
xcode-select --install5
LoadModule php5_module libexec/apache2/libphp5.so9
Khởi động lại Apache, sau đó tạo một file
xcode-select --install6 trong thư mục website, với nội dung:
echo ' /Library/WebServer/Documents/phpinfo.php0
Kiểm tra thử
curl -O //files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.zip unzip phpMyAdmin-4.7.0-all-languages.zip -d /Library/WebServer/Documents/ mv /Library/WebServer/Documents/phpMyAdmin-4.7.0-all-languages/ /Library/WebServer/Documents/phpmyadmin1
Chuyển đổi nhanh phiên bản PHP với SPHP
Cài đặt
xcode-select --install8
echo ' /Library/WebServer/Documents/phpinfo.php1
Nếu có cài nhiều phiên bản PHP và muốn chuyển nhanh sang một phiên bản thì gõ lệnh
echo ' /Library/WebServer/Documents/phpinfo.php2
Cài đặt extension memcached, xdebug cho PHP, cơ bản sử dụng pecl để cài đặt [kể cả các extension khác nếu cần], cơ bản sử dụng pecl để cài đặt [kể cả các extension khác nếu cần]
echo ' /Library/WebServer/Documents/phpinfo.php3
Sử dụng PHP-FPM
Mỗi phiên bản cài đặt trên, đồng thời nó cũng có PHP-FPM được cài đặt. File cấu hình trong thư mục tương ứng với bản PHP, ví dụ PHP 8.0 thì file cầu hình tại
xcode-select --install9
Với PHP-FPM thì máy chủ Web [như Apache, Nginx] sẽ chạy code PHP thông qua proxy, được phục vụ bởi dịch vụ PHP-FPM đang lắng nghe trên cổng nào đó [mặc định là 9000].
Để rõ hơn cho trường hợp sử dụng này hãy tham khảo Apache Handler và Nginx - VHost
Nếu bạn muốn dùng PHP-FPM để chạy code PHP, để tiện hãy mở file cấu hình
# brew install openldap libiconv
0 sửa dònglisten = 127.0.0.1:9000Thànhlisten = 0.0.0.0:9000
Thành
listen = 0.0.0.0:9000
Sau đó dùng lệnh
# brew install openldap libiconv
1 quản lý dịch vụ PHP cho phù hợp [về lệnh này xem thêm Sử dụng lệnh brew]Khi bạn cập nhật cấu hình, để khởi động lại dịch vụ bạn dùng lệnh [ví dụ cho bản php 7.2]
echo ' /Library/WebServer/Documents/phpinfo.php4
Nếu dịch vụ đang bị dừng dùng lệnh sau để chạy
echo ' /Library/WebServer/Documents/phpinfo.php5
Để dừng dịch vụ
echo ' /Library/WebServer/Documents/phpinfo.php6
Khi bạn chuyển phiên bản PHP, bạn cần dừng dịch vụ, sau khi chuyển phiên bản bạn dùng brew services start chạy bản mới.
Nếu dịch vụ đang chạy, dùng lệnh sau kiểm tra xem đã có dịch vụ PHP đang chạy và cổng lắng nghe
echo ' /Library/WebServer/Documents/phpinfo.php7
Cài đặt MySQL
Cài đặt bằng brew
echo ' /Library/WebServer/Documents/phpinfo.php8
Thiết lập MySQL chạy cùng hệ thống
echo ' /Library/WebServer/Documents/phpinfo.php9
/usr/local/mysql/bin/mysql_secure_installation0
Mặc định user có quyền cao nhất là
# brew install openldap libiconv
2 với password là rỗng # brew install openldap libiconv
3, nếu muốn thiết lập password mới cho # brew install openldap libiconv
2 chạy lệnh:/usr/local/mysql/bin/mysql_secure_installation1
File config my.cn tìm bằng lệnh # brew install openldap libiconv
5 nó nằm ở: # brew install openldap libiconv
6 tìm bằng lệnh
# brew install openldap libiconv
5 nó nằm ở: # brew install openldap libiconv
6Công cụ quản trị MySQL
Có nhiều công cụ để quản trị MySQL, thậm chí có thể sử ngay ứng dụng nền web như
# brew install openldap libiconv
7, ở đây gợi hai công cụ chạy trên macOS đó là # brew install openldap libiconv
8 và # brew install openldap libiconv
9Cài đặt WorkbenchWorkbench
/usr/local/mysql/bin/mysql_secure_installation2
Cài đặt WorkbenchWorkbench
/usr/local/mysql/bin/mysql_secure_installation3