proyectos proyecto primer pagina instalar existentes entrar eliminar cómo create crear con composer como php laravel vagrant homestead

php - primer - cómo instalar proyectos existentes de laravel



Usar vagabundo y propiedad para varios sitios y por instalación del proyecto (4)

Al usar Homestead en su camino, crea una máquina virtual para cada proyecto. Por lo tanto, VirtualBox no puede reenviar la solicitud HTTP desde su equipo host para todas las máquinas virtuales. Solo puede ejecutar una máquina (por lo tanto, un proyecto) cada vez.

Para ejecutar múltiples proyectos con Homestead, puede hacer lo siguiente:

  • Clone Homestead git clone https://github.com/laravel/homestead.git Homestead
  • Dentro de la carpeta Homestead , ejecuta bash init.sh

Edite la propiedad de folders de ~/.homestead/Homestead.yaml para compartir su código de ambos proyectos con VM:

folders: - map: ~/pj1 to: /path/to/project1 - map: ~/pj2 to: /path/to/project2

Edite la propiedad de sites de ~/.homestead/Homestead.yaml para hacer que Nginx habilite el dominio de ambos sitios:

sites: - map: project1.local to: /home/vagrant/pj1/public - map: project2.local to: /home/vagrant/pj2/public

Edite su archivo de hosts para reenviar estos dominios para localhost

127.0.0.1 project1.local 127.0.0.1 project2.local

  • Ejecuta vagrant up en la carpeta en la que clonaste el código de Homestead (que contiene el archivo init.sh ).

Ahora puede ejecutar tantos proyectos como desee con solo una máquina virtual Homestead.

He estado usando XAMPP durante bastante tiempo, y después de descubrir a Laravel y descubrir que me gusta bastante, también quería utilizar Homestead. El problema que tengo es que parece que no puedo ejecutar múltiples sitios.

He intentado varias cosas, pero el principal problema actualmente es que un proyecto funciona, mientras que todos los demás obtienen un tiempo de espera de conexión al intentar acceder a su página web.

Estos son los pasos que he dado para usar Homestead

  1. Instalando VirtualBox
  2. Instalando Vagrant
  3. Agregar homestead con vagrant box add laravel/homestead
  4. Clonar el git clone https://github.com/laravel/homestead.git Homestead del repositorio git clone https://github.com/laravel/homestead.git Homestead
  5. Cree el archivo Homestead.yaml en el directorio Homestead con el script bash init.sh
  6. Crear un nuevo proyecto laravel new projectA
  7. Requerir que el composer require laravel/homestead granja composer require laravel/homestead
  8. Generar archivo Vagrant php vendor/bin/homestead make
  9. Modifique Homestead.yaml para tener una IP que finalice con 10
  10. Crear otro proyecto laravel new projectB
  11. Requerir que el composer require laravel/homestead granja composer require laravel/homestead
  12. Generar archivo Vagrant php vendor/bin/homestead make
  13. Modifique Homestead.yaml para tener una IP que finalice con 11
  14. Agregando esos dos sitios al archivo hosts sudo nano /etc/hosts => xxx.xx.xx.10 projecta.app & xxx.xx.xx.11 projectb.app
  15. Iniciando vagabundo desde uno de los dos directorios vagrant up

Ahora, estoy teniendo el problema, que solo uno de los proyectos es alcanzable. Siempre es el que llamé vagrant up . Entonces, si llamo a vagrant up desde el Proyecto AI, puedo acceder a http://projecta.app y http://projectb.app . Lo mismo al revés, por desgracia.

Este es mi vagrant global-status

id name provider state directory ------------------------------------------------------------------------ fc6fadb default virtualbox running /Users/mknb/work/projectA

Pensé que simplemente haría otro vagrant up desde el directorio de projectB , pero eso no funciona, por supuesto.

No quiero utilizar Homestead global, porque Laravel dijo que es posible tener una instalación per project , entonces, ¿cómo lo logro? necesitas más información?

No modifiqué el Homestead.yaml excepción del IP y el nombre de dominio homestead.app => projecta.app

Parece que una instalación global es bastante fácil con Homestead, ya que simplemente tendría que agregar más sitios a Homestead.yaml, pero como dije, me gustaría tener una instalación por proyecto. ¿Alguien puede ayudar?

Iniciar vagabundo desde el directorio de Homestead no funciona, por supuesto.


