Come creare un’applicazione Symfony da Ubuntu

installazione di Symfony

Cos’è Symfony?

Symfony è un framework per la creazione di applicazioni web in PHP creato e sponsorizzato da SensioLabs.
Grazie alla moltitudine di componenti pronti all’uso e alle sue elevate performance Symfony è uno dei framework più diffusi per la creazione di progetti di medio/grandi dimensioni.
Inoltre la sua modularità consente di utilizzare questo framework per realizzare senza particolari problemi qualsiasi tipologia di applicazione come ad esempio: API, microservizi e applicazioni monolitiche.

Inoltre, a parer mio, la documentazione del framework è una delle migliori in circolazione. E questo è un fattore da non sottovalutare in particolar modo per chi è alle prime armi con un nuovo progetto Symfony.

Indice

Installazione di Symfony

Dopo questa brevissima introduzione a Symfony inizio subito a spiegarti come installare il framework su Ubuntu tramite la command line interface (CLI).

NOTA: questa procedura funziona anche utilizzando il sottosistema Linux all’interno di Windows 10 (WSL). Per cui puoi seguire gli step riguardanti l’installazione all’interno del sottosistema Linux e poi utilizzare Windows per scrivere il codice e visualizzare l’applicazione web.

1 – Installazione di PHP

Il requisito base per poter utilizzare un framework PHP, naturalmente, è quello di avere un installazione del linguaggio PHP all’interno del tuo computer.

Per poter utilizzare Symfony è richiesta almeno la versione 7.1.3 di PHP e che siano installate alcune estensioni del linguaggio come: Ctype, iconv, JSON, PCRE, Session, SimpleXML e Tokenizer. (Qui puoi trovare l’elenco delle dipendenze richieste)

Per installare tutte le dipendenze con un solo comando apri una nuova sessione del terminale e digita:

sudo apt install php libapache2-mod-php php-mbstring php-xmlrpc php-soap php-gd php-xml php-cli php-zip php-mysql php-curl

2 – Installazione di Composer

Un altro requisito fondamentale per poter creare una nuova applicazione Symfony è il gestore di pacchetti per il linguaggio PHP chiamato Composer. Tramite questo software è infatti possibile aggiungere, aggiornare e rimuovere le dipendenze esterne al progetto.

NOTA: Se in passato ti è capitato di lavorare con un framework Javascript allora ti sarai sicuramente imbattuto in npm o yarn per gestire le dipendenze. Composer è esattamente la stessa cosa, ma per il mondo PHP.

Per installare l’ultima versione di Composer digita i seguenti comandi nel terminale:

curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Per verificare che l’installazione sia andata a buon fine devi aprire e richiudere il terminale e provare a lanciare il programma appena installato utilizzando il comando composer. Se digitando il comando composer ricevi un messaggio del tipo:

unable to find composer, get it at https://getcomposer.org/download/: exec: "composer": executable file not found in $PATH

Allora è possibile che tu non abbia riavviato il terminale oppure che qualcosa sia andato storto e che tu debba riprovare ad installare Composer nuovamente.

3 – Installazione di Git

Questo passaggio non è strettamente necessario ma è fortemente consigliato. Infatti, quando arriverà il momento di creare il progetto dell’applicazione Symfony tramite la CLI, se git non fosse installato e configurato, riceverai un messaggio d’errore.

Per installare git il comando da digitare è:

sudo apt install git-core

Per poter utilizzare git è necessario configurarlo inserendo nome utente ed indirizzo email con i seguenti comandi da terminale:

git config --global user.email "you@example.com"
git config --global user.name "Your Name" 

4 – Installazione della Symfony CLI

Una volta installate tutte le dipendenze necessarie, sei finalmente pronto per installare la CLI (Command Line Interface) di Symfony.

La prima cosa da fare è scaricare l’installer con il seguente comando:

wget https://get.symfony.com/cli/installer -O - | bash
Download della CLI di Symfony

A questo punto è possibile scegliere se installare la CLI livello globale (disponibile per tutti gli utenti del sistema) oppure a livello locale (limitando l’uso al solo utente corrente). Vediamo come fare in entrambi i casi:

4.1a – Installazione globale

Per installare la CLI globalmente rendendola disponibile a tutti gli utenti del sistema il comando da eseguire è:

mv $HOME/.symfony/bin/symfony /usr/local/bin/symfony

4.1b – Installazione locale

Per installare la CLI per il solo utente corrente devi aggiungere Symfony alle tue variabili d’ambiente. Per farlo puoi modificare il file .bashrc utilizzando i seguenti comandi

