Yii (vyslovuje se Ano nebo [ji:] ) je bezplatný a open source, rychlý, vysoce výkonný, bezpečný, flexibilní a přitom pragmatický a účinný obecný webový programovací rámec pro vývoj všech druhů webových aplikací pomocí PHP.
V tomto článku se dozvíte, jak nainstalovat nejnovější verzi rámce Yii v Ubuntu Vydání LTS (long-term support) pro zahájení vývoje moderních webových aplikací PHP.
Podpora platformy
Yii drží následující vydání Ubuntu LTS (long-term support):
- Ubuntu 20.04 LTS („Focal“)
- Ubuntu 18.04 LTS („Bionic“)
- Ubuntu 16.04 LTS („Xenial“)
Požadavky
- Spuštěná instance serveru Ubuntu.
- Zásobník LEMP s PHP 5.4.0 nebo vyšším.
- A Composer – správce balíčků na úrovni aplikace pro PHP.
Na této stránce
- Instalace Yii Framework prostřednictvím Composer v Ubuntu
- Spuštění Yii pomocí PHP Development Server
- Spuštění projektu Yii v produkci pomocí NGINX HTTP serveru
- Povolte HTTPS u aplikací Yii pomocí Let’s Encrypt
Yii lze nainstalovat dvěma způsoby , pomocí Skladatele správce balíčků nebo jeho instalací z archivního souboru. První je doporučený způsob, protože vám umožňuje instalovat nová rozšíření nebo aktualizovat Yii jediným příkazem.
Instalace Yii Framework přes Composer v Ubuntu
Pokud nemáte Skladatel nainstalován, můžete jej nainstalovat pomocí následujících příkazů, které později nainstalují Yii a spravovat jeho závislosti.
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ sudo chmod +x /usr/local/bin/composer
Po instalaci skladatele se přesuňte do adresáře /var/www/html/
který bude ukládat soubory vašich webových aplikací nebo webů, poté nainstalujte Yii balíček pomocí skladatele (nahraďte testovací projekt s názvem adresáře vaší webové aplikace).
$ cd /var/www/html/ $ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Spuštění Yii pomocí PHP Development Server
V tuto chvíli jste připraveni začít používat Yii rámec pro rozvoj. Chcete-li spustit vývojový server PHP, přejděte do testovacích projektů adresář (název vašeho adresáře by se měl lišit v závislosti na tom, co jste zadali v předchozím příkazu), poté spusťte vývojový server. Ve výchozím nastavení by měl běžet na portu 8080 .
$ cd /var/www/html/testproject/ $ php yii serve
Chcete-li spustit vývojový server na jiném portu, například na portu 5000 , použijte --port
příznak, jak je znázorněno.
$ php yii serve --port=5000
Poté otevřete webový prohlížeč a procházejte se pomocí následující adresy:
http://SERVER_IP:8080 OR http://SERVER_IP:5000
Spuštění projektu Yii v produkci pomocí NGINX HTTP serveru
Pro nasazení a přístup k Yii aplikace ve výrobě, vyžaduje server HTTP, jako je NGINX , Apache/HTTPD nebo jakýkoli jiný podporovaný software webového serveru.
Pro přístup k Yii aplikace bez zadání vašeho portu, musíte vytvořit požadovaný DNS A
záznam, který vaši doménu nasměruje na váš Yii aplikační server frameworku.
V této příručce si ukážeme, jak nasadit Yii aplikace s NGINX . Musíte tedy vytvořit konfigurační soubor virtuálního hostitele nebo bloku serveru pod /etc/nginx/sites-available/ adresář pro vaši aplikaci, takže NGINX může sloužit.
$ sudo vim /etc/nginx/sites-available/testproject.me.conf
Zkopírujte a vložte do něj následující konfiguraci (nahraďte testprojects.me
a www.testprojects.me
s názvem vaší domény). Určete také prostředky NGINX projde FastCGI požadavky na PHP-FPM , v tomto příkladu používáme soket 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; } }
Uložte soubor a zavřete jej.
Poté zkontrolujte NGINX konfigurační syntaxe pro správnost, pokud je OK, povolte novou aplikaci, jak je znázorněno:
$ sudo nginx -t $ sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Poté restartujte službu NGINX, abyste použili nové změny:
$ sudo systemctl restart nginx
Vraťte se do webového prohlížeče a procházejte pomocí názvu své domény.
http://testprojects.me OR http://www.testprojects.me
Povolte HTTPS u aplikací Yii pomocí Let’s Encrypt
Nakonec musíte povolit HTTPS na vašem webu. Můžete buď použít bezplatný certifikát Let’s Encrypt SSL/TLS (který je automatizovaný a uznávaný všemi moderními webovými prohlížeči), nebo získat certifikát od komerční CA.
Pokud se rozhodnete použít certifikát Let’s Encrypt, lze jej automaticky nainstalovat a nakonfigurovat pomocí certbota nářadí. Chcete-li nainstalovat certbot , musíte nainstalovat snapd, abyste jej mohli nainstalovat.
$ sudo snap install --classic certbot
Poté použijte certbot k získání a instalaci/konfiguraci vašeho bezplatného certifikátu SSL/TLS pro použití s webovým serverem NGINX (zadejte platný e-mail pro obnovení a dokončete instalaci podle pokynů):
$ sudo certbot --nginx
Nyní znovu přejděte do svého webového prohlížeče a potvrďte, že Yii aplikace nyní běží na HTTPS (pamatujte na HTTP by měl automaticky přesměrovat na HTTPS ).
http://testprojects.me OR http://www.testprojects.me
Další informace, jako je připojení vaší aplikace k databázi, najdete v dokumentaci rámce Yii na oficiálních webových stránkách projektu Yii. Vyzkoušejte to a podělte se o svůj názor na Yii nebo se zeptejte na jakékoli dotazy prostřednictvím formuláře pro zpětnou vazbu níže.