Jak nainstalovat Yii PHP Framework na Ubuntu
Yii (vyslovováno Yee nebo [ji:]) je bezplatný a open source, rychlý, vysoce výkonný, bezpečný, flexibilní a přitom pragmatický, a efektivní generický 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 ve verzích Ubuntu LTS (long-term support), abyste mohli začít vyvíjet moderní webové aplikace PHP.
Podpora platformy
Yii má následující vydání Ubuntu LTS (dlouhodobá podpora):
- Ubuntu 20.04 LTS („Focal“)
- Ubuntu 18.04 LTS („Bionic“)
- Ubuntu 16.04 LTS („Xenial“)
Požadavky
- Běžící 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 straně
- Instalace Yii Framework přes Composer v Ubuntu
- Spuštění Yii pomocí PHP Development Server
- Spuštění projektu Yii v produkci pomocí NGINX HTTP serveru
- Povolte HTTPS v aplikacích Yii pomocí Let’s Encrypt
Yii lze nainstalovat dvěma způsoby, pomocí správce balíčků Composer nebo 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 nainstalovaný Composer, můžete jej nainstalovat pomocí následujících příkazů, které později nainstalují Yii a spravují 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/
, ve kterém budou uloženy soubory vašich webových aplikací nebo webových stránek, a poté nainstalujte balíček Yii pomocí composer (testproject nahraďte 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 rámec Yii pro vývoj. Chcete-li spustit vývojový server PHP, přejděte do adresáře testprojects (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 portu 5000, použijte příznak --port
, jak je znázorněno.
php yii serve --port=5000
Poté otevřete webový prohlížeč a procházejte 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
K nasazení a přístupu k aplikaci Yii v produkčním prostředí je zapotřebí server HTTP, jako je NGINX, Apache/HTTPD nebo jakýkoli jiný podporovaný software webového serveru.
Chcete-li přistupovat k aplikaci Yii bez zadávání portu, musíte vytvořit požadovaný záznam DNS A
, který vaši doménu nasměruje na váš aplikační server frameworku Yii. .
V této příručce si ukážeme, jak nasadit aplikaci Yii pomocí NGINX. Musíte tedy vytvořit konfigurační soubor virtuálního hostitele nebo bloku serveru v adresáři /etc/nginx/sites-available/ pro vaši aplikaci, aby ji mohl NGINX obsluhovat.
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
názvem vaší domény). Určete také způsob, jakým bude NGINX předat požadavky FastCGI do 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 správnost syntaxe konfigurace NGINX, pokud je v pořádku, 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 v aplikacích Yii pomocí Let’s Encrypt
Nakonec musíte na svém webu povolit HTTPS. 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í nástroje certbot. Chcete-li nainstalovat certbot, musíte nainstalovat snapd.
sudo snap install --classic certbot
Poté pomocí certbota získejte a nainstalujte/nakonfigurujte svůj bezplatný certifikát 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 webového prohlížeče a ověřte, že vaše aplikace Yii nyní běží na HTTPS (nezapomeňte, že HTTP by mělo 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é názory na Yii nebo se zeptejte na jakékoli otázky prostřednictvím formuláře pro zpětnou vazbu níže.