本地主机配置 mac sierra

Posted

技术标签:

【中文标题】本地主机配置 mac sierra【英文标题】:Localhost configuration mac sierra 【发布时间】:2017-04-04 07:18:34 【问题描述】:

问题:自从我升级到 Sierra 后,我就无法连接到 localhost。我以前使用过 MAMP,但升级后它停止工作,当我无法让 mysql 再次工作时,我决定使用 apache/php/mysql 设置默认 localhost,但现在已经快一周了,我不能似乎得到了正确的配置!对整个事情完全不知所措,在这一点上,任何帮助都将不胜感激。

到目前为止我做了什么..

-删除了所有 MAMP 实例,包括从 .bash_profile 中删除它。我的 PATH 现在看起来像这样,

export PATH="/usr/local/mysql/bin:$PATH"

-我安装了mysql,可以通过系统偏好面板打开和关闭它。 -我升级到php7。所以我现在安装了 php5 和 php7。 -我已经设置了一个 username.conf (当然我把用户名换成了我的实际用户名)

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

-我设置了一个虚拟主机,

<VirtualHost *:80>
DocumentRoot "/Users/username/Sites"
ServerName localhost
</VirtualHost>

-我在 httpd.conf 中没有注释,

LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule cgi_module libexec/apache2/mod_cgi.so
LoadModule php5_module libexec/apache2/libphp5.so
Include /private/etc/apache2/extra/httpd-userdir.conf
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

-在 httpd-userdir.conf 中取消注释,

Include /private/etc/apache2/users/*.conf

在虚拟主机更改之前,我可以访问“它成功了!”在浏览器中,但现在显示

localhost 拒绝连接。

我还尝试将我的一个项目移动到 Documents 文件夹,并在不使用 username.conf 的情况下从默认的“localhost”处理它,但即使“它可以工作!”我也无法打开该项目。 "页面正在加载,很奇怪。

httpd.conf 中的 DocumentRoot 是 /Library/WebServer/Documents

我不想将其更改为 /Users/username/Sites(就像我之前所做的那样),因为我想使用 username.conf 访问目录,例如:当我在浏览器中键入“localhost”时它应该说“它有效!”当我输入“localhost/~username”时,它应该说“欢迎来自您的用户目录”。我知道这一定很简单,我可能只需要做一点小改动,有人知道我做错了什么吗?

我在终端得到什么:

httpd -v

Server version: Apache/2.4.23 (Unix)
Server built:   Aug  8 2016 16:31:34

apachectl -S

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server localhost (/private/etc/apache2/extra/httpd-vhosts.conf:24)
         port 80 namevhost localhost (/private/etc/apache2/extra/httpd-vhosts.conf:24)
         port 80 namevhost dummy-host.example.com (/private/etc/apache2/extra/httpd-vhosts.conf:29)
                 alias www.dummy-host.example.com
         port 80 namevhost dummy-host2.example.com (/private/etc/apache2/extra/httpd-vhosts.conf:38)
ServerRoot: "/usr"
Main DocumentRoot: "/Library/WebServer/Documents"
Main ErrorLog: "/private/var/log/apache2/error_log"
Mutex mpm-accept: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex proxy: using_defaults
Mutex default: dir="/private/var/run/" mechanism=default 
PidFile: "/private/var/run/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="_www" id=70 not_used
Group: name="_www" id=70 not_used

哪个php

/usr/bin/php

哪个mysql

/usr/local/mysql/bin/mysql

php -v

PHP 5.6.25 (cli) (built: Sep  6 2016 16:37:16) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

回显 $PATH

/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

..所以你可以看到 localhost 没有被 apache 拾取。

我已经完成了许多帖子解决方案,但似乎没有任何东西可以使事情正常进行。我还将所有内容重置为默认设置,并再次进行更改以查看是否遗漏了任何内容,但没有运气。

我不想更改“主机”文件中的任何内容,以防万一我把所有东西都搞砸了,这是我遗漏的步骤吗?

(看来我只能在这里发布两个链接,但显然我已经解决了比这更多的问题/教程!)这两个似乎应该能够解决问题。 Apache localhost/~username/ not working https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/

再次感谢您的宝贵时间,我希望有人可以为我指明正确的方向。

【问题讨论】:

【参考方案1】:

如果仍然相关。 如果您只是尝试在没有模拟工具的情况下设置 localhost,例如模拟其他服务器等,则甚至无需查看虚拟主机。默认情况下,localhost 正在监听 80 端口,它实际上已经准备好供您使用了,您只需要指定谁可以访问它,当然,不要忘记 apachectl start 使用 sudo 模式的 apache,我认为很奇怪,因为要让 localhost 正常工作,你只需要启动 apache,它应该会说“它可以工作!”进入浏览器后。

在您指定用户目录的位置注意您使用的 apache 版本,因此对于 Siera,您的 username.conf 应该如下所示。

<Directory "/Users/username/Sites/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

再次使用 sudo 权限执行 apachectl restart。如果问题仍然存在,请运行 apachectl configtest 并将内容粘贴到此处。

【讨论】:

感谢@Azureus 的回复。我已经解决了这个问题,但你的建议肯定会帮助下一个被卡住的人!

以上是关于本地主机配置 mac sierra的主要内容,如果未能解决你的问题,请参考以下文章

虚拟主机不适用于安装 macOS Sierra

Vhost 与 Mamp Mac OS High Sierra

Linux基础入门之网络属性配置

mac apache虚拟主机配置

Mac 上的 Nodejs 和 Wordpress 都端口 80 虚拟主机配置

MAC为Apache2服务器配置多个虚拟主机