Laravel: Nuestros primeros pasos – Instalación

No ahondaré mucho en cuestiones teóricas, Laravel es un Framework de desarrollo para PHP; y como la mayoría trata de ser muy organizado y liberarnos de la recodificación, este organiza todo al patrón MVC (Modelo-vista-controlador).

INSTALACIÓN DEL SERVIDOR Y DE COMPOSER

En Windows

Descargamos Xampp Server, su instalación no lleva ningún paso esotérico, luego instalamos Composer, un manejador de dependencias y librerías para PHP. Al instalarlo la cónsola de Windows automáticamente toma los comandos de Composer.

En Linux (Debian/Ubuntu)

Instalamos Lamp como se indica [aquí], luego fuimos a la cónsola y usamos los siguientes comandos.

Se descarga el instalador

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Comprobamos que el archivo se descargó correctamente

php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Ejecutamos la instalación en modo super usuario, agregando una opción para que el archivo generado de la instalación este disponible globalmente

php composer-setup.php --install-dir=/usr/local/bin/ --filename=composer

Borramos el archivo de instalación

php -r "unlink('composer-setup.php');"

Listo, hasta este punto, ya tenemos el comando composer disponible tanto para Linux, como para Windows. Lo que sigue aplica para cualquier sistema operativo.

Entonces, para crear nuestro primer proyecto… Nos vamos a la ruta donde queremos crear nuestro proyecto y colocamos el comando

composer create-project laravel/laravel NombreDelProyecto

Alternativamente

laravel new NombreDelProyecto

Listo, ya tenemos un proyecto Laravel listo para modificar y usar. Para correrlo con el siguiente comendo

php artisan serve

En el navegador deberias escribir 127.0.0.1:8000

O lo colocamos en nuestro servidor, y apuntamos a la carpeta public. y accedemos a el http://localhost/NombreDelProyecto/public o si usamos el servidor exclusivamente para el proyecto, pudieramos colocar solo el contenido de la carpeta del proyecto, quedando http://localhost/public

Falta de capacidad como indicador de éxito de un sitio web

Una pequeña startup* que llamaremos RedBuho quiere publicar en Internet un sitio web con su idea empresarial, se trata de una red social general para compartir y guardar cualquier tipo de material multimedia.

El dueño de RedBuho (dueño, programador, analista, diseñador y el que hace todo porque es el único), ideó su portal en PHP* y MySQL* ya que, le resulta muy sencillo encontrar servidores gratuitos o muy económicos para subir su desarrollo.

El dueño de RedBuho, que llamaremos Mr. Bigowl, quiso probar un poco su conocimiento de Lean*, así que publicó su red social con las mínimas características necesarias para que fuera operativa.

Luego de dos meses, un famoso y respetado profesor de informática y seguridad en la web, con muchos seguidores en Youtube por lo didáctico y actualizado de sus videos, hizo una reseña de esta nueva red social, mencionó que a pesar de tener muy pocos usuarios, menos de 100, ofrece unas características innovadoras y muy interesantes. Inmediatamente, en una hora, RedBuho pasó de 85 usuarios a 1200, a la siguiente hora a 3500 y a la siguiente hora el portal dejó de funcionar por el exceso de visitas y registros.

En los siguientes días RedBuho tuvo serios problemas de disponibilidad, se caía constantemente, tenía lentitud, etc…

Hasta este punto de la historia probablemente alguien pensaría que Mr. Bigowl se equivocó al decidir montar su red social en un server gratuito, que no tuvo previsto soportar cierta cantidad de usuarios, que planificó mal, en fin, que todos estos eventos pueden verse como un fracaso.

Nada más alejado de la realidad…

Mr. Bigowl tuvo el problema más deseado por una empresa emergente, la falta de capacidad para un exceso de demanda. No ha fracasado, al contrario, tuvo demasiado éxito.

Ahora vienen nuevas decisiones…

  • Limitar la cantidad de usuarios mientras comienza a ser rentable el sitio.
  • Arrendamiento de hosting con más capacidades.
  • Buscar apoyo con publicidad u otro tipo de patrocinio

Lo realmente agradable es que alguna decisión tendrá que tomar. Si el sitio no hubiera tenido éxito, el pequeño cascaron de un hosting gratuito le hubiera sido suficiente para tener su proyecto.

Las conclusiones a las que quiero llegar son las siguientes:

  1. No llenes tu lista de cosas por hacer antes de lanzar tu producto. Sal al mercando con lo mínimo que necesites (eso se llama Producto Mínimo Viable).
  2. Si lanzaste tu producto y tienes problemas de capacidad, celébralo, porque ahora tendrás la tarea de pensar una estrategia para sopesar esa carencia, eso es un reto que deriva del éxito.
  3. No le temas al fracaso. El fracaso es información para mejorar.
  4. No le temas al éxito.

Glosario:

Startup: Una compañía startup, compañía de arranque, compañía incipiente o, simplemente, compañía emergente es un término utilizado actualmente en el mundo empresarial el cual busca arrancar, emprender o montar un nuevo negocio y hace referencia a ideas de negocios que están empezando o están en construcción, es decir son empresas emergentes apoyadas en la tecnología. [wikipedia]

PHP: Lenguaje de programación, muy usado.

MySQL: Base de Datos.

Lean Startup: Filosofía para abordar el lanzamiento de negocios y productos que se basa en aprendizaje validado, experimentación científica e Iteración en los lanzamientos del producto para acortar los ciclos de desarrollo, medir el progreso y ganar valiosa retroalimentación de los clientes. De esta manera las compañías, especialmente startups pueden diseñar sus productos o servicios para cubrir la demanda de su base de clientes, sin necesitar grandes cantidades de financiación inicial o grandes gastos para lanzar un producto.

Hosting: Servidor o servidores que sirven que ofrecen los recursos necesarios para alojar un sitio web y hacerlos de acceso público en Internet.

Instalar servidor LAMP (Ubuntu 14.04) #Server6001

A continuación el comando para instalar y comenzar a configurar un servidor LAMP: Linux (Ubuntu 14.04), Apache2, MySQL y PHP.

sudo apt-get install lamp-server^

El símbolo ^ al final del comando no es un error.