Pesquisa de site

Como instalar o Yii PHP Framework no Ubuntu


Yii (pronuncia-se Yee ou [ji:]) é um software gratuito e de código aberto, rápido, de alto desempenho, seguro, flexível, mas pragmático, e estrutura de programação web genérica eficiente para desenvolver todos os tipos de aplicativos web usando PHP.

Neste artigo, você aprenderá como instalar a versão mais recente do framework Yii nas versões LTS (suporte de longo prazo) do Ubuntu para começar a desenvolver aplicações Web PHP modernas.

Suporte de plataforma

Yii possui as seguintes versões Ubuntu LTS (suporte de longo prazo):

  • Ubuntu 20.04 LTS (“Focal”)
  • Ubuntu 18.04 LTS (“Biônico”)
  • Ubuntu 16.04 LTS (“Xenial”)

Requisitos

  • Uma instância em execução do servidor Ubuntu.
  • Uma pilha LEMP com PHP 5.4.0 ou superior.
  • Um Composer – um gerenciador de pacotes em nível de aplicativo para PHP.

Nesta página

  • Instalando o Yii Framework via Composer no Ubuntu
  • Executando Yii usando servidor de desenvolvimento PHP
  • Executando o projeto Yii em produção usando um servidor HTTP NGINX
  • Habilite HTTPS em aplicativos Yii usando Let’s Encrypt

Existem duas maneiras de instalar o Yii, usando o gerenciador de pacotes Composer ou instalando-o a partir de um arquivo compactado. A primeira é a forma recomendada, pois permite instalar novas extensões ou atualizar o Yii com um único comando.

Instalando o Yii Framework via Composer no Ubuntu

Se você não possui o Composer instalado, você pode instalá-lo usando os seguintes comandos, que posteriormente instalarão o Yii e gerenciarão suas dependências.

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

Depois de instalar o compositor, vá para o diretório /var/www/html/ que irá armazenar seus aplicativos web ou arquivos de sites, então instale o pacote Yii usando o composer (substitua testproject pelo nome do diretório da sua aplicação web).

cd /var/www/html/
composer create-project --prefer-dist yiisoft/yii2-app-basic testproject

Executando Yii usando servidor de desenvolvimento PHP

Neste ponto, você está pronto para começar a usar o framework Yii para desenvolvimento. Para executar o servidor de desenvolvimento PHP, vá para o diretório testprojects (o nome do seu diretório deve ser diferente dependendo do que você especificou no comando anterior) e, em seguida, inicie o servidor de desenvolvimento. Por padrão, ele deve ser executado na porta 8080.

cd /var/www/html/testproject/
php yii serve

Para executar o servidor de desenvolvimento em outra porta, por exemplo, porta 5000, use o sinalizador --port conforme mostrado.

php yii serve --port=5000

Em seguida, abra seu navegador e navegue usando o seguinte endereço:

http://SERVER_IP:8080
OR
http://SERVER_IP:5000

Executando o projeto Yii em produção usando um servidor HTTP NGINX

Para implantar e acessar uma aplicação Yii em produção, é necessário um servidor HTTP como NGINX, Apache/HTTPD ou qualquer outro software de servidor Web compatível.

Para acessar a aplicação Yii sem digitar sua porta, você precisa criar o registro DNS A necessário para apontar seu domínio para o servidor de aplicação da estrutura Yii .

Neste guia, mostraremos como implantar uma aplicação Yii com NGINX. Portanto, você precisa criar um host virtual ou arquivo de configuração de bloco de servidor no diretório /etc/nginx/sites-available/ para seu aplicativo para que o NGINX possa servi-lo.

sudo vim /etc/nginx/sites-available/testproject.me.conf

Copie e cole a seguinte configuração nele (substitua testprojects.me e www.testprojects.me pelo seu nome de domínio). Especifique também os meios pelos quais NGINX passará solicitações FastCGI para PHP-FPM, neste exemplo, estamos usando um soquete 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;
    }
}

Salve o arquivo e feche-o.

Em seguida, verifique se a sintaxe de configuração do NGINX está correta, se estiver OK, habilite o novo aplicativo conforme mostrado:

sudo nginx -t
sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf

Em seguida, reinicie o serviço NGINX para aplicar as novas alterações:

sudo systemctl restart nginx

Volte para o seu navegador e navegue com o seu nome de domínio.

http://testprojects.me
OR
http://www.testprojects.me

Habilite HTTPS em aplicativos Yii usando Let’s Encrypt

Por último, você precisa ativar o HTTPS no seu site. Você pode usar um certificado Let’s Encrypt SSL/TLS gratuito (que é automatizado e reconhecido por todos os navegadores modernos) ou adquirir um certificado de uma CA comercial.

Se você decidir usar um certificado Let’s Encrypt, ele poderá ser instalado e configurado automaticamente usando a ferramenta certbot. Para instalar o certbot, você precisa instalar o snapd para instalá-lo.

sudo snap install --classic certbot

Em seguida, use certbot para obter e instalar/configurar seu certificado SSL/TLS gratuito para uso com o servidor web NGINX (forneça um e-mail válido para renovação e siga as instruções para concluir a instalação):

sudo certbot --nginx

Agora acesse seu navegador mais uma vez para confirmar que sua aplicação Yii está rodando em HTTPS (lembre-se que HTTP deve redirecionar automaticamente para >HTTPS).

http://testprojects.me
OR
http://www.testprojects.me

Para obter mais informações, como conectar sua aplicação a um banco de dados, consulte a documentação do framework Yii no site oficial do projeto Yii. Experimente e compartilhe sua opinião sobre o Yii ou faça qualquer pergunta através do formulário de feedback abaixo.