Symfony è un framework PHP gratuito, open source e popolare con architettura MVC utilizzato per creare servizi Web, API, microservizi e applicazioni Web complesse e ad alte prestazioni. Symfony è compatibile con altri sistemi di database e ti dà il pieno controllo sulla configurazione. Viene fornito con un set di componenti riutilizzabili e un'interfaccia Web intuitiva, e la sua flessibilità e prestazioni elevate lo rendono la scelta migliore per lo sviluppo di un'applicazione aziendale.
In questo tutorial impareremo come installare il framework Symfony sul server CentOS 8.
Prerequisiti
- Un nuovo VPS CentOS 8 sulla piattaforma Atlantic.net Cloud.
- Un nome di dominio valido puntato al tuo indirizzo IP. In questo tutorial useremo symfony.example.com.
- Una password di root configurata sul tuo server.
Nota :puoi fare riferimento alla Guida DNS Atlantic per gestire i record DNS.
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo CentOS 8 come sistema operativo con almeno 1 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al server CentOS 8, esegui il comando seguente per aggiornare il sistema di base con gli ultimi pacchetti disponibili.
dnf update -y
Fase 2 – Installa il server LAMP
Innanzitutto, dovrai installare Apache, MariaDB, PHP e altre estensioni PHP richieste nel tuo server. Puoi installarli tutti con il seguente 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 volta installati tutti i pacchetti, avvia il servizio Apache e MariaDB e abilita l'avvio dopo il riavvio del sistema con il seguente comando:
systemctl start httpd systemctl enable httpd systemctl start mariadb systemctl enable mariadb
Una volta terminato, puoi procedere al passaggio successivo.
Fase 3:proteggere il database MariaDB
mysql_secure_installation
Rispondi a tutte le domande come mostrato di seguito:
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 volta terminato, puoi procedere al passaggio successivo.
Fase 4 – Installa Symfony
Prima di installare Symfony, dovrai installare Composer nel tuo sistema. Composer è un gestore delle dipendenze per PHP che può essere utilizzato per installare le dipendenze PHP durante la creazione del progetto.
Puoi installare Composer con il seguente comando:
wget https://getcomposer.org/installer -O composer-installer.php php composer-installer.php --filename=composer --install-dir=/usr/local/bin
Una volta installato, dovresti ottenere il seguente output:
Tutte le impostazioni corrette per l'utilizzo di Composer
Downloading... Composer (version 1.9.3) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Quindi, cambia la directory in /var/www/html e crea un nuovo progetto Symfony con il seguente comando:
cd /var/www/html composer create-project symfony/website-skeleton symfony5
Quindi, dai i permessi appropriati alla directory di symfony5 usando il seguente comando:
chown -R apache:apache /var/www/html/symfony5 chmod -R 755 /var/www/html/symfony5
Fase 5 – Avvia Symfony in modalità sviluppo
Ora puoi avviare Symfony in modalità sviluppo usando il seguente comando:
cd /var/www/html/symfony5 php -S 0.0.0.0:8000 -t public
Dovresti vedere il seguente output:
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.
Il server web Symfony è ora avviato e in ascolto sulla porta 8000. Puoi accedervi usando l'URL http://your-server-ip:8000. Dovresti vedere la seguente schermata:
È possibile arrestare il server Web Symfony premendo CTRL+C sull'interfaccia del tuo terminale.
Fase 6 – Configura Apache per Symfony
Successivamente, sarà necessario creare un nuovo file di configurazione dell'host virtuale Apache per Symfony. Puoi crearlo con il seguente comando:
nano /etc/httpd/conf.d/symfony.conf
Aggiungi le seguenti righe:
<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>
Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Apache per applicare le modifiche:
systemctl restart httpd
Passaggio 7:configurazione del firewall
Se il servizio firewalld è abilitato nel tuo sistema, dovrai consentire la porta HTTP/HTTPS tramite firewalld.
Innanzitutto, controlla il servizio firewalld usando il seguente comando:
systemctl status firewalld
Dovresti vedere che il servizio firewalld non è in esecuzione:
● 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)
È possibile avviare il servizio firewalld e abilitarne l'avvio dopo il riavvio del sistema con il seguente comando:
systemctl start firewalld systemctl enable firewalld
Quindi, consenti la porta HTTP e HTTPS tramite firewalld con il seguente comando:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https
Quindi, ricarica il firewalld per applicare le modifiche:
firewall-cmd --reload
Fase 8 – Accedi a Symfony
Ora apri il tuo browser web e digita l'URL http://symfony.example.com. Verrai reindirizzato alla dashboard predefinita di Symfony come mostrato nella schermata seguente:
Conclusione
Congratulazioni! hai installato correttamente Symfony 5 sul server CentOS 8. Ora puoi iniziare a creare applicazioni brillanti con Symfony. Inizia oggi stesso su Symfony con un account Hosting VPS da Atlantic.Net!