Como dice aquí , puedes instalar Homestead directamente en tu proyecto, requiere que usando este composer require laravel/homestead --dev en el directorio raíz de cada proyecto que tengas. Ahora, al comando make , puede generar Vagrantfile y Homestead.yaml en el directorio raíz de su proyecto.

  • Mac / Linux:

    php vendor/bin/homestead make

  • Windows:

    vendor/bin/homestead make

En cada raíz de proyecto, tendrá un archivo Homestead.yaml para editar:

  • Proyecto-A

    ip: "192.168.10.10" ... folders: - map: "~/Code/projecta" to: "/home/vagrant/projecta" sites: - map: project.a to: "/home/vagrant/projecta/public"

  • Proyecto-B

    ip: "192.168.10.10" ... folders: - map: "~/Code/projectb" to: "/home/vagrant/projectb" sites: - map: project.b to: "/home/vagrant/projectb/public"

Agregue esto a /etc/hosts :

192.168.10.10 project.a 192.168.10.10 project.b

Luego, debe enviar un cd a la raíz y al vagrant up cada proyecto. Ahora si vagrant ssh de cada proyecto, tendrás ese proyecto en tu entorno VM.


Hay algunos pasos importantes que faltan en la respuesta aceptada, aunque me ayudó muchísimo. He agregado esos pasos necesarios. Gracias @Hieu Le por respuesta.

Supongo que ha instalado correctamente su primer sitio según las instrucciones de los documentos de Laravel . Ahora tiene otro sitio laravel que desea cambiar en vagabundo. Sigue los siguientes pasos.

  1. cd en el directorio del nuevo proyecto de Laravel que desea agregar. Supongo que tiene todos los archivos laravel y funciona con MAMP o cualquier solución que no sea vagabunda.
  2. ejecutar vagrant init laravel/homestead . Este comando agregará el VagrantFile necesario en este nuevo proyecto.
  3. abra el directorio de su primer archivo de proyecto original y abra su archivo Homestead.yaml en el editor.
  4. Ahora siga los pasos definidos por @Hieu Le en la respuesta aceptada para modificar el archivo .yaml

    folders: - map: ~/pj1 to: /path/to/project1 - map: ~/pj2 to: /path/to/project2 sites: - map: project1.local to: /home/vagrant/pj1/public - map: project2.local to: /home/vagrant/pj2/public

    Edite su archivo de hosts para reenviar estos dominios para localhost

    127.0.0.1 project1.local 127.0.0.1 project2.local

  5. En el cd terminal en su primer directorio original del proyecto original.
  6. Ejecutar comando vagrant reload --provision . Esto recargará la máquina vagabunda para que los cambios que hicimos en el archivo .yaml entren en vigencia. Su base de datos del proyecto original permanecerá intacta.
  7. Ejecutar vagrant ssh
  8. Ejecute ls y asegúrese de poder ver la carpeta de su nuevo proyecto. Si está allí, ha configurado su nuevo sitio correctamente.
  9. Pulse la url del nuevo sitio con la adición de http:// y está HECHO.

hay un comando de atajo para proxy de los sitios que desea agregar ...

sin tener que arruinar su archivo Homestead.yaml y aprovisionar su caja de vagabundo de nuevo ...

Esto se aplica tanto a la INSTALACIÓN GLOBAL COMO POR PROYECTO

Solo asegúrate de agregar otro proyecto ...

Lo agrega el (proyecto completo) en su carpeta compartida declarada en su Homestead.yaml

Suponiendo que su carpeta compartida es C:/Users/MYACCOUNT/Codes

Agregue otro proyecto en esa carpeta laravel new homestead.app

Entonces

Asumiendo que usted es ssh en su Homestead Escriba a.) Si usa nginx

serve homestead.app /home/Vagrant/Code/homestead/public

b.) si usa hhvm serve-hhvm homestead.app /home/Vagrant/Code/homestead/public Simplemente cambie su nombre de dominio y ruta a la carpeta pública de su proyecto

Luego edite su archivo etc / hosts como administrador

Cualquier dirección IP que defina en su Homestead.yaml

por lo general, el valor predeterminado es 192.168.10.10

Úselo en lugar de 127.0.0.1

¿Por qué? porque si usas 127.0.0.1 tu URL se verá como homestead.app:8000

Si usa la dirección IP en Homestead.yaml

192.168.10.10 homestead.app

puedes acceder a tu sitio sin el puerto 8000 y solo usar homestead.app

Esta solución es mucho mejor que la provisión ... Y es más rápido ...

Esto es lo que hago