Localhost配置mac sierra

时间:2016-11-21 00:07:35

标签: php macos localhost apache2 vhosts

问题:自从我升级到Sierra后,我无法连接到localhost。我之前使用的是MAMP,但是一旦我升级它就停止了工作,当我无法让mysql再次工作时我决定使用apache / php / mysql设置默认的localhost,但它已经差不多一周了现在,我似乎无法正确配置!完全失去了整个事情,在这一点上,任何帮助都将不仅仅是非常感激。

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

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

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

-I安装了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>

-I在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

在vhost更改之前,我可以访问&#34; It Worked!&#34;在浏览器中,但现在它说

  

localhost拒绝连接。

我还尝试将我的一个项目移动到Documents文件夹,然后从默认的&#34; localhost&#34;没有使用username.conf,但即使&#34;它工作,我也无法打开项目!&#34;页面正在加载,非常奇怪。

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

我不想将其更改为/ Users / username / Sites(如前所述),因为我想使用username.conf来访问目录,例如:当我键入&#34;本地主机&#34;在浏览器中它应该说&#34;它工作!&#34;当我输入&#34; localhost / ~username&#34;它应该说&#34;欢迎来自您的用户目录&#34;。我知道这一定很简单,我可能只需做一个小改动,有没有人知道我做错了什么?

我在终端上得到了什么:

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

echo $ PATH

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

..因为你可以看到本地主机没有被apache接收。

我已经完成了许多后期解决方案,但似乎没有什么能让事情变得有效。我还将所有内容重置为默认设置,然后再次进行更改以查看是否遗漏了任何内容,但没有运气。

我不想在&#34;主机&#34;中更改任何内容。文件以防我搞砸了一切,这是我错过的一步吗?

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

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

1 个答案:

答案 0 :(得分:1)

如果仍然相关。 如果您只是尝试在没有模拟工具的情况下设置localhost,例如模拟其他服务器等,则无需查看虚拟主机。默认情况下,localhost正在侦听端口80,它几乎可供您使用,您只需指定谁可以访问它,当然,不要忘记apachectl start使用sudo模式的apache,我觉得很奇怪,因为要让localhost工作,你只需要启动apache就应该说'它有效!&#39;就在你进入浏览器之后。

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

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

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