Come installare Yii PHP Framework su Ubuntu
Yii (pronunciato Yee o [ji:]) è un software gratuito e open source, veloce, ad alte prestazioni, sicuro, flessibile ma pragmatico, ed efficiente framework di programmazione web generico per lo sviluppo di tutti i tipi di applicazioni web utilizzando PHP.
In questo articolo imparerai come installare l'ultima versione del framework Yii nelle versioni Ubuntu LTS (supporto a lungo termine) per iniziare a sviluppare moderne applicazioni Web PHP.
Supporto della piattaforma
Yii contiene le seguenti versioni di Ubuntu LTS (supporto a lungo termine):
- Ubuntu 20.04 LTS (“Focale”)
- Ubuntu 18.04 LTS (“Bionic”)
- Ubuntu 16.04 LTS (“Xenial”)
Requisiti
- Un'istanza in esecuzione del server Ubuntu.
- Uno stack LEMP con PHP 5.4.0 o successivo.
- Un compositore: un gestore di pacchetti a livello di applicazione per PHP.
Su questa pagina
- Installazione di Yii Framework tramite Composer in Ubuntu
- Esecuzione di Yii utilizzando il server di sviluppo PHP
- Esecuzione del progetto Yii in produzione utilizzando un server HTTP NGINX
- Abilita HTTPS sulle applicazioni Yii utilizzando Let's Encrypt
Esistono due modi per installare Yii, utilizzando il gestore pacchetti Composer o installandolo da un file di archivio. Il primo è il metodo consigliato, poiché ti consente di installare nuove estensioni o aggiornare Yii con un unico comando.
Installazione di Yii Framework tramite Composer in Ubuntu
Se non hai Composer installato, puoi installarlo utilizzando i seguenti comandi, che successivamente installeranno Yii e gestiranno le sue dipendenze.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Una volta installato il compositore, spostati nella directory /var/www/html/
che memorizzerà le tue applicazioni web o i file dei siti web, quindi installa il pacchetto Yii utilizzando il comando composer (sostituisci testproject con il nome della directory della tua applicazione web).
cd /var/www/html/
composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Esecuzione di Yii utilizzando il server di sviluppo PHP
A questo punto sei pronto per iniziare a utilizzare il framework Yii per lo sviluppo. Per eseguire il server di sviluppo PHP, spostati nella directory testprojects (il nome della tua directory dovrebbe essere diverso a seconda di ciò che hai specificato nel comando precedente), quindi avvia il server di sviluppo. Per impostazione predefinita, dovrebbe essere eseguito sulla porta 8080.
cd /var/www/html/testproject/
php yii serve
Per eseguire il server di sviluppo su un'altra porta, ad esempio la porta 5000, utilizza il flag --port
come mostrato.
php yii serve --port=5000
Apri quindi il tuo browser web e naviga utilizzando il seguente indirizzo:
http://SERVER_IP:8080
OR
http://SERVER_IP:5000
Esecuzione del progetto Yii in produzione utilizzando un server HTTP NGINX
Per distribuire e accedere a un'applicazione Yii in produzione, è necessario un server HTTP come NGINX, Apache/HTTPD o qualsiasi altro software server Web supportato.
Per accedere all'applicazione Yii senza digitare la porta, devi creare il record DNS A
richiesto per indirizzare il tuo dominio al server dell'applicazione framework Yii .
Per questa guida, mostreremo come distribuire un'applicazione Yii con NGINX. Pertanto, devi creare un host virtuale o un file di configurazione del blocco server nella directory /etc/nginx/sites-available/ per la tua applicazione in modo che NGINX possa servirla.
sudo vim /etc/nginx/sites-available/testproject.me.conf
Copia e incolla la seguente configurazione al suo interno (sostituisci testprojects.me
e www.testprojects.me
con il tuo nome di dominio). Specificare anche il mezzo con cui NGINX trasmetterà le richieste FastCGI a PHP-FPM, in questo esempio stiamo utilizzando un socket UNIX (/ run/php/php7.4-fpm.sock):
server {
set $host_path "/var/www/html/testproject";
#access_log /www/testproject/log/access.log main;
server_name testprojects.me www.testprojects.me;
root $host_path/web;
set $yii_bootstrap "index.php";
charset utf-8;
location / {
index index.html $yii_bootstrap;
try_files $uri $uri/ /$yii_bootstrap?$args;
}
location ~ ^/(protected|framework|themes/\w+/views) {
deny all;
}
#avoid processing of calls to unexisting static files by yii
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}
# pass the PHP scripts to FastCGI server listening on UNIX socket
location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(.*)$;
#let yii catch the calls to unexising PHP files
set $fsn /$yii_bootstrap;
if (-f $document_root$fastcgi_script_name){
set $fsn $fastcgi_script_name;
}
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fsn;
#PATH_INFO and PATH_TRANSLATED can be omitted, but RFC 3875 specifies them for CGI
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fsn;
}
# prevent nginx from serving dotfiles (.htaccess, .svn, .git, etc.)
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
}
Salva il file e chiudilo.
Quindi controlla la correttezza della sintassi di configurazione di NGINX, se è Ok, abilita la nuova applicazione come mostrato:
sudo nginx -t
sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Riavvia quindi il servizio NGINX per applicare le nuove modifiche:
sudo systemctl restart nginx
Torna al tuo browser web e naviga con il tuo nome di dominio.
http://testprojects.me
OR
http://www.testprojects.me
Abilita HTTPS sulle applicazioni Yii utilizzando Let's Encrypt
Infine, devi abilitare HTTPS sul tuo sito web. Puoi utilizzare un certificato Let's Encrypt SSL/TLS gratuito (che è automatizzato e riconosciuto da tutti i browser Web moderni) o acquisire un certificato da una CA commerciale.
Se decidi di utilizzare un certificato Let's Encrypt, può essere installato e configurato automaticamente utilizzando lo strumento certbot. Per installare certbot, devi installare snapd per installarlo.
sudo snap install --classic certbot
Quindi utilizza certbot per ottenere e installare/configurare il tuo certificato SSL/TLS gratuito da utilizzare con il server web NGINX (fornisci un'e-mail valida per il rinnovo e segui le istruzioni per completare l'installazione):
sudo certbot --nginx
Ora vai al tuo browser web ancora una volta per confermare che la tua applicazione Yii è ora in esecuzione su HTTPS (ricorda che HTTP dovrebbe reindirizzare automaticamente a HTTPS).
http://testprojects.me
OR
http://www.testprojects.me
Per ulteriori informazioni, come la connessione della tua applicazione a un database, consulta la documentazione del framework Yii dal sito web ufficiale del progetto Yii. Provalo e condividi le tue opinioni su Yii o fai qualsiasi domanda tramite il modulo di feedback qui sotto.