回到文章列表

[部署] 配置 Apache, PHP, MySQL, phpMyAdmin 在本機 ( macOS )

TWGD / 2018-12-14

版本資訊:

  • macOS High Sierra 10.13
  • Apache:2.4.33
  • PHP:7.1.16
  • mysql:8.0.13
  • phpMyAdmin:4.8.3
  • ❗ unsupported type: quote

    </br>


    Apache

  • 開啟 Apache: sudo apachectl start
  • 你可以查看目前 Apache 版本: httpd -v
  • 若打開瀏覽器輸入 http://localhost,如果看到『 It works! 』,代表成功開啟 Apache 囉!

    </br>

    其他 Apache 操作命令:

    停止 Apache: sudo apachectl stop

    重啟 Apache: sudo apachectl restart

    </br>

    預設根目錄

    http://localhost/ 系統預設的根目錄是放在這裡:

    /Library/WebServer/Documents/

    ❗ unsupported type: quote

    </br>

    PHP

    ❗ unsupported type: quote
  • 首先開啟 httpd.conf 這個檔案來修改: sudo vim /etc/apache2/httpd.conf
  • 找到以下這一行,取消前面的 # 註解並存檔: #LoadModule php7_module libexec/apache2/libphp7.so
  • 重啟 Apache: sudo apachectl restart
  • </br>

    試著在根目錄新增一個檔案 phpinfo.php,內容為: <?php phpinfo(); ?>

    打開瀏覽器輸入 http://localhost/phpinfo.php,若看到 PHP 版本資訊,就表示成功了。

    </br>

    MySQL

    下載 MySQL

    首先,要自行到官網下載。官網下載頁面

    我下載的是目前最新版的 “mysql-8.0.13-macos10.14-x86_64.dmg” 安裝包。

    </br>

    安裝 MySQL

    照著安裝介面的步驟安裝即可。

    </br>

    啟動 MySQL

    有兩種方式:

  • 到『系統偏好設定』,點擊 MySQL 圖示,透過 UI 來開啟。
  • command line 開啟。 sudo /usr/local/mysql/support-files/mysql.server start
  • </br>

    command line 設定 zsh 加入 環境變數 path

    為方便在 command line 使用 mysql 命令,需要一些設定。 我的 shell 由 bash 改成 zsh,因此以 zsh 的操作為例。

  • 在 home 目錄下找到 .zshrc 檔,並用 vim 編輯: cd ; vim .zshrc
  • 在最底下加入路徑: export PATH="/usr/local/mysql/bin:$PATH"
  • 最後,source .zshrc 檔,或是重啟 終端機 就可以了: source ~/.zshrc
  • </br>

    到這邊已經可以參考 MySQL 官方文件的教學,使用 command line 來自行設定密碼及操作資料庫了。

    </br>

    解決 MySQL 8.0 在 Node.JS 的登入問題

    若你使用 MySQL 8.0,可能會遇到使用預設創建 user,密碼卻無法成功登入的問題。這可能是 Node.JS 無法支援 MySQL 8.0 caching_sha2_password 的問題,必須改回使用 mysql_native_password

  • 輸入以下 query 重設密碼: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
  • 詳細可以參考:https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server

    </br>

    phpMyAdmin

    下載 phpMyAdmin

    首先,自行到官網下載 phpMyAdmin。

    </br>

    安裝 phpMyAdmin

  • 先在 /Library/WebServer/Documents/ 建一個 phpmyadmin 資料夾:
  • cd /Library/WebServer/Documents/
    sudo mkdir phpmyadmin
    
  • 將下載下來的整包資料,全部放到剛剛的資料夾裡面: cp -r phpMyAdmin-4.2.2-all-languages/. /Library/WebServer/Documents/phpmyadmin/
  • 瀏覽器輸入 http://localhost/phpmyadmin/,就可成功看到 phpMyAdmin 的登入畫面。

    </br>

    解決 phpMyAdmin 登入時出現的 #2002 error 問題

    若登入 phpMyAdmin 的時候出現下面錯誤碼: mysqli_real_connect(): (HY000/2002): No such file or directory

    </br>

  • 解法一:
  • 修改 phpmyadmin 資料夾當中的 config.inc.php 檔: 將 $cfg['Servers'][$i]['host'] = 'localhost'; 改成 $cfg['Servers'][$i]['host'] = '127.0.0.1';

    詳細可以參考:https://stackoverflow.com/questions/41881123/mysqli-real-connect-hy000-2002-no-such-file-or-directory

    </br>

  • 解法二:
  • 新增 /var/mysql 資料夾: sudo mkdir /var/mysql

    建立 “/tmp/mysql.sock” 及 “/var/mysql/mysql.sock” 的連結: sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

    詳細可以參考:https://coolestguidesontheplanet.com/install-apache-mysql-php-and-phpmyadmin-on-macos-high-sierra-10-13/#mysql

    </br> </br>


    參考資料:

  • https://www.jianshu.com/p/07a9826898c0
  • https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server
  • https://coolestguidesontheplanet.com/install-apache-mysql-php-and-phpmyadmin-on-macos-high-sierra-10-13/
  • https://bonze.tw/mac-解決-zsh-command-not-found/
  • http://violin-tao.blogspot.com/2014/05/lab-mac-mysql-phpmyadmin.html
  • https://stackoverflow.com/questions/41881123/mysqli-real-connect-hy000-2002-no-such-file-or-directory
  • https://dev.mysql.com/doc/refman/8.0/en/tutorial.html