如何在Mac上使用命令行卸载Apache?

4
我按照以下链接中的指示,在命令行(也称终端)上安装了Apache,这是一门课程。

https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/

但是我的教授告诉我,我们需要安装XAMPP 5.6.12,它将包括以下软件包:
Apache 2.4.16
MySQL 5.6.26
PHP 5.6.12
phpMyAdmin 4.4.14 

所以现在我想在我的Mac上卸载当前的Apache(Apache/2.4.25),这样我就可以安装XAMMP了,它已经有了我需要的Apache和其他GUI课程所需的包。
4个回答

23

检查以下命令的输出以及 Apache 是否在 _www 用户下运行

sudo lsof -i:80

停止在Mac OS X中内置的Apache服务器,可以使用以下命令:

sudo apachectl -k stop

输入管理员密码。

接下来运行此 launchctl unload 命令。

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

再次使用第一个命令检查内置的Apache服务器是否已完全删除、停止并取消关联


1
在我输入sudo apachectl -k stop命令后,我收到以下消息:AH00557:httpd:apr_sockaddr_info_get()无法获取Hussains-MacBook-Pro.local的信息 AH00558:httpd:无法可靠地确定服务器的完全限定域名,使用127.0.0.1。全局设置“ServerName”指令以抑制此消息从这里开始我该怎么做? - Brogrammer
请检查位于 /etc/apache2 文件夹中的 httpd.conf,或者应该有 apache2.conf - 只需添加:ServerName localhost。 - Rizwan
我该怎么做? - Brogrammer
任何编辑器都可以,使用vi命令打开httpd.conf或apache2.conf文件。在文件中添加以下行-> ServerName localhost。 - Rizwan
所以我运行了 sudo nano /etc/apache2/httpd.conf,输入了我的密码并添加了一行 ServerName localhost,并保存了它,然后输入了 sudo apachectl -k stop(它没有要求我输入密码),接着我运行了 sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist,但是什么都没有发生,所以我再次运行了第一个命令 sudo lsof -i:80,但仍然没能发现任何进程。这是否意味着 Apache 已经从我的 Mac 中删除了,我现在可以毫无顾虑地安装 XAMMP? - Brogrammer
如果第二次执行sudo lsof -I:80时没有打印任何细节,这意味着您的Apache已完全禁用。 - Rizwan

2

现在在macOS Catalina上,禁用Apache HTTPD守护程序的步骤如下:

$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

关于是否应该删除 /usr/sbin/http 的问题,取决于您的具体情况。在某些情况下,这可能会导致系统出现问题或安全漏洞,因此建议在进行操作之前先备份相关数据并谨慎考虑。

0

运行sudo apachectl start命令以确保Apache服务器正在运行。

访问http://localhost:80,确认您能看到 "It Works!" 或其他内容,以证明服务器正在运行。

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

cat /private/var/db/com.apple.xpc.launchd/disabled.plist 应该会产生类似以下的输出,以显示 httpd 已被禁用自动启动。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.ftpd</key>
    <true/>
    <key>com.apple.mdmclient.daemon.runatboot</key>
    <true/>
    <key>org.apache.httpd</key>
    <true/>
</dict>
</plist>

0
尝试使用这些命令,在我的MacOS Ventura M2上有效。
sudo apachectl stop 
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接