2014-10-26 114 views
4

從小牛升級到優勝美地後,我的本地MAMP環境停止工作。它在10.9上完美運行。基於名稱的虛擬主機不能正常工作/在OS X 10.10的Apache 2.4.9中允許Yosemite

具體而言,我在/etc/apache2/users/username.conf中定義的虛擬主機不再有效。當我試圖訪問任何這些主機名時,我只在Chrome中獲得ERR_CONNECTION_REFUSED,例如。 http://wp/(我將以此爲例)。

古怪,我沒有得到任何的日誌文件,既不/var/log/apache2/access_log也不/var/log/apache2/error_log

這裏是我的全部httpd.conf

ServerRoot "/usr" 

Listen 80 

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_socache_module libexec/apache2/mod_authn_socache.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_dbd_module libexec/apache2/mod_authz_dbd.so 
LoadModule authz_core_module libexec/apache2/mod_authz_core.so 
#LoadModule authnz_ldap_module libexec/apache2/mod_authnz_ldap.so 
LoadModule access_compat_module libexec/apache2/mod_access_compat.so 
LoadModule auth_basic_module libexec/apache2/mod_auth_basic.so 
#LoadModule auth_form_module libexec/apache2/mod_auth_form.so 
#LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so 
#LoadModule allowmethods_module libexec/apache2/mod_allowmethods.so 
#LoadModule file_cache_module libexec/apache2/mod_file_cache.so 
#LoadModule cache_module libexec/apache2/mod_cache.so 
#LoadModule cache_disk_module libexec/apache2/mod_cache_disk.so 
#LoadModule cache_socache_module libexec/apache2/mod_cache_socache.so 
#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so 
#LoadModule socache_dbm_module libexec/apache2/mod_socache_dbm.so 
#LoadModule socache_memcache_module libexec/apache2/mod_socache_memcache.so 
#LoadModule watchdog_module libexec/apache2/mod_watchdog.so 
#LoadModule macro_module libexec/apache2/mod_macro.so 
#LoadModule dbd_module libexec/apache2/mod_dbd.so 
#LoadModule dumpio_module libexec/apache2/mod_dumpio.so 
#LoadModule echo_module libexec/apache2/mod_echo.so 
#LoadModule buffer_module libexec/apache2/mod_buffer.so 
#LoadModule data_module libexec/apache2/mod_data.so 
#LoadModule ratelimit_module libexec/apache2/mod_ratelimit.so 
LoadModule reqtimeout_module libexec/apache2/mod_reqtimeout.so 
#LoadModule ext_filter_module libexec/apache2/mod_ext_filter.so 
#LoadModule request_module libexec/apache2/mod_request.so 
#LoadModule include_module libexec/apache2/mod_include.so 
LoadModule filter_module libexec/apache2/mod_filter.so 
#LoadModule reflector_module libexec/apache2/mod_reflector.so 
#LoadModule substitute_module libexec/apache2/mod_substitute.so 
#LoadModule sed_module libexec/apache2/mod_sed.so 
#LoadModule charset_lite_module libexec/apache2/mod_charset_lite.so 
LoadModule deflate_module libexec/apache2/mod_deflate.so 
#LoadModule xml2enc_module libexec/apache2/mod_xml2enc.so 
#LoadModule proxy_html_module libexec/apache2/mod_proxy_html.so 
LoadModule mime_module libexec/apache2/mod_mime.so 
#LoadModule ldap_module libexec/apache2/mod_ldap.so 
LoadModule log_config_module libexec/apache2/mod_log_config.so 
#LoadModule log_debug_module libexec/apache2/mod_log_debug.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 expires_module libexec/apache2/mod_expires.so 
LoadModule headers_module libexec/apache2/mod_headers.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 remoteip_module libexec/apache2/mod_remoteip.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_fcgi_module libexec/apache2/mod_proxy_fcgi.so 
LoadModule proxy_scgi_module libexec/apache2/mod_proxy_scgi.so 
#LoadModule proxy_fdpass_module libexec/apache2/mod_proxy_fdpass.so 
LoadModule proxy_wstunnel_module libexec/apache2/mod_proxy_wstunnel.so 
LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so 
LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so 
LoadModule proxy_express_module libexec/apache2/mod_proxy_express.so 
#LoadModule session_module libexec/apache2/mod_session.so 
#LoadModule session_cookie_module libexec/apache2/mod_session_cookie.so 
#LoadModule session_dbd_module libexec/apache2/mod_session_dbd.so 
LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so 
#LoadModule slotmem_plain_module libexec/apache2/mod_slotmem_plain.so 
#LoadModule ssl_module libexec/apache2/mod_ssl.so 
#LoadModule dialup_module libexec/apache2/mod_dialup.so 
LoadModule lbmethod_byrequests_module libexec/apache2/mod_lbmethod_byrequests.so 
LoadModule lbmethod_bytraffic_module libexec/apache2/mod_lbmethod_bytraffic.so 
LoadModule lbmethod_bybusyness_module libexec/apache2/mod_lbmethod_bybusyness.so 
#LoadModule lbmethod_heartbeat_module libexec/apache2/mod_lbmethod_heartbeat.so 
LoadModule unixd_module libexec/apache2/mod_unixd.so 
#LoadModule heartbeat_module libexec/apache2/mod_heartbeat.so 
#LoadModule heartmonitor_module libexec/apache2/mod_heartmonitor.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 dav_lock_module libexec/apache2/mod_dav_lock.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 php5_module libexec/apache2/libphp5.so 
#LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so 

