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

6

Estoy ejecutando un servidor web en OSX Mavericks utilizando la ubicación de directorio predeterminada ( $HOME/Sites ). ¿Cómo puedo agregar sitios desde distintos directorios arbitrarios?

He encontrado instrucciones sobre cómo cambiar la carpeta raíz del servidor apache , pero no quiero anular la ubicación predeterminada (tengo cosas allí) sino agregar nuevas carpetas.

    
pregunta Sergio 05.03.2014 - 19:41

2 respuestas

3

Esto podría ser una exageración, o responder a una pregunta ligeramente diferente a la que hiciste, pero si tienes npm , puedes

npm install http-server

y luego solo

http-server

del directorio que quieres 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 inicia varias instancias, incrementará el puerto.

    
respondido por el dwightk 05.03.2014 - 20:04
2

La manera fácil (python):

$ cd some/dir
$ python -m SimpleHTTPServer

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

Utilizar hosts virtuales de apache. Aquí hay una guía enlace . Básicamente, le permite apuntar apache a múltiples directorios (se pueden ubicar en cualquier lugar).

Va algo como esto:

$ sudo nano /etc/apache2/httpd.conf

Descomenta 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, simplemente puede editarlo para que se ajuste a sus necesidades. Aquí hay un ejemplo.

<VirtualHost *:80>
  ServerAdmin [email protected]
  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 desee agregar otro sitio, copie esas líneas y adjúntelas al final del archivo (cambiando la configuración de su nuevo sitio)

Por último, edite su archivo / etc / hosts para que pueda 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

Como dijo que quería mantener el sitio predeterminado, agregue una entrada en el archivo vhosts que se parece a esto

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

Luego reinicia apache.

    
respondido por el cadejscroggins 06.03.2014 - 20:18

Lea otras preguntas en las etiquetas