¿Configurar el sitio localhost en apache?

11

He estado buscando durante semanas cómo configurar el entorno localhost en ubuntu sin ninguna buena solución.

Esto es lo que quiero lograr:

Quiero tener Mi carpeta raíz como /home/'username'/Sites/'projectname.pl 'o / home /' username '/ Sites / pl /' projectname '/ public (o simular)

Al acceder a mi localhost no quiero tener que escribir localhost / 'projectname' / public (o cualquier otra cosa) Me gustaría poder acceder al proyecto simplemente escribiendo http: //'projectname'.pl

Sé que esto se puede lograr en el servidor apache en OSX, pero no he podido encontrar ninguna guía para lograr esto en mi máquina Ubuntu.

Realmente agradecería cualquier ayuda, y realmente espero que sea posible.

¡Saludos!

Estaño
fuente

Respuestas:

16

Puedes configurar tus vhosts en

/etc/apache2/sites-available

Para cada vhost que desee tener, haga un archivo conf en este directorio. En la configuración de vhost puede establecer la raíz de su documento. El nombre del archivo debe terminar con .conf

Entonces, por ejemplo: /etc/apache2/sites-available/projectname.conf:

<VirtualHost *:80>
  ServerName projectname.pl

  DocumentRoot "/home/Sites/projectname/public"

</VirtualHost>

Ahora habilite su sitio con:

sudo a2ensite projectname

Y reinicie apache:

sudo /etc/init.d/apache2 restart

Luego edite su archivo / etc / hosts.

Solo pega la línea:

127.0.0.1 projectname.pl

al final.

Ahora puedes acceder a tu sitio con http://projectname.pl

rechengehirn
fuente
Gracias por su respuesta. Utilicé algunos caracteres ilegales en mi pregunta que resultó en la caída de algunos textos. He actualizado mi pregunta ahora. Vuelva a consultarlo y vea si hay algo más que deba hacer para que funcione. ¡Saludos!
Estaño
Bueno, básicamente se mantiene igual. He editado la respuesta para mach sus deseos :)
rechengehirn
Los dos puntos clave aquí son nombrar la configuración de apache con una extensión de configuración y reiniciar apache después.
JohnMerlino
¡¡Trabajó para mi!!
arqam
1

Solo para agregar a las otras respuestas aquí, la forma en que configuré tal comportamiento es con enlaces simbólicos ... Parece funcionar bien. Es muy fácil de hacer y no requiere ningún archivo de configuración.

sudo ln -s ~/path/to/yoursite/ /var/www/html/yoursite

La última parte de lo anterior puede ser diferente para usted. Lo anterior es lo que uso en Linux Mint 17. El directorio '/ var / www / html /' es la carpeta predeterminada "sitio" de apache.

Entonces, sí, para cualquiera que esté buscando un método limpio y fácil de asignar un sitio sin colocar el directorio de su sitio en la carpeta predeterminada de Apache, ya está.

Nota: No estoy seguro de si lo anterior es apropiado para entornos de producción, pero para el desarrollo local, parece estar bien. La razón por la que no estoy seguro es porque el enlace simbólico lleva los permisos de la carpeta en el directorio de inicio, que (probablemente) es "propiedad" del usuario. Si lo necesita, obviamente puede cambiarlo a la 'raíz' más segura como el directorio apache, pero dejo el mío solo porque lo estoy usando en un entorno de desarrollo.

derekmx271
fuente