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.