Curso Avanzado de PHP

Curso Avanzado de PHP

Héctor Benitez

Héctor Benitez

Configuración de virtual host

4/35
Recursos
  • El archivo host sirve para indicarle a nuestra computadora que cierta url está relacionada con cierta ip. Debes modificar este archivo si quieres que al escribir cierta url, el computador entienda una ip dada. En este caso usaremos la ip que tenemos en nuestro archivo “Homestead.yaml” y la url será cursophp.test.
  • El comando “vagrant ssh” va a meterte dentro de la máquina virtual que creaste. Esto es bueno porque todo lo que usemos en un equipo de trabajo será estandarizado, todo basado en Linux y con las mismas versiones.
  • Homestead ya cuenta con Composer instalado por default, así que podemos traer todas las dependencias de nuestro proyecto con “composer install” una vez que estemos en la carpeta de nuestro proyecto.
  • Creamos una conexión ssh para la base de datos y creamos la tabla jobs. Con esto ya funcionará el proyecto del curso pasado, virtualizado.

Aportes 47

Preguntas 16

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

El enlace al código que deben de descargar de github: https://github.com/hectorbenitez/curso-introduccion-php/tree/deploy

Para los que han tenido problemas de configuracion como yo prueben lo siguiente:

  1. Tienen que tener su llave ssh creada y especificar bien la ruta en Homestead.yaml
  2. Verificar la ruta de folder y site es SUPER IMPORTANTE en Homestead.yaml

Esta fue la configuracion que funciono para mi equipo:

---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox

authorize: /root/.ssh/id_rsa.pub

keys:
    - /root/.ssh/id_rsa

folders:
    - map: /opt/platzi/phpAvanzado
      to: /home/vagrant/code

sites:
    - map: homestead.test
      to: /home/vagrant/code/public
    - map: cursophp.test
      to: /home/vagrant/code/cursopractica/public

databases:
    - homestead
    - cursophp

Luego de que las rutas esten configuradas correctamente IMPORTANTE EJECUTAR EL COMANDO: vagrant reload --provision o vagrant up --provision

Cuando todo esto funcione deben crear la base de datos, yo utilice MySQL Workbenk con la configuracion que dejo Juan David Rodriguez:

Una vez tienes la conexion y base de datos creada. No olvides modificar el archivo .env que debe tener las credenciones asi usuario: homestead / password: secret

Mi archivo .env quedo asi

DB_DRIVER=mysql
DB_HOST=localhost
DB_NAME=cursophp
DB_USER=homestead
DB_PASS=secret

Espero les sea de ayuda pase 2 dias tratanto de configurar vagrant y homestead pero LO LOGRE!

SE HAN OMITIDOS TILDES POR TECLADO EN INGLES 😅.

Para las personas que utilizaron MySQL Workbench, la configuración queda de la siguiente manera:

Cuando añadas un nuevo dominio a tu MV, no olvides hacer una nueva provisión con este comando:
Primero detener la MV con este comando:

vagrant halt 

Luego hagan una nueva provisión con este comando:

vagrant reload --provision 

Esto es vital si quieren añadir nuevos dominios editando el archivo /etc/hosts

Hay algunas partes que no se explican en esta clase, como por ejemplo, para que funcione y te reconozca las bases de datos que apuntaste en el archivo Homestead.yaml, la línea que dice:

features:
    - mysql: false
    - mariadb: false

Debes cambiarla a:

features:
    - mysql: true
    - mariadb: false

Si no haces esto, no podrás conectar con las bases de datos: cursophp u otras que añadas aquí:

databases:
    - homestead
    - cursophp
    - introphp

Si no haces esto, solo te permitirá conectarte a la base de datos por defecto: homestead
Espero les ayude esto, yo tuve muchos problemas al levantar la máquina virtual en mi equipo Mac.

en windows esto es horrible

si cuando hacen composer install les sale un error de que tienen php 8 pero necesitas el 7 ejecuten dentro de la maquina virtual

php74

y se les cambiarà la version de php

Para aquellos que quieran utilizar phpmyadmin. Les dejo un link donde podrán seguir los pasos: https://github.com/grrnikos/pm

No input file specified. me aparece asi ¿saben por que? gracias

Windows es malasio para desarrollo 😬

Tuve muchos problemas pero ya logré solucionarlo todo, mi caso es el siguiente:

  • El curso de introducción de php lo maneje con una base de datos PostgreSql.

Debido a eso no podía seguir los mismos pasos que el profe, mi solución fue modificar los archivos de configuración dentro de la maquina virtual, especificamente “/etc/postgresql/11/main/pg_hba.conf” reemplazando en la última línea el 27.0.0.1/32 por all, quedando así host all all all md5. Esto lo que hace es que acepte las conexiones remotas las cuales las hice con pgadmin4 desde Ubuntu.

El comando “vagrant ssh” va a meterte dentro de la máquina virtual que creaste. Esto es bueno porque todo lo que usemos en un equipo de trabajo será estandarizado, todo basado en Linux y con las mismas versiones.

Algo similar se hacer cuando trabajas en tu propia máquina, el archivo hosts a veces es un dolor porque creas tus virtualhosts y te preguntas por qué no funciona y es porque es común olvidar configurar el archivos hosts xD

Hola!!! Se me estar presentando un problema al carga la pagina. No se que significa el error que me esta generando alguien me puede ayudar con estos???

Para los que quieran usar docker homestead Docker
Aquí pueden encontrar la imagen para docker y los pasos seguir para poder usar el ambiente de homestead.

Ayuda, me sale “No route” he clonado el repositorio y me fuí a la rama Deploy, puse composer install, y me sale “No route” a todas las direcciones que pongo estoy usando XAMPP ¿me echan una mano?

Holaa!! Cloné el archivo de git y ahora me sale “No Route”. No sé por qué no capta la ruta. Estoy usando XAMPP. Me ayudan por favor?

Al usar var_dump me sale lo siguiente

No route
Notice: Trying to get property ‘handler’ of non-object in C:\xampp\htdocs\curso-introduccion-php\public\index.php on line 132
NULL

en todas las rutas me sale así!

Es necesario hacer toda la virtualización para el curso?

Hola buenas noches! El codigo de github no coincide o quizá estoy escogiendo mal el branch. ¿Me indicariás el branch que debo agarrar por favor?

que programa parecido a sequel pro recomiendan utilizar para windows?

cómo detenemos la máquina vagrant cuando no queramos utilizarla más ? gran herramienta !

Alguien pudo solucionar el problema del No Route?

Para los que tengan ZoneAlarm : Desbloquear archivo Hosts
en configuracion avanzada del firewall.
Sino se desbloquea, no se puede acceder desde la url.

me quedó pendiente la base de datos. Cuando se configura db cursophp???

Alguien sabe como es el modelo de la base de datos del curso php, al intentar accder, sin utilizar homestead, tengo del anterior curso pero al parecer me falto configurar algo adicional en la base de datos.
`

<code> `CREATE TABLE `jobs` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` text NOT NULL,
  `description` text NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
)

Cuando instala con composer el proyecto que framework viene asociado?

Es increíble esto de la virtualizacion. Para windows prefiero usar Laragon, un servidor local con todo. Nodejs, composer, gui para base de datos como Heidi, etc. Y hasta Host virtuales. Ya que windows es muy molesto de repente con todo esto. Saludos.

Me da este error y no se realmente como resolverlo.
**No input file specified. **
he estado siguiendo todos los tal cual, espero que alguien pueda ayudarme

es necesario utilizar maquina virtual hacer este curso ya que no cuento con un equipo lo suficientemente bueno para hacerlo a penas y anda con 2 pestañas del navegador y el visual studio code

En verdad, no aportan mucha ayuda para los usuarios de windows… personalmente creo que es un fracaso este curo para los que usamos windows

😦

C:/HashiCorp/Vagrant/embedded/mingw32/lib/ruby/2.4.0/psych.rb:377:in `parse’: (<unknown>): did not find expected ‘-’ indicator while parsing a block collection at line 16 column 5 (Psych::SyntaxError)

Cómo solucionaron el problema del “No route”?

El archivo host sirve para indicarle a nuestra computadora que cierta url está relacionada con cierta ip. Debes modificar este archivo si quieres que al escribir cierta url, el computador entienda una ip dada. En este caso usaremos la ip que tenemos en nuestro archivo “Homestead.yaml” y la url será cursophp.test.

Homestead ya cuenta con Composer instalado por default, así que podemos traer todas las dependencias de nuestro proyecto con “composer install” una vez que estemos en la carpeta de nuestro proyecto.

Creamos una conexión ssh para la base de datos y creamos la tabla jobs. Con esto ya funcionará el proyecto del curso pasado, virtualizado.

No sé si hice algo mal, pero solo cambie los datos del .env y funcionó la base de datos. Creando la tabla jobs no funcionaba.

Me di cuenta que vagrant no está tomando el .htaccess
Por lo tanto no está tomando los estilos

El redireccionamiento a /public se hace debido a la configuracion del archivo .yaml, más no porque esté tomando el .htaccess

Excelente conocimientos básico que se aprenden de red local dentro del PC, Ejemplo archivo HOST del sistema Good!!!

en lo personal amo docker

les dejo este link para hacerlo con docker

Tambien tenemos otra opción con docker donde se usa laradock para poder crear nuestro ambiente de desarrollo Aquí le dejo el enlace Laradock

me aparece la carpeta VAGRANT dentro del ssh de vagrant VACIA no aparece la carpeta code, que puede ser?

imposible medieron las 12 de la noche tratando de instalar esto en windows, madrugo a hacer doble boot de mi maquina con linux, que horror hacer esto en windows que horrorr con razon todos los cursos de open source los hacen en sus MACS pero uno pobre que anda con su pc windows le toca aguantar horas en esto

Hice todo paso a paso, pero por más que lo he intentado, la aplicación no se conecta a la base de datos, me indica permiso denegado para el usuario:

Error: Access denied for user 'vagrant'@'localhost' (using password: YES)

Por favor profesor, alguna idea de cómo arreglarlo?.. estoy con un equipo Mac.

Para quienes quieran hacer el entorno de desarrollo con docker les dejo el contenido de mi Dockerfile y de mi docker-compose.yaml

Dockerfile:

docker-compose

![](
Pregunta, en teoria el servidor esta arriba pero no logro accesar a el, hay alguna manera de testear si el server esta arriba ? nunca habia usado vagrat

Saludos al momento de acceder a cursophp.test me sale el siguiente error, alguien sabe como solucionarlo, gracias