macos apache apache2 osx-yosemite apache2.4

macos - Cambiar el directorio localhost para Yosemite Apache 2.4



apache2 osx-yosemite (2)

Tengo instalado Mac OSX Yosemite limpio, pero no puedo configurar el Apache 2.4 como siempre lo he hecho en versiones anteriores de OSX.

Esto es lo que quiero hacer: establecer el directorio "localhost" en "/ Users / username / Public /". Pero, todo lo que probé no funcionará, siempre obtengo un "Forbiden, no puedo acceder a /" o obtengo el predeterminado "¡Funciona!" página...

¿Cómo simplemente puedo volver a enrutar mi servidor local?

Gracias

EDITAR (gracias a Krister Andersson por la respuesta)

Para Mac OSX 10.10 Yosemite

También publico los cambios que tuve que hacer para mantener las cosas en funcionamiento.

En "/ etc / apache2 / users /", creé un archivo llamado por mi nombre de usuario como este "myUsername.conf".

Puede obtener su nombre de usuario escribiendo "id" en la terminal. Debería encontrar su nombre de usuario al inicio en "uid = 501 (myUsername)".

En este nuevo archivo "myUsername.conf", solo copie después de esto:

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

No perdone cambiar el valor de mi nombre de myUsername .

Luego, en el archivo "/etc/apache2/httpd.conf", elimine el comentario de estas dos líneas:

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

Línea 236, cambie el directorio de "DocumentRoot" a lo que desee. Línea 250, configure "Opciones" a "Opciones" Índices Indices FollowSymLinks Multiviews ". Línea 258, establezca" Permitir No Reemplazar Ninguno "a" Permitir Anular Todo ". Línea 263, configure" Requerir todo negado "a" Requerir todo otorgado "

En la Terminal, reinicie apache escribiendo "sudo apachectl restart".

Funciona para mí en Mac OS X 10.10 Yosemite clean install.


Acabo de instalar Yosemite y me las arreglé para cambiar el DocumentRoot sin ningún problema. Primero modifiqué las siguientes líneas en /private/etc/apache2/httpd.conf :

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

a:

DocumentRoot "<CUSTOM_PATH>" <Directory "<CUSTOM_PATH>"> Options Indexes FollowSymLinks Multiviews AllowOverride All </Directory>

Lo anterior establecerá un DocumentRoot personalizado, habilitará la lista de directorios y permitirá que las configuraciones sean anuladas por los archivos .htaccess .

Luego reinicié Apache ejecutando sudo apachectl restart .

Otro enfoque sería configurar un host virtual. Primero asegúrese de que la siguiente línea no esté comentada en su archivo /private/etc/apache2/httpd.conf :

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

Luego puede agregar lo siguiente en el archivo 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>

Lo anterior configurará una raíz de documento para un nuevo host virtual llamado example.local y habilitará la lista de directorios y permitirá que las configuraciones sean reemplazadas por archivos .htaccess . Por supuesto, también necesitará reiniciar apache para que los cambios surtan efecto:

sudo apachectl restart


En El Capitan debes reiniciar Apache con el indicador "-k": sudo apachectl -k restart