Symfony es un marco de aplicaciones web PHP gratuito y de código abierto y un conjunto de componentes PHP reutilizables para desarrollar aplicaciones web. Está especialmente diseñado para aquellos que necesitan un kit de herramientas simple para crear aplicaciones web de alto rendimiento. Fue desarrollado por Fabien Potencier y patrocinado por SensioLabs.
En este tutorial, te mostramos cómo instalar Symfony Framework con Nginx en un servidor cloud Ubuntu 20.04.
Requisitos
- Un servidor VPS Cloud corriendo con Ubuntu 20.04.
- Una contraseña root establecida en tu servidor en la nube.
Instala el Servidor LEMP
Primero, necesitarás instalar Nginx, un servidor MariaDB, PHP y otros paquetes necesarios en tu servidor. Puedes instalar todos ellos con el siguiente comando:
# apt-get install nginx mariadb-server php php-fpm php-mbstring php-opcache php-xml php-zip php-curl php-mysql php-cli curl git -y
Una vez que todos los paquetes estén instalados, abre el archivo php.ini y ajusta algunas configuraciones:
# nano /etc/php/7.4/fpm/php.ini
Cambia las siguientes líneas:
memory_limit = 256M
cgi.fix_pathinfo = 0
safe_mode = Off
max_execution_time = 120
max_input_time = 300
date.timezone = "America/Chicago"
Guarda y cierra el archivo cuando hayas terminado.
Después, necesitarás instalar Composer en tu sistema. Composer es un gestor de dependencias para PHP. Puedes instalar Composer con el siguiente comando:
# curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
Una vez que Composer se haya instalado, deberías ver el siguiente resultado:
All settings correct for using Composer
Downloading...
Composer (version 2.7.0) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Una vez que hayas terminado, puedes pasar al siguiente paso.
Crea un Nuevo Proyecto Symfony
Después, necesitarás crear un proyecto de muestra para Symfomy. Puedes hacerlo ejecutando el siguiente comando:
# cd /var/www/html
# composer create-project symfony/skeleton symfony-blog
Después, concede los permisos adecuados para el proyecto Symfony:
# chown -R www-data: /var/www/html/symfony-blog
Configura Nginx para Symfony
A continuación, necesitarás crear un nuevo archivo de configuración de host virtual para Symfony. Puedes hacerlo con el siguiente comando:
# nano /etc/nginx/sites-available/symfony
Añade las siguientes líneas:
server {
listen 80;
listen [::]:80;
server_name symfony.ejemplo.com;
root /var/www/html/symfony-blog/public;
index index.php;
client_max_body_size 100m;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php {
try_files $uri /index.php =404;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
}
location ~ /\.(?:ht|git|svn) {
deny all;
}
}
Guarda y cierra el archivo cuando hayas terminado- Después, comprueba Nginx para cualquier error de sintaxis con el siguiente comando:
# nginx -t
A continuación, habilita el host virtual de Nginx y reinicia los servicios de Nginx y PHP-FPM con el siguiente comando:
# ln -s /etc/nginx/sites-available/symfony /etc/nginx/sites-enabled/
# apt purge apache2 -y && systemctl restart nginx
# systemctl restart php7.4-fpm
Accede a Symfony
¡Symfony ya está instalado y configurado! Es hora de acceder a la web interfaz de Symfony.
Abre tu navegador web y escribe la URL http://your-server-ip. Serás redirigido a la página por defecto de Symfony como se muestra más abajo:
¡Felicidades! Has instalado y configurado con éxito Symfony con Nginx y PHP-FPM en el servidor Ubuntu 20.04. También puedes instalar el servidor de bases de datos e integrarlo con Symfony. Symfony es una buena opción para aplicaciones empresariales debido a su flexibilidad y simplicidad.