我在 Mac 上使用 MAMP pro 进行开发。当我启动 MAMP 时,如果我使用端口 80,它会提示我输入密码。如果我使用更高的端口,它不会提示我,但我必须在 URL 中附加端口号(例如 dev.local:8888 )。有谁知道如何使它在使用标准端口时不提示输入密码?谢谢你。
8 回答
我整理了一个应用程序,即使在端口 80 上,也可以在没有密码请求的情况下启动/停止 MAMP 的 Apache 和 MySQL。它将密码存储在 Keychain 中,因此您只需输入一次。它也有一个漂亮的图标!
下载:http ://www.46palermo.com/blog/run-mamp-without-password-easy-way/
根据 living-e 代表的说法,他们正在考虑添加一个选项以将密码存储在钥匙串中:
http://forum.webedition.de/phpBB/viewtopic.php?f=4&t=5517&p=12019
更新:我缠着 Living-e 支持并让他们将其作为功能请求添加到他们的错误跟踪器中。链接在这里:http: //qa.living-e.de/tracker/view.php ?id=3648 (需要注册)如果你想关注它。
另一个更新:仍在关注这个问题。看起来 living-e 移动了他们的错误跟踪器,这个问题的新链接是:
http://bugs.mamp.info/view.php?id=3652
它是德语,但谷歌翻译是:
何时启动和停止服务器,如果端口被用作低 1024th,则需要管理员密码 如果我们可以从 OS X 钥匙串/钥匙圈获取密码,让他们自己避免烦人的弹出广告。
或者说德语的人的翻译是:
当服务器启动/停止时,它每次都会询问管理员密码。如果它可以从 OS X Keychain / Keyring 获取密码,就可以避免烦人的弹出窗口。
正如在Macworld上发现的并且汤姆在另一个答案中已经提到的那样,有一种使用 applescript 的方法!缺点是您必须以纯文本形式保存您的用户凭据。
- 打开 AppleScript 编辑器
- 输入以下代码替换
YOURPASSWORD
并YOURUSERNAME
使用您的用户凭据 - 将其保存为应用程序。您可能会勾选
run-only
以防止其他用户阅读纯文本作为一项小的安全措施
do shell script "/Applications/MAMP/bin/startApache.sh &" password "YOURPASSWORD" user name "YOURUSERNAME" with administrator privileges do shell script "/Applications/MAMP/bin/startMysql.sh > /dev/null 2>&1"
正确的文件路径可能存在问题,因为 MAMP 在某些版本中显然已更改startmySQL.sh
为startMysql.sh
,因此请仔细检查它是否不起作用!
您可以将新应用程序放在登录项(系统偏好设置 -> 用户和组 -> 登录项)中,这样 Apache 服务器和 MySQL 会自动启动,甚至不会在启动时显示 MAMP-App(静默启动)。
响应发布的命令:
1) 在端口 > 1024 上运行 MAMP
在 MAMP(nginx、apache、mysql)上运行端口范围高于 1024 的所有服务器允许您登录的 Mac OS X 帐户启动服务,因此在这种情况下不会要求您输入密码。任何在端口 1024 以下运行的服务器在执行时都需要 root 权限。
2) chmod -R a+w /tmp
此命令将递归遍历 /tmp 中的所有文件和子文件夹,并使它们对当前用户可写。当 MAMP 启动时,服务器会在此目录中创建临时文件。
此外,如果您决定要在端口 1024 以下运行服务器并希望使用不以纯文本形式存储密码的 applescript 解决方案,请参阅此链接applescript password with keychain
我现在使用这两个applescripts来启动/停止MAMP,你可以保存启动脚本是一个登录项,所以当我启动时它总是启动。这确实意味着以纯文本形式存储您的密码,因为我是唯一一个使用这台机器的人,我可以忍受它,这比每天至少输入密码三次要好。
我将 apache 绑定到端口 8080,然后使用从 80 到 8080 的端口转发
sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in
对我有用,但我正在努力使上述脚本永久化。到目前为止,我没有尝试过任何东西,所以我只是在重新启动后在终端中运行上面的命令。但是您可以在没有密码的情况下自由启动和停止 MAMP,并使用没有 :8080 或 :8888 的 URL。
这是一个安全问题,MacOS 具有 UNIX 传统,如安全性(=Good Thing)。这就是 MacOS 一直要求输入密码的原因。据我所知,你对此无能为力。
1) 在端口 > 1024 上运行 MAMP
2) chmod -R a+w /tmp