Подтвердить что ты не робот

Изменить локальный каталог для Yosemite Apache 2.4

У меня есть чистая Mac OSX Yosemite, но я не могу настроить Apache 2.4, как я всегда делал в более старых версиях OSX.

Вот что я хочу сделать: установите для каталога "localhost" значение "/Users/username/Public/". Но все, что я пробовал, не будет работать, я всегда получаю "Forbiden, не могу получить доступ к /", или я получаю дефолт "Он работает!". страница...

Как просто перезагрузить мой localhost?

спасибо

EDIT (спасибо Кристер Андерссон за ответ)

Для Mac OSX 10.10 Yosemite

Я также отправляю изменения, которые мне нужно было сделать, чтобы все было в порядке.

В "/etc/apache2/users/" я создал файл, названный моим именем пользователя, таким как "myUsername.conf".

Вы можете получить свое имя пользователя, набрав "id" в терминале. Вы должны найти свое имя пользователя при запуске в "uid = 501 (myUsername)".

В этом новом файле "myUsername.conf" просто скопируйте это:

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

Не пытайтесь изменить значение myUsername.

Затем в файле "/etc/apache2/httpd.conf" раскомментируйте все эти две строки:

167 #LoadModule userdir_module libexec/apache2/mod_userdir.so
169 #LoadModule php5_module libexec/apache2/libphp5.so

Линия 236, измените каталог "DocumentRoot" на то, что вы хотите. Строка 250, установите "Опции" в "Параметры" Параметры Индексы FollowSymLinks Multiviews ". Строка 258, установите для параметра "AllowOverride None" значение "AllowOverride All". Строка 263, установите для параметра "Требовать все отклоненные" значение "Требовать все предоставленные"

В терминале перезапустите apache, набрав "sudo apachectl restart".

Он работает для меня на Mac OS X 10.10. Йосемитская чистая установка.

4b9b3361

Ответ 1

Я только что установил Yosemite, и мне удалось без проблем изменить DocumentRoot. Сначала я изменил следующие строки в /private/etc/apache2/httpd.conf:

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
Options FollowSymLinks Multiviews

AllowOverride None
</Directory>

в

DocumentRoot "<CUSTOM_PATH>"
<Directory "<CUSTOM_PATH>">
Options Indexes FollowSymLinks Multiviews

AllowOverride All
</Directory>

В приведенном выше примере будет установлен пользовательский DocumentRoot, включить список каталогов и разрешить переопределение конфигураций с помощью файлов .htaccess.

Затем я перезапустил apache, выполнив sudo apachectl restart.

Другим подходом было бы создание виртуального хоста. Сначала убедитесь, что следующая строка в файле /private/etc/apache2/httpd.conf раскоментирована:

# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf

Затем вы можете добавить следующее в файл httpd-vhosts.conf:

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot "/Library/WebServer/Documents"
   ServerName example.local
   ErrorLog "/private/var/log/apache2/example.local-error_log"
   CustomLog "/private/var/log/apache2/example.local-access_log" common

   <Directory "/Library/WebServer/Documents">
     Options Indexes FollowSymLinks Multiviews
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>
</VirtualHost>

Вышеописанная настройка будет настраиваться для нового виртуального хоста с именем example.local и включить список каталогов и разрешить переопределение конфигураций с помощью файлов .htaccess. Конечно, вам также потребуется перезапустить apache, чтобы изменения вступили в силу:

sudo apachectl restart

Ответ 2

На El Capitan вы должны перезапустить apache с флагом "-k": sudo apachectl -k restart