Сломанная конфигурация Apache после обновления до Yosemite

Вчера я обновился до Yosemite, и теперь моя локальная настройка для веб-разработки больше не работает.

Мне удалось настроить userdir в разделе /Users/user/public_html и я смог получить доступ ко всем веб-сайтам через localhost/~user/websitename . Ничего особенного, но мне потребовалось некоторое время, чтобы настроить.

Глядя в каталог apache, я увидел, что многие файлы были заменены, сохраняя резервную копию. Я попытался снова вернуть файлы с моими настройками, но все еще не работает. Возможно, мне не хватает файла, который я не помню.

Это httpd-userdir.conf:

 # Settings for user home directories # # Required module: mod_userdir # # UserDir: The name of the directory that is appended onto a user's home # directory if a ~user request is received. Note that you must also set # the default access control for these directories, as in the example below. # UserDir public_html # # Users might not be in /Users/*/Sites, so use user-specific config files. # Include /private/etc/apache2/users/*.conf <IfModule bonjour_module> RegisterUserSite customized-users </IfModule> <Directory "/Users/*/public_html/"> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Order allow,deny Allow from all </Directory> 

Затем в http.conf я включил некоторые модули:

 Include /private/etc/apache2/extra/httpd-userdir.conf LoadModule userdir_module libexec/apache2/mod_userdir.so 

и это:

DocumentRoot "/ Users / user / public_html"

 Directory "/Users/user/public_html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks MultiViews # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride all # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> 

Если я просто попробую обратиться к localhost , отобразится сообщение «It works!». Если я перехожу к localhost/user просто не загружается, и то же самое, если я пытаюсь получить доступ к одному из сайтов.

Я пропустил какой-либо файл? В журналах apache он даже не отображает никаких ошибок.

    OS X 10.10 Yosemite поставляется с Apache 2.4 вместо Apache 2.2 в Mavericks.
    Основное отличие в конфигурации заключается в том, что вам нужно заменить …

     Order allow,deny Allow from all 

    …с…

     Require all granted 

    Дополнительную информацию см. В руководстве для руководства Apache Upgrading to 2.4 from 2.2 .

    ОБНОВИТЬ:
    Помните, что после обновления OS X вы обычно найдете свои старые файлы конфигурации в качестве резервных копий рядом с новыми, написанными Yosemite. Они помечены как httpd.conf.pre-update и / или httpd.conf ~ previous и могут быть найдены в тех же путях, что и новые конфигурации (например, в / private / etc / apache2 ).

    Попытка исправить эту проблему в течение 6 часов, я, наконец, смог заставить ее работать. Я редактировал httpd.conf, httpd-userdir.conf, httpd-vhosts.conf и т. Д. Безрезультатно. Если оставить все эти файлы неотредактированными из конфигурации yosemite, то для меня наконец-то я должен был отредактировать httpd_server_app.conf, расположенный в /Library/Server/Web/Config/apache2/ , добавив следующее (для каждого сайта) следующим образом:

     <Directory /> Options +FollowSymLinks AllowOverride All Order deny,allow Deny from all </Directory> <Directory "/Library/Server/Web/Data/Sites/Default/"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Order allow,deny Allow from all </Directory> <Directory "/Library/Server/Web/Data/Sites/[OTHER SITE DIRECTORY]/"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Order allow,deny Allow from all </Directory>