Instalar un entorno de desarrollo PHP en Digital Ocean

Recopilación de tutoriales para crear un entorno de desarrollo PHP en un VPS de Digital Ocean en sólo 10 pasos

Por sólo 5 dólares (más 1$ si añades backups), tienes un VPS de 512 mb de ram en Digital Ocean. Esta capacidad es suficiente para un sitio web o blog pequeño, de menos de 1500 usuarios por día, contando con que no se incluyan demasiados paneles en el servidor.

Este artículo es una recopilación de tutoriales en 10 pasos para instalar un entorno de desarrollo LAMP (Linux, Apache, MySQL y PHP), Ubuntu 15.10, phpMyAdmin, Git y Composer en Digital Ocean desde el principio.

, y se añadirán 10 dólares a tu cuenta.

10 pasos para crear el entorno de desarrollo:

  1. Crear un Droplet. Seleccionamos el plan que queramos (5$), la región en la que queremos en servidor, la distribución (Ubuntu 15.10), añadimos si queremos backups (20% más del precio del plan) y añadimos una SSH Key. Este último paso es recomendable para no tener que utilizar contraseña, aquí se explica cómo obtener una llave. Si no quieres crearla al principio, puedes crearla después. En un minuto ya tienes el servidor disponible.
  2. Configuración inicial de Ubuntu. Iniciar sesión con el root, crear un nuevo usuario, darle permisos, añadir una SSH key para ese usuario y configurar el SSH Daemon. Todos estos pasos son por seguridad.
  3. Pasos adicionales recomendados para Ubuntu. Estos pasos no son obligatorios, pero soy muy recomendables: configurar un firewall básico, configurar el Timezone y el protocolo de sincronización NTP, crear un archivo swap.
  4. Hacer una captura de la configuración. Esto te permite poder reutilizar la configuración básica que has utilizado hasta ahora para no tener que repetirlo todo en otro droplet. Hay que apagar el servidor, tomar la captura (unos minutos) y para encenderlo simplemente vuelves a acceder. Puedes hacer este paso ahora o más adelante, con la configuración más avanzada.
  5. Instalar LAMP. Instalar Apache, instalar MySQL, instalar PHP, instalar alguna extensión adicional como intl, testear que PHP funciona.
  6. Instalar phpMyAdmin. Instalar phpMyAdmin y añadir una configuración adicional de seguridad.
  7. Configurar un Vitual Host. Este paso es opcional. Si vas a añadir más sitios en el mismo droplet, haz este paso. Hay que tener en cuenta que los sitios tendrán la misma ip (lo digo por temas de SEO y certificados SSL), y de momento no permiten añadir más ip's por droplet (del tipo IPv4).
  8. Instalar Git. Instalar el control de versiones Git y configurar los datos básicos de administrador (nombre y email).
  9. Instalar Composer. Instalar la herramienta de manejo de dependencias Composer. Te pedirá que instales curl primero.
  10. Establecer un dominio. Añadir los DNS en el dominio que desees utilizar y añadirlo en Digital Ocean.

Estos 10 pasos son los que he creído básicos para iniciar un entorno de desarrollo adecuado para PHP, aunque siempre depende de las necesidades de cada uno. También hay un tutorial para crear un entorno de desarrollo LEMP, con Nginx, pero para sacar provecho de la velocidad de Nginx hay que configurarlo adecuadamente. Aquí hay una comparación muy interesante entre Apache y Nginx, e incluso se puede hacer una instalación de ambos y combinarlos para utilizar Apache como procesador de backend y Nginx como servidor estático de frontend.

Puedes instalar tu propio servidor de email en Ubuntu, pero es probable que no quieras hacerlo, puede resultar complejo ya que hay que configurar muchas cosas y después hay que mantenerlo. En el último artículo que he referenciado se presentan varias alternativas para enviar y recibir emails desde tu propio dominio, pero casi todas tienen un pequeño coste. Zoho, en cambio, ofrece un servicio de email gratuito hasta para 10 usuarios en un mismo dominio (aunque sólo se puede un dominio en su versión gratuita). Si lo único que quieres hacer es enviar y recibir emails desde la aplicación, puedes usar un MTA como Postfix y emplear un una interfaz para leerlos mejor.

Por último, si quieres subir y bajar archivos puedes usar el protocolo seguro SFTP por consola, aquí hay un manual al respecto, o utilizar Filezilla.