Instalación symfony 4 en ubuntu 16.04

Objetivo

Desplegar en un servidor corriendo Ubuntu 16.04* una aplicación de Symfony 4.

Requisitos

  • git
  • PHP => 7.1.3
  • composer
  • nginx

Instalación

PHP
La versión de PHP mantenida en Ubuntu 16.04 es 7.0 y no está previsto que se actualice. Estos son los pasos para instalarla: Como siempre, antes que nada debemos actualizar Ubuntu: $ sudo apt-get update && sudo apt-get upgrade Lo siguiente es añadir un repositorio de terceros para instalar la última versión de PHP. Usaremos el de Ondřej Surý. Primero vamos a comprobar que tenemos el siguiente paquete instalado para poder añadir repositorios: $ sudo apt-get install software-properties-common A continuación añadimos el repositorio de Ondřej: $ sudo add-apt-repository ppa:ondrej/php Le damos al intro para continuar y actualizamos la lista de paquetes: $ sudo apt-get update Ahora ya podemos instalar la última versión de PHP: $ sudo apt-get install php7.2 Además este comando instalará los siguientes módulos:
  • libapache2-mod-php7.2
  • libargon2-0
  • libsodium23
  • libssl1.1
  • php7.2-cli
  • php7.2-common
  • php7.2-json
  • php7.2-opcache
  • php7.2-readline
Nos faltaría los módulos php-sqlite3, php-xml, php7.2-fpm y php-intl: $ sudo apt-get install php-sqlite3 php7.2-fpm php-xml php-intl Y ya está. Podemos comprobar la instalación con este comando: $ php -v
Git, composer y nginx
Git lo utilizaremos para descargar el código y composer para la gestión de paquetes de terceros. $ sudo apt-get install curl php-cli php-mbstring git unzip Composer dispone de un instalador en PHP. Asegúrate que estás en tu home y descarga el instalador usando curl: $ cd ~ $ curl -sS https://getcomposer.org/installer -o composer-setup.php A continuación verifica el hash SHA-384 del instalador con el siguiente script: $ php -r "if (hash_file('SHA384', 'composer-setup.php') === '<span class="text-danger">93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8</span>') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" Asegúrate de cambiar el hash (resaltado en rojo) con el último publicado. Tras correr el script deberías mostrarse el mensaje siguiente: Installer verified Para instalar Composer globalmente: $ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer Se descargará e instalará Composer como un comando del sistema bajo /usr/local/bin. Confirma que funciona con: $ composer Por último instalamos nginx:
Si tenemos instalado apache, antes de instalar nginx hay que parar el servidor: $ sudo service apache2 stop
$ sudo apt-get install nginx

Despliegue

Vamos a utilizar el directorio ~/app para desplegar la aplicación y el dominio symfony.technoage.net: $ cd ~$ mkdir app$ cd app Instalamos la demo de Symfony 4 con este comando: $ composer create-project symfony/symfony-demo Ahora ya podríamos arrancar la aplicación usando el servidor nativo de php y acceder a ella por el puerto 8000: $ cd symfony-demo/$ php bin/console server:run symfony.technoage.com:8000 Y ya podríamos acceder a ella en http://symfony.technoage.net:8000

Configuración de un servidor web

Si aspiramos a un despliegue más robusto y con más funcionalidades, lo suyo es utilizar un servidor web. En este caso vamos a ver cómo se haría con nginx. Creamos el siguiente fichero de configuración en /etc/nginx/conf.d/symfony.conf Y reiniciamos el servidor de nginx: $ sudo systemctl restart nginx Ahora ya deberíamos poder acceder a la aplicación en http://symfony.techonage.net Más información en: Instalar php7.2 en ubuntu Instalar Composer Configurar servidor web en Symfony 4 (*)Esta solución valdría para versiones superiores también.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *