Già (pronunciato Sì o [ji:] ) è un framework di programmazione Web generico gratuito e open source, veloce, ad alte prestazioni, sicuro, flessibile ma pragmatico ed efficiente per lo sviluppo di tutti i tipi di applicazioni Web utilizzando PHP.
In questo articolo imparerai come installare l'ultima versione del framework Yii su Ubuntu Rilasci LTS (supporto a lungo termine) per iniziare a sviluppare moderne applicazioni Web PHP.
Supporto della piattaforma
Già 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 superiore.
- Un Composer:un gestore di pacchetti a livello di applicazione per PHP.
In questa pagina
- Installazione di Yii Framework tramite Composer in Ubuntu
- Eseguire 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 Compositore gestore pacchetti o installandolo da un file di archivio. Il primo è il metodo consigliato, in quanto ti consente di installare nuove estensioni o aggiornare Yii con un solo comando.
Installazione di Yii Framework tramite Composer in Ubuntu
Se non hai Compositore installato, puoi installarlo utilizzando i seguenti comandi, che in seguito installeranno Yii e gestisci 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

Dopo aver installato il compositore, spostati nella directory /var/www/html/
che memorizzerà le tue applicazioni Web o i file dei siti Web, quindi installerà Yii pacchetto utilizzando il compositore (sostituisci progetto di prova con il nome della directory della tua applicazione web).
$ cd /var/www/html/ $ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject

Eseguire Yii utilizzando il server di sviluppo PHP
A questo punto, sei pronto per iniziare a utilizzare Yii quadro per lo sviluppo. Per eseguire il server di sviluppo PHP, spostati nei testprojects directory (il nome della 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, porta 5000 , usa il --port
flag come mostrato.
$ php yii serve --port=5000

Quindi apri 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 Yii applicazione in produzione, richiede un server HTTP come NGINX , Apache/HTTPD o qualsiasi altro software per server Web supportato.
Per accedere a Yii applicazione senza digitare la porta, è necessario creare il A
DNS richiesto record per indirizzare il tuo dominio al tuo Yii server delle applicazioni framework.

Per questa guida, mostreremo come distribuire un Yii applicazione con NGINX . Quindi, devi creare un host virtuale o un file di configurazione del blocco del server in /etc/nginx/sites-available/ directory per la tua applicazione in modo che NGINX può servirlo.
$ 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). Specifica anche il mezzo NGINX supererà FastCGI richieste a PHP-FPM , in questo esempio, stiamo usando 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 NGINX sintassi di configurazione per correttezza, 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
Quindi riavvia 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 il certbot attrezzo. Per installare certbot , devi installare snapd per installarlo.
$ sudo snap install --classic certbot
Quindi usa certbot per ottenere e installare/configurare il tuo certificato SSL/TLS gratuito da utilizzare con il server web NGINX (fornire un'e-mail valida per il rinnovo e seguire le istruzioni per completare l'installazione):
$ sudo certbot --nginx

Ora vai al tuo browser web ancora una volta per confermare che il tuo Yii l'applicazione è ora in esecuzione su HTTPS (ricorda 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. Fai un tentativo e condividi le tue opinioni su Yii o fai qualsiasi domanda tramite il modulo di feedback qui sotto.