touch ~/.bashrc
echo 'export PATH="$HOME/.symfony/bin:$PATH"' >> ~/.bashrc 

4.2 – Verifica dell’installazione

Per verificare che l’installazione della CLI sia andata a buon fine è necessario riavviare il terminale (ti basta chiudere e riaprire) e digitare il comando symfony.
Se riceverai un messaggio simile a quello riportato nell’immagine qui sotto allora l’installazione sarà stata completata con successo e potrai finalmente iniziare a creare un nuovo progetto Symfony. 🎉

Symfony CLI installata correttamente

Bonus: configurare l’ambiente di Symfony con Docker

Se non vuoi perdere tempo ad installare PHP e la Symfony CLI all’interno del tuo PC e/o vuoi un ambiente di sviluppo che sia sempre lo stesso anche quando cambi il computer che utilizzi puoi utilizzare creare il progetto all’interno dei container Docker che ho preparato. (Se non sai come installare Docker su Ubuntu leggi qui)

Per usare Symfony all’interno di Docker ti basta clonare il repository linkato qui sotto, avviare i container con il comando docker-compose up -d --build e connetterti al container con docker exec -it symfony-environment bash

https://github.com/lmillucci/symfony-docker-environment

A questo punto configura git come descritto poco più sopra e continua a seguire i passaggi descritti di seguito per creare un nuovo progetto e per avviare il server.

Creazione di un nuovo progetto

Se hai seguito correttamente tutti i passaggi fino a questo punto allora sei finalmente pronto per creare il tuo primo progetto Symfony tramite la CLI. Senza perdere altro tempo, il comando da eseguire per creare un nuovo progetto tramite la CLI è il seguente:

symfony new --full my_symfony_app

NOTA: con il comando --full verranno installate automaticamente all’interno del progetto anche tutti i pacchetti che di solito sono necessari per creare un applicazione web completa. Omettendo il --full invece verrà creato un progetto con una configurazione minimale che è particolarmente indicato per creare microservizi o API.

NOTA2: con questo comando verrà creato un nuovo progetto chiamato my_symfony_app. Naturalmente puoi chiamare il progetto con un nome differente sostituendo my_symfony_app con il nome che vuoi utilizzare.

Avvio di Symfony

Arrivato a questo punto non resta che avviare l’applicazione Symfony appena creata. Normalmente sarebbe necessario configurare un server Apache o NGINX per poter servire un applicazione PHP ma grazie alla CLI di Symfony potrai avviare immediatamente il progetto appena creato utilizzando il server integrato (chiamato: Symfony Local Web Server).

Per avviare l’applicazione Symfony appena creata ti basta spostarti nella cartella del progetto e avviare il server con i seguenti comandi:

cd my_symfony_app
symfony serve

Una volta che il server si sarà avviato, visitando l’indirizzo http://127.0.0.1:8000/, potrai visualizzare la pagina di benvenuto di Symfony.

Benvenuto nella tua prima applicazione Symfony

Da questo punto in poi potrai modificare il codice PHP all’interno del progetto per iniziare a realizzare l’applicazione che desideri.

Bisogno di aiuto?

Se vuoi rimanere sempre aggiornato su ciò che posto in questo blog iscriviti al mio canale Telegram oppure, se hai bisogno di aiuto nel seguire questa guida o non ti è chiaro qualche passaggio puoi lasciarmi un commento qui sotto oppure scrivermi direttamente a t.me/lorenzomillucci.

Per sapere come gestire gli asset front-end tramite Webpack puoi consultare quest’altro articolo.

Fonte

Installare XAMPP su Ubuntu

Chiunque voglia iniziare a studiare la programmazione web deve affrontare lo step iniziale di creare un ambiente server all’interno del proprio computer. Ciò spesso vuol dire doversi installare e configurare un server Apache, l’interprete PHP e un DBMS per gestire un database.

L’installazione di questi programmi non è di per se difficoltosa ma può richiedere un quantitativo considerevole di tempo e può causare qualche grattacapo agli utenti meno esperti. Proprio per far fronte all’esigenza di avere un ambiente di sviluppo web facile e veloce è nato il software open-source XAMPP.

XAMPP è una distribuzione di Apache completamente gratuita e semplice da installare, contenente MySQL, PHP e Perl.

– sito web di Xampp

Proprio per la sua semplicità di installazione e utilizzo XAMPP è la soluzione software che di solito si consiglia a chiunque voglia avvicinarsi alla programmazione web tramite PHP.

