1. 程式人生 > 其它 >如何在 macOS 12 Monterey 上設定 MAMP本地伺服器

如何在 macOS 12 Monterey 上設定 MAMP本地伺服器

  Apple 於 2021 年 10 月 25 日釋出了 2021 年最新的 macOS 12 Monterey。今年又到了,如果您從 macOS 11 Big Sur 或更舊版本升級,您可能需要重新配置 macOS。

或者,如果您有一臺裝有 macOS 12 Monterey 的全新 Mac,以下配置步驟應該可以幫助您在 macOS 平臺上設定本地 Web 伺服器。

在 macOS 12 Monterey 上,系統內建了 Apache。但是,當您檢視 Apache 內建的 httpd.conf 時,您會注意到有一行說:

#PHP was deprecated in macOS 11 and removed from macOS 12

從 macOS 12 Monterey 開始,由於沒有內建 PHP,如果您想設定 MAMP(macOS、Apache、MySQL、PHP)堆疊,我建議使用 Apache 的 Homebrew 版本以及 PHP。

禁用 macOS 內建 Apache

由於我們不會使用 macOS 12 內建版本的 Apache,如果您的內建 Apache 正在執行,請發出以下命令來停止 Apache 服務。

開啟終端Terminal並輸入:

sudo apachectl stop

安裝Homebrew

您需要做的第一件事是將 Homebrew 安裝到您的 macOS 12 Monterey 系統(如果您還沒有安裝 Homebrew)。

檢查您是否安裝了 Homebrew 或知道安裝的 Homebrew 版本

開啟Terminal並輸入brew -v

Homebrew 3.3.0 
Homebrew/homebrew-core(git 修訂版 359f9f16171;最後一次提交 2021-10-25)

這意味著您已經安裝了 Homebrew。如果您沒有看到以上內容,請按照以下步驟在您的系統中安裝 Homebrew。

轉到https://brew.sh/

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"


開啟Terminal

並貼上上面的命令。

注意:如果您沒有安裝 Xcode 的命令列工具,Homebrew 安裝程式將首先下載並安裝 Xcode 的命令列工具,然後它將繼續完成 Homebrew 到您的系統的安裝。

匯出環境路徑

當您嘗試發出 brew 命令時,您可能會收到以下錯誤。

zsh: command not found: brew

如果出現上述錯誤,則必須通過發出以下命令來匯出路徑。

export PATH="/opt/homebrew/bin:$PATH"

開啟Terminal並鍵入以下命令,然後按 Enter。

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> $HOME/.zshrc

然後鍵入以下命令並按 Enter。

關閉Terminal並重新開啟一個新Terminal視窗。

通過 Homebrew 安裝 Apache

安裝 Homebrew 並正確設定匯出後,下一步是使用 Homebrew 安裝 Apache。

開啟Terminal

輸入brew install httpd

配置 Homebrew 版本的 Apache(httpd.conf 檔案)

開啟Terminal

輸入cd /opt/homebrew/etc/httpd/

鍵入sudo cp httpd.conf httpd.conf.bak並按 Enter(如果您想保留原始配置檔案的副本,則此步驟是可選的。)

輸入 sudo nano httpd.conf,進行編輯

啟用模組和配置

您需要啟用(取消註釋該行)並修改/更新httpd.conf檔案中的配置

要啟用模組,首先,您需要找到要啟用的模組。

用於調control + w出搜尋功能,查詢以下模組並確保取消註釋。(刪除#每行前面的。)

LoadModule authn_core_module lib/httpd/modules/mod_authn_core.so
LoadModule authz_host_module lib/httpd/modules/mod_authz_host.so
LoadModule userdir_module lib/httpd/modules/mod_userdir.so
LoadModule include_module lib/httpd/modules/mod_include.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
Include /opt/homebrew/etc/httpd/extra/httpd-userdir.conf

修改 DocumentRoot

使用control + w並搜尋DocumentRoot.註釋掉(放在#下面每一行的前面。

DocumentRoot "/Users/mymac/work/"
<Directory "/Users/mymac/work/">

    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks Multiviews
    MultiviewsMatch Any

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>ed

修改監聽埠

預設情況下,它將偵聽 port8080如果要監聽埠80,修改Listen 8080Listen 80.

使用Control + w並搜尋Listen 8080然後替換為Listen 80

在您的使用者名稱下建立站點資料夾

由於我們將 DocumentRoot 定義為/Users/mymac/work/

我們需要Sites在使用者“developer建立這個“”資料夾

開啟Finder並導航到使用者的資料夾。

建立新資料夾並將其命名為“work

通過 Homebrew 安裝 PHP

開啟Terminal

輸入brew install PHP

等待安裝完成。

修改 httpd.conf 以在 Apache 上啟用 PHP

開啟終端

輸入cd /opt/homebrew/etc/httpd/

輸入sudo nano httpd.conf 編輯

新增以下幾行。

LoadModule php7_module /usr/local/Cellar/[email protected]/7.1.33_4/lib/httpd/modules/libphp7.so 
# 注意這裡要根據你具體的php路徑,如果是7.x 中間php7_module,如果是8.x,則php_module,後面也是libphp.so
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>

使用Control + w並搜尋DirectoryIndex,然後新增index.php

建立 phpinfo.php 檔案

phpinfo.php 檔案將用於檢查 PHP 是否正常工作。

開啟Terminal

輸入 cd ~/work

型別sudo nano phpinfo.php

開啟 nano 應用程式後,新增以下行。

<?php phpinfo(); ?>

然後按control + o儲存然後control + x退出nano應用程式。

啟動Apache伺服器

完成Apache和PHP的配置後,讓我們啟動Apache伺服器。

開啟Terminal

輸入brew services restart httpd

要檢查 Apache 服務是否正在執行,請鍵入brew services list

你應該看到類似的東西:

httpd 啟動開發人員 /Users/developer/Library/LaunchAgents/homebrew.mxcl.httpd.plist
// 注:如果php顯示none,則表示php沒開啟,開啟方法:brew services restart [email protected] 根據自己的版本號調整,關閉stop、重啟restart

如果您看到“已啟動”狀態,則表示 Apache 伺服器已啟動並正在執行。