<IfModule unixd_module> 
User Cab 
Group staff 
</IfModule> 

ServerAdmin [email protected] 

<Directory /> 
    AllowOverride none 
    Require all denied 
</Directory> 

DocumentRoot "/Library/WebServer/Documents" 
<Directory "/Library/WebServer/Documents"> 
    Options Indexes FollowSymLinks MultiViews 
    MultiviewsMatch Any 

    AllowOverride All 

    Require all granted 
</Directory> 

<IfModule dir_module> 
    DirectoryIndex index.html index.php 
</IfModule> 

<FilesMatch "^\.([Hh][Tt]|[Dd][Ss]_[Ss])"> 
    Require all denied 
</FilesMatch> 

<Files "rsrc"> 
    Require all denied 
</Files> 
<DirectoryMatch ".*\.\.namedfork"> 
    Require all denied 
</DirectoryMatch> 

ErrorLog "/private/var/log/apache2/error_log" 

LogLevel info 

<IfModule log_config_module> 
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 
    LogFormat "%h %l %u %t \"%r\" %>s %b" common 

    <IfModule logio_module> 
     LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio 
    </IfModule> 

    CustomLog "/private/var/log/apache2/access_log" common 
</IfModule> 

<IfModule alias_module> 
    ScriptAliasMatch ^/cgi-bin/((?!(?i:webobjects)).*$) "/Library/WebServer/CGI-Executables/$1" 
</IfModule> 

<Directory "/Library/WebServer/CGI-Executables"> 
    AllowOverride None 
    Options None 
    Require all granted 
</Directory> 

<IfModule mime_module> 
    TypesConfig /private/etc/apache2/mime.types 

    AddType application/x-compress .Z 
    AddType application/x-gzip .gz .tgz 
</IfModule> 

TraceEnable off 

Include /private/etc/apache2/extra/httpd-mpm.conf 
Include /private/etc/apache2/extra/httpd-autoindex.conf 
Include /private/etc/apache2/extra/httpd-languages.conf 
Include /private/etc/apache2/extra/httpd-userdir.conf 
Include /private/etc/apache2/extra/httpd-manual.conf 

<IfModule proxy_html_module> 
Include /private/etc/apache2/extra/proxy-html.conf 
</IfModule> 

<IfModule ssl_module> 
SSLRandomSeed startup builtin 
SSLRandomSeed connect builtin 
</IfModule> 

httpd-userdir.conf

UserDir Sites 
Include /private/etc/apache2/users/*.conf 
<IfModule bonjour_module> 
     RegisterUserSite customized-users 
</IfModule> 

username.conf

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

<VirtualHost *:80> 
    DocumentRoot /Users/Cab/Sites/wp 
    ServerName wp 
    ServerAlias wp.*.xip.io 
</VirtualHost> 

(有很多的VirtualHosts設置相同)

sudo apachectl -t給我:

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using CabBook.local. Set the 'ServerName' directive globally to suppress this message 
Syntax OK 

sudo apachectl -S

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using CabBook.local. Set the 'ServerName' directive globally to suppress this message 
VirtualHost configuration: 
*:80     is a NameVirtualHost 
     default server wp (/private/etc/apache2/users/Cab.conf:8) 
     port 80 namevhost wp (/private/etc/apache2/users/Cab.conf:8) 
     [ ... edited for brevity ... ] 
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="Cab" id=501 
Group: name="staff" id=20 

http://localhost將呈現wp主機名就好了(因爲它在我的username.conf第一定義,從而the default)。但唉,http://wp/只是borked。 我懷疑這是一個權限問題,但無法確定是否有任何權限設置不正確。

我的網站目錄:

drwxr-xr-x 20 Cab staff  680 Oct 26 15:47 Sites 

而且username.conf

-rw[email protected] 1 Cab staff 2198 Oct 26 15:24 Cab.conf 

兩個相同的用戶/組的Apache下運行。我茫然:( 任何幫助/指針不勝感激!


UPDATE

所以我發現,它的工作原理,如果我成立了IPv6的主機名在我/etc/hosts。 像。所以

::1 wp 

,然後讓我看到現場這是我在我的Apache訪問日誌中得到:

::1 - - [28/Oct/2014:14:01:28 +0100] "GET/HTTP/1.1" 200 20232 

但是,這並不能完全解決我的問題。我仍然無法訪問類似xip.io的網站,我使用它來測試多個設備上的本地站點(因此,在username.conf中爲ServerAlias wp.*.xip.io)。

回答

0

看起來像你需要:

::1 wp wp.*.xip.io 

或者添加xip.io到您的resolv.conf文件。

(那是在你的服務器別名字面「*」 - 我很驚訝的作品)。

+0

這似乎很奇怪,我將不得不添加'WP * xip.io'我的hosts文件或resolv.conf,在10.9或10.8中沒有必要 - 你能詳細說明爲什麼10.10需要這個嗎? (是的,這是一個字面星號('*')在我的服務器別名:)不能告訴你爲什麼它的工作原理,但它確實:P) 感謝您花時間幫助我! – cabgfx 2014-11-03 12:21:34

+0

我不知道10.10有什麼變化,這意味着你現在需要它時,你以前沒有。如果您的hosts文件中沒有全名,那麼我希望您的瀏覽器在DNS中查找名稱,並且失敗。如果將xip.io添加到resolv.conf中,則不需要將域後綴添加到主機,因此'wp'會自動添加域後綴。 – 2014-11-03 13:07:33

相關問題