Configurar DigitalOcean

Desde DigitalOcean creamos una nueva “gota” con: Ubuntu 16.04 y LEMP. Les recomiendo que el tamaño mínimo seleccionado, sea el de $10 dolares para tener 1GB de memoria RAM.

  • One-click apps: LEMP on 16.04
  • Choose a size: $10/mo
  • Choose a hostname: ejemplo.com

digitalocean-create-droplets
Al finalizar la configuración del servidor, recibirás un correo con la ip, usuario y contraseña para ingresar. Descargaremos PuTTY para realizar la conexión SSH:

sin-nombre
Se abrirá la terminal donde deberán ingresar el usuario y contraseña. La primera vez te pedirá que cambies la contraseña acual por una nueva.

4. Entorno de producción

$ sudo apt-get update
$ sudo apt-get upgrade

Instalamos las librerías que necesita Laravel 5.3 para su correcto funcionamiento:

$ sudo apt-get install php7.0-mbstring php7.0-gd php7.0-dom

Creamos un nuevo directorio en la ruta /var/www con el nombre de nuestro proyecto, y le damos los permisos necesarios:

$ sudo mkdir -p /var/www/ejemplo.com
$ sudo chown -R www-data:www-data /var/www/ejemplo.com
$ sudo chmod -R 775 /var/www/ejemplo.com

Instalamos Composer de manera global para descargar todas las librerías de nuestro proyecto en el servidor:

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer

Configuramos un Virtual Servers en Nginx para apuntar a nuestro proyecto:

$ nano /etc/nginx/sites-available/ejemplo.com

Agregar el siguiente contenido, con la ubicación donde está el proyecto web /ejemplo.com/current/public y la ip publica donde dice server_name (Ej: 138.197.47.191):

server {
	listen 80;
	listen [::]:80;

	root /var/www/ejemplo.com/current/public;
	index index.php index.html index.htm;

	server_name 138.197.47.191;

	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}

	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/run/php/php7.0-fpm.sock;
	}

}

Por último, habilitamos la nueva configuración y reiniciamos el servidor:

$ sudo ln -s /etc/nginx/sites-available/ejemplo.com /etc/nginx/sites-enabled/
$ sudo systemctl restart nginx

Ir al siguiente capítulo ->