1 votos

¿Cómo configurar Document Root como la carpeta "Sites" en Apache en macOS Sierra?

Tengo un index.html en mi carpeta /Users/igor/Sites/MySite (igor es mi nombre de usuario en Mac). Los enlaces (por ejemplo: [Página](apple.stackexchange.com/page)) van todos a localhost/page en lugar de http://localhost/~igor/MySite/page. http://localhost muestra Funciona!, en http://localhost/~igor/ puedo ver todos mis archivos y carpetas.

Mi archivo /private/etc/apache2/users/igor.conf:

AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted

Mi archivo /private/etc/apache2/extra/httpd-userdir.conf (sin comentarios):

UserDir Sites
Include /private/etc/apache2/users/*.conf

       RegisterUserSite customized-users

También descomenté líneas en httpd.conf como se describe aquí.

Algunas líneas de mi httpd.conf:

User _www
Group _www

    AllowOverride none
    Require all denied

    Options FollowSymLinks Multiviews
    MultiviewsMatch Any

    AllowOverride None

    Require all granted

Salida de httpd -V:

Versión del servidor: Apache/2.4.23 (Unix)
Servidor construido:   Ago  8 2016 16:31:34
Número mágico del módulo del servidor: 20120211:61
Servidor cargado:  APR 1.5.2, APR-UTIL 1.5.4
Compilado usando: APR 1.5.2, APR-UTIL 1.5.4
Arquitectura:   64-bit
MPM del servidor:     prefork
  con hilos:     no
    bifurcado:     sí (cantidad variable de procesos)
Servidor compilado con....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (direcciones IPv4-mapeadas habilitadas)
 -D APR_USE_FLOCK_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/usr"
 -D SUEXEC_BIN="/usr/bin/suexec"
 -D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"

¿Cómo corregir los enlaces para que correspondan a Sites/MySite/MyLink en lugar de localhost/MyLink? Gracias.

Actualización: httpd -t -D DUMP_RUN_CFG devuelve:

[Jue Oct 13 16:55:24.277291 2016] [so:warn] [pid 46810] AH01574: el módulo php5_module ya está cargado, ignorando
AH00112: Advertencia: DocumentRoot [/usr/docs/dummy-host.example.com] no existe
AH00112: Advertencia: DocumentRoot [/usr/docs/dummy-host2.example.com] no existe
Raíz del servidor: "/usr"
Raíz principal del documento: "/Library/WebServer/Documents"
ErrorLog principal: "/private/var/log/apache2/error_log"
Mutex por defecto: dir="/private/var/run/" mecanismo=por_defecto
Mutex mpm-accept: usando_por_defecto
PidFile: "/private/var/run/httpd.pid"
Definir: DUMP_RUN_CFG
Usuario: nombre="_www" id=70 no_utilizado
Grupo: nombre="_www" id=70 no_utilizado

0 votos

Solo un consejo... "los números de línea" son irrelevantes en httpd.conf debes hacer referencia a las directivas (como DocumentRoot). Las directivas pueden estar en cualquier lugar de httpd.conf y los archivos httpd.conf varían según la distribución, la versión de Apache y el usuario, por lo que los números de línea no ayudan.

0 votos

No estoy viendo DocumentRoot, pero veo que tienes un directorio en /Library/WebServer/Documents/. Ejecuta este comando: httpd -t -D DUMP_RUN_CFG y publica los resultados.

0 votos

@Allan Agregó los resultados en la pregunta.

2voto

Douglas Puntos 10417

Tienes que configurar la directiva DocumentRoot en tu archivo httpd.conf. Primero, usando tu editor favorito, busca la directiva DocumentRoot y añade lo siguiente:

 DocumentRoot "/Users/igor/Sites/MySite/MyLink"

Reinicia Apache para que lea la directiva actualizada de httpd.conf

0 votos

Lo hice, el enlace todavía va a localhost/MyLink y me da Error 403 Prohibido.

0voto

Maxim Puntos 428

No creo que haya ninguna configuración incorrecta, creo que tu HTML está mal. Cualquier cosa en tu carpeta de Sitios que contenga un enlace como [page](/page) SIEMPRE irá a localhost/page. [page](page), por otro lado, se resolverá a localhost/~igor/page como tú pretendes.

La barra inclinada que precede al objetivo en el primer ejemplo lo redirige a cualquier directorio que esté configurado como tu DocumentRoot (por ejemplo, la carpeta que corresponde a localhost).

0 votos

Lo suficientemente justo. No lo pensé al principio por alguna razón.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X