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 -yUna vez que todos los paquetes estén instalados, abre el archivo php.ini y ajusta algunas configuraciones:
# nano /etc/php/7.4/fpm/php.iniCambia las siguientes líneas:
memory_limit = 256M
cgi.fix_pathinfo = 0
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=composerUna 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/composerUna vez que hayas terminado, puedes pasar al siguiente paso.
Crea un Nuevo Proyecto Symfony
Después, necesitarás crear un proyecto de muestra para Symfony. Puedes hacerlo ejecutando el siguiente comando:
# cd /var/www/html
# composer create-project symfony/skeleton symfony-blogDespués, concede los permisos adecuados para el proyecto Symfony:
# chown -R www-data: /var/www/html/symfony-blogConfigura 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/symfonyAñ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 -tA 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-fpmAccede a Symfony
¡Symfony ya está instalado y configurado! Es hora de acceder a la interfaz web 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.