Installazione

La prima cosa da fare, naturalmente, è scaricare il pacchetto di installazione dal sito web ufficiale di XAMPP:

https://www.apachefriends.org/it/index.html

Per procedere all’installazione del pacchetto appena scaricato devi prima di tutto fornirgli i permessi di esecuzione. Puoi farlo aprendo il terminale e, spostandoti nella cartella che contiene il pacchetto, digitando:

chmod +x ./xampp-linux-x64-7.3.2-1-installer.run 

NOTA: nel momento in cui scrivo l’ultima versione di XAMPP disponibile è la 7.3.2-1. Quando verranno rilasciate versioni aggiornate dovrai cambiare il comando inserendo numero della versione che andrai ad utilizzare.

A questo punto sei pronto per avviare l’installazione vera e propria del programma tramite il seguente comando di terminale:

sudo ./xampp-linux-x64-7.3.2-1-installer.run 

Si aprirà una finestra con uno wizard di installazione grafico in cui, per terminare l’installazione, ti sarà sufficiente premere sempre il pulsante avanti.

NOTA: ad un certo punto ti verrà chiesto se vuoi avere maggiori informazioni su bitnami per XAMPP, se non sei interessato puoi tranquillamente levare la spunta dalla checkbox.

Installazione di XAMPP su Ubuntu

Terminata l’installazione, se hai lasciato la spunta su “Launch XAMPP” ti verrà aperta una finestra con il pannello di controllo del programma.

Pannello di controllo di XAMPP

Dal pannello di controllo di XAMPP, andando sulla scheda “Manage Servers” puoi verificare lo stato dei vari servizi che compongono il programma e, nel caso in cui non lo fossero già, avviarli.

Per verificare che il programma stia funzionando correttamente ti basta provare la connessione al server appena creato aprendo un browser e visitando l’indirizzo:

http://localhost/

Se tutto ha funzionato correttamente verrai accolto dalla pagina di benvenuto di XAMPP.

Pagina di benvenuto di XAMPP

Come avviare e arrestare XAMPP

Sfortunatamente l’installer di XAMPP non genera automaticamente un lanciatore per avviare il programma dall’elenco dei software installati. Di conseguenza per avviare XAMPP bisogna ricorrere al terminale utilizzando uno dei seguenti due modi:

  • con il comando sudo /opt/lampp/lampp start che avvierà automaticamente tutti i servizi di XAMPP senza passare per il pannello di controllo grafico.
  • oppure avviando il pannello di controllo utilizzando il comando sudo /opt/lampp/manager-linux-x64.rune poi avviare i servizi di XAMPP dalla scheda “Manage Servers”

Analogamente, per arrestare XAMPP una volta terminato il lavoro, puoi usare uno dei seguenti due modi:

  • con il comando sudo /opt/lampp/lampp stop
  • usando il pannello di controllo di XAMPP, arrestando i servizi manualmente dalla scheda “Manage Servers”

Creazione di una nuova pagina web

Per creare una nuova pagina web da servire mediante il server XAMPP basta creare un nuovo file all’interno della cartella /opt/lampp/htdocs.

Di default questa cartella non è scrivibile dall’utente corrente in quanto appartenente all’utente e al gruppo root.

Per aggiustare i permessi in modo che l’utente corrente possa scrivere all’interno di questa cartella senza che sia necessari utilizzare sudo ogni volta basta usare il seguente comando da terminale:

 sudo chown -R USER_NAME:GROUP_NAME /opt/lampp/htdocs/

Rimpiazzando USER_NAME e GROUP_NAME con il tuo nome utente. Per sapere qual’è il tuo nome utente puoi usare il comando whoami mentre per sapere il nome del gruppo puoi usare il comando id -gn.

Ad esempio nel mio caso sia il nome utente che il nome del gruppo sono esattamente lorenzo per cui il comando che ho digitato è stato:

sudo chown -R lorenzo:lorenzo /opt/lampp/htdocs/

A questo punto, per verificare che tutto funzioni correttamente puoi creare una nuova cartella chiamata test all’interno di /opt/lampp/htdocs/. Per creare la prima pagina web crea un nuovo file chiamato index.html all’interno della cartella e digita all’interno il seguente contenuto:

<html>
<h1>Hello world from XAMPP!</h1>
</html>
Creazione della prima pagina web

A questo punto, se tutto avrà funzionato correttamente, navigando all’indirizzo http://localhost/test/ verrà servita del server web la tua pagina web appena creata.

La prima pagina web servita direttamente da XAMPP