如何在 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

修改监听端口

默认情况下,它将侦听 port 8080如果要监听端口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/php@7.1/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 php@7.1 根据自己的版本号调整,关闭stop、重启restart

如果您看到“已启动”状态,则表示 Apache 服务器已启动并正在运行。

posted @ 2022-01-06 12:08  浪里小韭菜  阅读(1529)  评论(0编辑  收藏  举报