2014-10-19 60 views
18

我已将操作系统更新为优胜美地,我唯一的问题是我的本地主机不再工作。请原谅,如果这些问题听起来很愚蠢,但我对服务器的了解有限。获取在OS X上运行的本地主机Yosemite

与小牛我能在系统启动后立即使用localhostcustomdomain.dev。另外我的MySQL服务器已经启动,没有任何动作

现在谷歌浏览器使用本地主机时会抛出一个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 

我使用的是从小牛httpd.conf文件(这里的一切工作得很好)

我不知道我应该做的下一

+0

不知道如何使用'apachectl',但我真的很喜欢MAMP,免费版本(http://www.mamp.info/en/)。非常适合在本地运行Apache服务器。 – jkjustjoshing 2014-10-19 18:59:08

+0

我不喜欢每次启动我的电脑时启动应用程序 - 它在此之前工作,为什么不现在呢? – Xaver 2014-10-19 19:02:12

+0

尝试备份你的'sites_available'文件夹并重新安装。问题是否留在那里? – Qix 2014-10-19 19:05:31

回答

34

您是否在升级之前保留了原始的httpd.conf文件?您可能需要编辑httpd.conf中的模块

我发现Apache升级随Yosemite一起发布。显然,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_moduleaccess_compat_module是新的。不要介意奇怪的PHP模块。这是来自Homebrew的PHP。

我还必须删除httpd-mpm.conf中的LockFile指令。 httpd-vhosts.conf中的NameVirtualHost指令。

我希望这会有所帮助。

+9

谢谢你的提示。我将'/ etc/apache2/original/httpd.conf'复制到'/ etc/apache2/httpd.conf'中,服务器再次运行。我必须重新配置该文件以满足我的需求,但这不是问题。谢谢! – Xaver 2014-10-20 07:11:01

+5

当这个问题发生时,遗憾地升级到优胜美地。 10分钟后,问题得到解决。 祝福的溢出... – GusOst 2014-10-20 14:27:39

+1

谢谢你;我今天失去了解决这个问题的意愿。最后,我还必须添加:(1)'LoadModule authz_core_module libexec/apache2/mod_authz_core.so'来处理错误信息'Invalid command'Require',可能是拼错或由未包含在服务器配置中的模块定义的' 。请参阅:http://stackoverflow.com/questions/18844338/invalid-command-require-perhaps-misspelled-or-defined-by-a-module-not-include(2)http://“配置文件”部分mac-dev-env.patrickbougie.com/apache/ – Nick 2014-11-21 23:18:45

0

Stephen Farmers非常好的答案。我还必须添加一个模块。

LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so 

否则阿帕奇日志充满了类似的消息:

[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

+1

我认为'proxy_balancer_module'注释解决了这个问题。不完全确定。我没有在我的开发机器上使用负载平衡器。 – 2014-10-21 01:02:56

0

添加此模块似乎解决:无效命令 '用户'

LoadModule unixd_module modules/mod_unixd.so 
相关问题