Cómo instalar Yii PHP Framework en Ubuntu
Yii (pronunciado Yee o [ji:]) es una aplicación gratuita y de código abierto, rápida, de alto rendimiento, segura, flexible pero pragmática. y marco de programación web genérico eficiente para desarrollar todo tipo de aplicaciones web utilizando PHP.
En este artículo, aprenderá cómo instalar la última versión del marco Yii en las versiones LTS (soporte a largo plazo) de Ubuntu para comenzar a desarrollar aplicaciones web PHP modernas.
Soporte de plataforma
Yii tiene las siguientes versiones de Ubuntu LTS (soporte a largo plazo):
- Ubuntu 20.04 LTS (“Focal”)
- Ubuntu 18.04 LTS (“Biónico”)
- Ubuntu 16.04 LTS (“Xenial”)
Requisitos
- Una instancia en ejecución del servidor Ubuntu.
- Una pila LEMP con PHP 5.4.0 o superior.
- Un Composer: un administrador de paquetes a nivel de aplicación para PHP.
En esta página
- Instalación de Yii Framework a través de Composer en Ubuntu
- Ejecutando Yii usando el servidor de desarrollo PHP
- Ejecutando el proyecto Yii en producción usando un servidor HTTP NGINX
- Habilite HTTPS en aplicaciones Yii usando Let's Encrypt
Hay dos formas de instalar Yii, usando el administrador de paquetes Composer o instalándolo desde un archivo comprimido. La primera es la forma recomendada, ya que te permite instalar nuevas extensiones o actualizar Yii con un solo comando.
Instalación de Yii Framework a través de Composer en Ubuntu
Si no tienes Composer instalado, puedes instalarlo usando los siguientes comandos, que luego instalarán Yii y administrarán sus dependencias.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Una vez que haya instalado Composer, vaya al directorio /var/www/html/
que almacenará sus aplicaciones web o archivos de sitios web, luego instale el paquete Yii usando el comando compositor (reemplace testproject con el nombre del directorio de su aplicación web).
cd /var/www/html/
composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Ejecutando Yii usando el servidor de desarrollo PHP
En este punto, está listo para comenzar a utilizar el marco Yii para el desarrollo. Para ejecutar el servidor de desarrollo PHP, vaya al directorio testprojects (el nombre de su directorio debe ser diferente dependiendo de lo que especificó en el comando anterior), luego inicie el servidor de desarrollo. De forma predeterminada, debería ejecutarse en el puerto 8080.
cd /var/www/html/testproject/
php yii serve
Para ejecutar el servidor de desarrollo en otro puerto, por ejemplo, el puerto 5000, utilice el indicador --port
como se muestra.
php yii serve --port=5000
Luego abra su navegador web y navegue usando la siguiente dirección:
http://SERVER_IP:8080
OR
http://SERVER_IP:5000
Ejecutando el proyecto Yii en producción usando un servidor HTTP NGINX
Para implementar y acceder a una aplicación Yii en producción, se requiere un servidor HTTP como NGINX, Apache/HTTPD o cualquier otro software de servidor web compatible.
Para acceder a la aplicación Yii sin escribir su puerto, necesita crear el registro DNS A
requerido para apuntar su dominio a su servidor de aplicaciones marco Yii. .
Para esta guía, mostraremos cómo implementar una aplicación Yii con NGINX. Por lo tanto, debe crear un archivo de configuración de bloque de servidor o host virtual en el directorio /etc/nginx/sites-available/ para su aplicación para que NGINX pueda servirla.
sudo vim /etc/nginx/sites-available/testproject.me.conf
Copie y pegue la siguiente configuración en él (reemplace testprojects.me
y www.testprojects.me
con su nombre de dominio). También especifique los medios que NGINX pasará solicitudes FastCGI a PHP-FPM; en este ejemplo, estamos usando un socket UNIX (/ ejecutar/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;
}
}
Guarde el archivo y ciérrelo.
Luego verifique que la sintaxis de configuración de NGINX sea correcta; si está bien, habilite la nueva aplicación como se muestra:
sudo nginx -t
sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Luego reinicie el servicio NGINX para aplicar los nuevos cambios:
sudo systemctl restart nginx
Vuelva a su navegador web y navegue con su nombre de dominio.
http://testprojects.me
OR
http://www.testprojects.me
Habilite HTTPS en aplicaciones Yii usando Let's Encrypt
Por último, debe habilitar HTTPS en su sitio web. Puede utilizar un certificado Let's Encrypt SSL/TLS gratuito (que está automatizado y es reconocido por todos los navegadores web modernos) o adquirir un certificado de una CA comercial.
Si decide utilizar un certificado Let's Encrypt, puede instalarlo y configurarlo automáticamente utilizando la herramienta certbot. Para instalar certbot, necesita instalar snapd para instalarlo.
sudo snap install --classic certbot
Luego use certbot para obtener e instalar/configurar su certificado SSL/TLS gratuito para usarlo con el servidor web NGINX (proporcione un correo electrónico válido para la renovación y siga las instrucciones para completar la instalación):
sudo certbot --nginx
Ahora vaya a su navegador web una vez más para confirmar que su aplicación Yii se está ejecutando en HTTPS (recuerde que HTTP debería redirigir automáticamente a HTTPS).
http://testprojects.me
OR
http://www.testprojects.me
Para obtener más información, como conectar su aplicación a una base de datos, consulte la documentación del marco Yii en el sitio web oficial del proyecto Yii. Pruébelo y comparta sus opiniones sobre Yii o haga cualquier pregunta a través del formulario de comentarios a continuación.