7 votos

¿Cómo puedo establecer un servidor web en un directorio específico en OSX Mavericks?

Estoy ejecutando un servidor web en OSX Mavericks utilizando la ubicación del directorio por defecto ( $HOME/Sites ). ¿Cómo puedo añadir sitios de distintos directorios arbitrarios?

He encontrado instrucciones sobre cómo cambiar la carpeta root del servidor apache Pero no quiero anular la ubicación por defecto (tengo cosas allí) sino añadir nuevas carpetas.

5voto

Paul Puntos 5080

Puede que esto sea exagerado, o que responda a una pregunta ligeramente diferente a la que has planteado, pero si tienes npm , puedes

npm install http-server

y luego sólo

http-server

del directorio que desea alojar. http-server responderá con la ruta alojada y el puerto en el que está alojado, por ejemplo

Starting up http-server, serving ./foo on port: 8080 Hit CTRL-C to stop the server

Si se lanzan varias instancias se incrementará el puerto.

5voto

wulong Puntos 1360

La manera fácil (Python):

$ cd some/dir
$ python -m SimpleHTTPServer

La manera un poco menos fácil (apache):

Utiliza los hosts virtuales de apache. Aquí hay una guía http://coolestguidesontheplanet.com/set-virtual-hosts-apache-mac-osx-10-9-mavericks-osx-10-8-mountain-lion/ . Básicamente, le permite apuntar a apache a múltiples directorios (pueden estar ubicados en cualquier lugar).

Es algo así:

$ sudo nano /etc/apache2/httpd.conf

Descomente esta línea

Include /private/etc/apache2/extra/httpd-vhosts.conf

Editar los vhosts

$ sudo nano /etc/apache2/extra/httpd-vhosts.conf

Debería haber un ejemplo en el archivo, puedes editarlo para que se ajuste a tus necesidades. Aquí hay un ejemplo.

<VirtualHost *:80>
  ServerAdmin me@example.com
  DocumentRoot "/Users/USER_NAME/Sites/test.com"
  ServerName test.com
  ErrorLog "/Users/USER_NAME/Sites/test.com/error.log"
  CustomLog "/Users/USER_NAME/Sites/test.com/access.log" common
</VirtualHost>

Cuando quiera añadir otro sitio, copie esas líneas y añádalas al final del archivo (cambiando la configuración para su nuevo sitio)

Por último, edite su archivo /etc/hosts para poder acceder a su nuevo sitio.

$ sudo emacs /etc/hosts

Añade esta línea

127.0.0.1 local.test.com

Reinicie apache para que los cambios surtan efecto.

$ sudo apachectl restart

Ya que dijo que quería mantener el sitio por defecto, añada una entrada en el archivo vhosts que se parezca a esto

<VirtualHost *:80>
  ServerName localhost
  DocumentRoot /Users/USER_NAME/Sites
</VirtualHost>

Luego reinicie apache.

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