获取在 mac OS X Yosemite 上运行的 localhost
Posted
技术标签:
【中文标题】获取在 mac OS X Yosemite 上运行的 localhost【英文标题】:Get localhost running on mac OS X Yosemite 【发布时间】:2014-12-14 18:10:24 【问题描述】:我已将我的操作系统更新为优胜美地,唯一的问题是我的本地主机不再工作。如果这些问题听起来很愚蠢,但我对服务器的了解有限,请原谅。
对于 Mavericks,我可以在系统启动后立即使用 localhost
和 customdomain.dev
。我的 mysql 服务器也已启动,没有任何操作
现在谷歌浏览器在使用 localhost 时会抛出 ERR_CONNECTION_REFUSED
错误。
我跑
apachectl configtest
返回
httpd: Syntax error on line 58 of /private/etc/apache2/httpd.conf: Cannot load libexec/apache2/mod_authn_default.so into server: dlopen(/usr/libexec/apache2/mod_authn_default.so, 10): image not found
如果我注释掉这一行,它会继续使用其他模块。当我注释掉导致此语法错误的所有模块时,我得到
AH00526: Syntax error on line 131 of /private/etc/apache2/httpd.conf:
Invalid command 'User', perhaps misspelled or defined by a module not included in the server configuration
我正在使用 Mavericks 的 httpd.conf
文件(一切正常)
我不知道下一步该怎么做
【问题讨论】:
不确定如何使用apachectl
,但我真的很喜欢 MAMP,免费版 (mamp.info/en)。非常适合在本地运行 Apache 服务器。
我不喜欢每次启动计算机时都启动应用程序 - 它以前可以运行,为什么现在不行?
尝试备份您的sites_available
文件夹并重新安装。问题是否仍然存在?
@Qix 抱歉,我该怎么做?
我收到错误 apachectl configtest AH00558: httpd: 无法可靠地确定服务器的完全限定域名,使用 buildserver.local。全局设置“ServerName”指令以禁止显示此消息,如何解决此问题?
【参考方案1】:
您是否保留了升级前的原始 httpd.conf?您可能需要编辑 httpd.conf 中的模块
我发现 Yosemite 附带了 Apache 升级。显然,从 Apache 2.2 到 2.4 有几个与身份验证相关的更改。我不得不反复运行sudo apachectl configtest
来显示要删除的模块。
然后,我不得不添加一些模块。我的模块现在看起来像这样:
LoadModule authn_file_module libexec/apache2/mod_authn_file.so
LoadModule authn_dbm_module libexec/apache2/mod_authn_dbm.so
LoadModule authn_anon_module libexec/apache2/mod_authn_anon.so
LoadModule authn_dbd_module libexec/apache2/mod_authn_dbd.so
#LoadModule authn_default_module libexec/apache2/mod_authn_default.so
LoadModule authn_core_module libexec/apache2/mod_authn_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache2/mod_authz_user.so
LoadModule authz_dbm_module libexec/apache2/mod_authz_dbm.so
LoadModule authz_owner_module libexec/apache2/mod_authz_owner.so
#LoadModule authz_default_module libexec/apache2/mod_authz_default.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule auth_basic_module libexec/apache2/mod_auth_basic.so
LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so
LoadModule cache_module libexec/apache2/mod_cache.so
#LoadModule disk_cache_module libexec/apache2/mod_disk_cache.so
#LoadModule mem_cache_module libexec/apache2/mod_mem_cache.so
LoadModule dbd_module libexec/apache2/mod_dbd.so
LoadModule dumpio_module libexec/apache2/mod_dumpio.so
LoadModule reqtimeout_module libexec/apache2/mod_reqtimeout.so
LoadModule ext_filter_module libexec/apache2/mod_ext_filter.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule filter_module libexec/apache2/mod_filter.so
LoadModule substitute_module libexec/apache2/mod_substitute.so
LoadModule deflate_module libexec/apache2/mod_deflate.so
LoadModule log_config_module libexec/apache2/mod_log_config.so
LoadModule log_forensic_module libexec/apache2/mod_log_forensic.so
LoadModule logio_module libexec/apache2/mod_logio.so
LoadModule env_module libexec/apache2/mod_env.so
LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so
#LoadModule cern_meta_module libexec/apache2/mod_cern_meta.so
LoadModule expires_module libexec/apache2/mod_expires.so
LoadModule headers_module libexec/apache2/mod_headers.so
#LoadModule ident_module libexec/apache2/mod_ident.so
LoadModule usertrack_module libexec/apache2/mod_usertrack.so
#LoadModule unique_id_module libexec/apache2/mod_unique_id.so
LoadModule setenvif_module libexec/apache2/mod_setenvif.so
LoadModule version_module libexec/apache2/mod_version.so
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule proxy_scgi_module libexec/apache2/mod_proxy_scgi.so
LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so
#LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so
LoadModule ssl_module libexec/apache2/mod_ssl.so
LoadModule mime_module libexec/apache2/mod_mime.so
LoadModule dav_module libexec/apache2/mod_dav.so
LoadModule status_module libexec/apache2/mod_status.so
LoadModule autoindex_module libexec/apache2/mod_autoindex.so
LoadModule asis_module libexec/apache2/mod_asis.so
LoadModule info_module libexec/apache2/mod_info.so
LoadModule cgi_module libexec/apache2/mod_cgi.so
LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule dir_module libexec/apache2/mod_dir.so
LoadModule imagemap_module libexec/apache2/mod_imagemap.so
LoadModule actions_module libexec/apache2/mod_actions.so
LoadModule speling_module libexec/apache2/mod_speling.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
#LoadModule perl_module libexec/apache2/mod_perl.so
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule unixd_module libexec/apache2/mod_unixd.so
LoadModule access_compat_module libexec/apache2/mod_access_compat.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
你会看到我注释掉了一些。有几个新的。两个_core_
、unixd_module
和access_compat_module
是新的。不要介意看起来很奇怪的 PHP 模块。那是来自 Homebrew 的 PHP。
我还必须删除httpd-mpm.conf
中的LockFile
指令。还有httpd-vhosts.conf
中的NameVirtualHost
指令。
我希望这会有所帮助。
【讨论】:
感谢您的提示。我将/etc/apache2/original/httpd.conf
复制到/etc/apache2/httpd.conf
并且服务器再次工作。我必须再次根据需要重新配置该文件,但这不是问题。谢谢!
在出现此问题时后悔升级到优胜美地。 10分钟后,问题解决。溢出有福了……
谢谢你;我今天失去了解决这个问题的意愿。最后,我还必须添加:(1)LoadModule authz_core_module libexec/apache2/mod_authz_core.so
来处理错误消息Invalid command 'Require', perhaps misspelled or defined by a module not included in the server configuration
。参见:***.com/questions/18844338/… (2) 来自mac-dev-env.patrickbougie.com/apache的“配置文件”部分
太棒了——我所要做的就是删除 php 文件!【参考方案2】:
除了Stephen Farmers 非常好的答案。我还必须再添加一个模块。
LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so
否则 apaches 日志中会充满如下消息:
[proxy_balancer:emerg] [pid 25593] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
它不会启动。
现在工作正常。
Link to Apaches bugzilla report of this
【讨论】:
我认为注释掉proxy_balancer_module
为我解决了这个问题。不完全确定。我没有在我的开发机器上使用负载均衡器。【参考方案3】:
添加此模块似乎可以解决:无效命令“用户”
LoadModule unixd_module modules/mod_unixd.so
【讨论】:
【参考方案4】:由于 Mac OSX 10.10 Yosemite
之前位于设置 -> 共享中的 Web Sharing
选项不复存在,现在需要手动配置。
检查此链接: http://ole.michelsen.dk/blog/setup-local-web-server-apache-php-osx-yosemite.html
【讨论】:
以上是关于获取在 mac OS X Yosemite 上运行的 localhost的主要内容,如果未能解决你的问题,请参考以下文章
如何在Mac OS X Yosemite上安装 jdk 1.6 开发环境
sh 在Mac OS X Yosemite黑暗菜单栏上修复Google相册备份图标
Ruby cairo gem 无法在 Mac OS X Yosemite 上安装