Yii (pronunciato 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 di Framework Yii nel Ubuntu Versioni 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.
  • A Composer: un gestore di pacchetti a livello di applicazione per PHP.

Esistono due modi per eseguire l’installazione Yii, usando il Compositore gestore di pacchetti o installandolo da un file di archivio. Il primo è il modo consigliato, in quanto consente di installare nuove estensioni o aggiornare Yii da un singolo comando.

Installazione di Yii Framework tramite Composer in Ubuntu

Se non hai Compositore installato, è possibile installarlo utilizzando i seguenti comandi, che verranno installati successivamente Yii e gestirne le dipendenze.

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo chmod +x /usr/local/bin/composer
Installa Composer in Ubuntu
Installa Composer in Ubuntu

 

Dopo aver installato il compositore, spostati nella directory /var/www/html/ che memorizzerà le tue applicazioni web oi file dei siti web, quindi installerà il file Yii pacchetto utilizzando il compositore (sostituire testproject con il nome della directory della tua applicazione web).

$ cd /var/www/html/
$ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Installa Yii Framework in Ubuntu
Installa Yii Framework in Ubuntu

Eseguire Yii utilizzando PHP Development Server

A questo punto, sei pronto per iniziare a utilizzare Yii quadro per lo sviluppo. Per eseguire il server di sviluppo PHP, spostati nel file testprojects directory (il nome della directory dovrebbe essere diverso a seconda di quanto specificato nel comando precedente), quindi avviare il server di sviluppo. Per impostazione predefinita, dovrebbe essere eseguito sulla porta 8080.

$ cd /var/www/html/testproject/
$ php yii serve
Esegui Yii Development Server
Esegui Yii Development Server

Per eseguire il server di sviluppo su un’altra porta, ad esempio, port 5000, utilizzare il --port bandiera come mostrato.

$ php yii serve --port=5000
Esegui Yii Development Server su una porta diversa
Esegui Yii Development Server su una porta diversa

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 un file Yii applicazione in produzione, richiede un server HTTP come NGINX, Apache / HTTPD o qualsiasi altro software per server Web supportato.

Per accedere al file Yii senza digitare la porta, è necessario creare il DNS richiesto A record per puntare il tuo dominio al tuo Yii server delle applicazioni framework.

Imposta record dominio A per l'applicazione Yii
Imposta record dominio A per l’applicazione Yii

Per questa guida, mostreremo come distribuire un file Yii applicazione con NGINX. Quindi, è necessario 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). Specificare anche i mezzi NGINX passerà 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 il file NGINX sintassi di configurazione per correttezza, se va bene abilitare 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
Accedi all'applicazione Yii utilizzando il dominio
Accedi all’applicazione Yii utilizzando il dominio

Abilita HTTPS su applicazioni Yii utilizzando Let’s Encrypt

Infine, devi abilitare HTTPS sul tuo sito web. È possibile utilizzare un certificato Let’s Encrypt SSL / TLS gratuito (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. Installare certbot, è necessario installare snapd per installarlo.

$ sudo snap install --classic certbot

Quindi usa certbot per ottenere e installare / configurare il 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
Abilita HTTPS sull'applicazione Yii Nginx
Abilita HTTPS sull’applicazione Yii Nginx

Ora vai al tuo browser web ancora una volta per confermare che il tuo Yii l’applicazione è ora in esecuzione HTTPS (ricorda HTTP dovrebbe reindirizzare automaticamente a HTTPS).

http://testprojects.me
OR
http://www.testprojects.me
Applicazione Yii in esecuzione su HTTPS
Applicazione Yii in esecuzione su HTTPS

Per ulteriori informazioni come la connessione dell’applicazione a un database, vedere la documentazione del framework Yii dal sito Web ufficiale del progetto Yii. Fai un tentativo e condividi i tuoi pensieri su Yii o poni domande tramite il modulo di feedback sottostante.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *