Come posso impostare un server web in una directory specifica in OSX Mavericks?

6

Sto eseguendo un server Web in OSX Mavericks utilizzando la posizione della directory predefinita ( $HOME/Sites ). Come posso aggiungere siti da directory arbitrarie distinte?

Ho trovato istruzioni su come cambiare la cartella radice del server apache , ma non voglio sovrascrivere il percorso predefinito (ho cose lì) ma per aggiungere nuove cartelle.

    
posta Sergio 05.03.2014 - 19:41
fonte

2 risposte

3

Potrebbe essere eccessivo, o rispondere a una domanda leggermente diversa da quella che hai chiesto, ma se disponi di npm , puoi

npm install http-server

e poi solo

http-server

dalla directory che si desidera ospitare. http-server risponderà con il percorso ospitato e la porta su cui è ospitato, ad esempio:

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

Se si lanciano istanze multiple, la porta verrà incrementata.

    
risposta data 05.03.2014 - 20:04
fonte
2

Il modo semplice (python):

$ cd some/dir
$ python -m SimpleHTTPServer

Il modo un po 'meno facile (apache):

Usa gli host virtuali di Apache. Ecco una guida link . Fondamentalmente, ti permette di indirizzare apache a più directory (possono essere localizzate ovunque).

Va qualcosa del genere:

$ sudo nano /etc/apache2/httpd.conf

Decommenta questa riga

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

Modifica i vhost

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

Ci dovrebbe essere un esempio nel file, puoi semplicemente modificarlo in base alle tue esigenze. Ecco un esempio.

<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>

Quando vuoi aggiungere un altro sito, copia quelle linee e aggiungili alla fine del file (cambiando le impostazioni per il tuo nuovo sito)

Infine, modifica il file / etc / hosts in modo da poter accedere al tuo nuovo sito.

$ sudo emacs /etc/hosts

Aggiungi questa linea

127.0.0.1 local.test.com

Riavvia apache affinché le modifiche abbiano effetto.

$ sudo apachectl restart

Dato che hai detto che volevi mantenere il sito predefinito, aggiungi una voce nel file vhosts che assomiglia a questo

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

Quindi riavvia apache.

    
risposta data 06.03.2014 - 20:18
fonte

Leggi altre domande sui tag