Symfony es un marco PHP popular, de código abierto y gratuito con arquitectura MVC que se utiliza para crear servicios web, API, microservicios y aplicaciones web complejas de alto rendimiento. Symfony es compatible con otros sistemas de bases de datos y te brinda control total sobre la configuración. Viene con un conjunto de componentes reutilizables y una interfaz web fácil de usar, y su flexibilidad y alto rendimiento lo convierten en la mejor opción para desarrollar una aplicación empresarial.
En este tutorial, aprenderemos cómo instalar el marco Symfony en el servidor CentOS 8.
Requisitos
- Un nuevo CentOS 8 VPS en la plataforma en la nube de Atlantic.net.
- Un nombre de dominio válido dirigido a su dirección IP. En este tutorial, usaremos symfony.example.com.
- Una contraseña raíz configurada en su servidor.
Nota :Puede consultar la Guía de DNS de Atlantic para administrar los registros de DNS.
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo CentOS 8 como sistema operativo con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor CentOS 8, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
dnf update -y
Paso 2:instalar el servidor LAMP
Primero, deberá instalar Apache, MariaDB, PHP y otras extensiones de PHP requeridas en su servidor. Puede instalarlos todos con el siguiente comando:
dnf install httpd mariadb-server php php-cli php-common php-spl php-hash php-ctype php-json php-mbstring php-zip php-gd php-curl php-mysqli php-xml php-gmp php-intl php-xmlrpc php-bcmath php-soap php-ldap unzip -y
Una vez que todos los paquetes estén instalados, inicie el servicio Apache y MariaDB y habilítelos para que se inicien después de reiniciar el sistema con el siguiente comando:
systemctl start httpd systemctl enable httpd systemctl start mariadb systemctl enable mariadb
Una vez que haya terminado, puede continuar con el siguiente paso.
Paso 3:proteger la base de datos MariaDB
mysql_secure_installation
Responda todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none): Just Press Enter Set root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Una vez que haya terminado, puede continuar con el siguiente paso.
Paso 4:Instala Symfony
Antes de instalar Symfony, deberás instalar Composer en tu sistema. Composer es un administrador de dependencias para PHP que se puede usar para instalar dependencias de PHP mientras se construye el proyecto.
Puede instalar Composer con el siguiente comando:
wget https://getcomposer.org/installer -O composer-installer.php php composer-installer.php --filename=composer --install-dir=/usr/local/bin
Una vez instalado, debería obtener el siguiente resultado:
Todas las configuraciones son correctas para usar Composer
Downloading... Composer (version 1.9.3) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
A continuación, cambia el directorio a /var/www/html y crea un nuevo proyecto Symfony con el siguiente comando:
cd /var/www/html composer create-project symfony/website-skeleton symfony5
A continuación, otorgue los permisos adecuados al directorio symfony5 usando el siguiente comando:
chown -R apache:apache /var/www/html/symfony5 chmod -R 755 /var/www/html/symfony5
Paso 5:inicia Symfony en modo de desarrollo
Ahora puedes iniciar Symfony en modo de desarrollo usando el siguiente comando:
cd /var/www/html/symfony5 php -S 0.0.0.0:8000 -t public
Debería ver el siguiente resultado:
PHP 7.2.11 Development Server started at Thu Feb 6 08:56:29 2020 Listening on http://0.0.0.0:8000 Document root is /var/www/html/symfony5/public Press Ctrl-C to quit.
El servidor web Symfony ahora está iniciado y escuchando en el puerto 8000. Puedes acceder a él usando la URL http://your-server-ip:8000. Debería ver la siguiente pantalla:
Puedes detener el servidor web Symfony presionando CTRL+C en la interfaz de su terminal.
Paso 6:configurar Apache para Symfony
A continuación, deberá crear un nuevo archivo de configuración de host virtual de Apache para Symfony. Puedes crearlo con el siguiente comando:
nano /etc/httpd/conf.d/symfony.conf
Agregue las siguientes líneas:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/symfony5/public" ServerName symfony.example.com <Directory /var/www/html/symfony5/public> AllowOverride All Order Allow,Deny Allow from All </Directory> ErrorLog "/var/log/httpd/example.com-error_log" CustomLog "/var/log/httpd/example.com-access_log" combined </VirtualHost>
Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Apache para aplicar los cambios:
systemctl restart httpd
Paso 7:configurar el cortafuegos
Si el servicio firewalld está habilitado en su sistema, deberá permitir el puerto HTTP/HTTPS a través de firewalld.
Primero, verifique el servicio firewalld usando el siguiente comando:
systemctl status firewalld
Debería ver que el servicio firewalld no se está ejecutando:
● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1)
Puede iniciar el servicio firewalld y permitir que se inicie después de reiniciar el sistema con el siguiente comando:
systemctl start firewalld systemctl enable firewalld
A continuación, permita el puerto HTTP y HTTPS a través de firewalld con el siguiente comando:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https
A continuación, vuelva a cargar el cortafuegos para aplicar los cambios:
firewall-cmd --reload
Paso 8:accede a Symfony
Ahora, abre tu navegador web y escribe la URL http://symfony.example.com. Serás redirigido al panel predeterminado de Symfony como se muestra en la siguiente pantalla:
Conclusión
¡Felicidades! Ha instalado con éxito Symfony 5 en el servidor CentOS 8. Ahora puedes empezar a crear aplicaciones brillantes con Symfony. ¡Empieza a utilizar Symfony hoy mismo con una cuenta de alojamiento VPS de Atlantic.Net!