Yii (pronunciado Yee o [ji:] ) es un marco de programación web genérico gratuito y de código abierto, rápido, de alto rendimiento, seguro, flexible pero pragmático y eficiente para desarrollar todo tipo de aplicaciones web usando PHP.
En este artículo, aprenderá cómo instalar la última versión del marco Yii en Ubuntu Lanzamientos LTS (soporte a largo plazo) 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.
- A 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
- Ejecución del 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 Compositor administrador de paquetes o instalándolo desde un archivo comprimido. La primera es la forma recomendada, ya que le permite instalar nuevas extensiones o actualizar Yii por un solo comando.
Instalación de Yii Framework a través de Composer en Ubuntu
Si no tienes Compositor instalado, puede instalarlo usando los siguientes comandos, que luego instalarán Yii y administrar 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, muévase al directorio /var/www/html/
que almacenará sus aplicaciones web o archivos de sitios web, luego instale el Yii paquete usando el compositor (reemplace proyecto de prueba 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 usar Yii marco para el desarrollo. Para ejecutar el servidor de desarrollo de PHP, acceda a testprojects directorio (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, puerto 5000 , use el --port
bandera 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
Ejecución del proyecto Yii en producción usando un servidor HTTP NGINX
Para implementar y acceder a un Yii aplicación en producción, requiere un servidor HTTP como NGINX , Apache/HTTPD o cualquier otro software de servidor web compatible.
Para acceder a Yii aplicación sin escribir su puerto, necesita crear el DNS requerido A
registro para apuntar su dominio a su Yii servidor de aplicaciones framework.
Para esta guía, mostraremos cómo implementar un Yii aplicación con NGINX . Por lo tanto, debe crear un archivo de configuración de bloque de servidor o host virtual en /etc/nginx/sites-disponible/ directorio de su aplicación para que NGINX puede servirlo.
$ 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). Especifique también los medios NGINX pasará FastCGI solicitudes a PHP-FPM , en este ejemplo, estamos 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; } }
Guarde el archivo y ciérrelo.
Luego revisa el NGINX sintaxis de configuración para la corrección, 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 tu sitio web. Puede utilizar un certificado Let's Encrypt SSL/TLS gratuito (que está automatizado y reconocido por todos los navegadores web modernos) o adquirir un certificado de una CA comercial.
Si decide utilizar un certificado de Let's Encrypt, se puede instalar y configurar automáticamente mediante el certbot herramienta. 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 usar con el servidor web NGINX (proporcione un correo electrónico válido para la renovación y siga las indicaciones para completar la instalación):
$ sudo certbot --nginx
Ahora ve a tu navegador web una vez más para confirmar que tu Yii la aplicación ahora se ejecuta en HTTPS (recuerda 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.