2014-10-19 205 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 
相關問題