Kako instalirati Yii PHP Framework na Ubuntu
Yii (izgovara se Yee ili [ji:]) je besplatan i otvorenog koda, brz, visokoučinkovit, siguran, fleksibilan, ali pragmatičan, i učinkovit okvir za generičko web programiranje za razvoj svih vrsta web aplikacija pomoću PHP-a.
U ovom ćete članku naučiti kako instalirati najnoviju verziju Yii okvira u Ubuntu LTS (dugoročna podrška) izdanjima da biste započeli razvoj modernih PHP web aplikacija.
Podrška za platformu
Yii ima sljedeća izdanja Ubuntu LTS (dugoročna podrška):
- Ubuntu 20.04 LTS ("Focal")
- Ubuntu 18.04 LTS (“Bionic”)
- Ubuntu 16.04 LTS (“Xenial”)
Zahtjevi
- Pokrenuta instanca Ubuntu poslužitelja.
- LEMP stog s PHP 5.4.0 ili novijim.
- Skladatelj – upravitelj paketa na razini aplikacije za PHP.
Na ovoj stranici
- Instaliranje Yii Frameworka putem Composer-a u Ubuntu
- Pokretanje Yii-ja pomoću PHP razvojnog poslužitelja
- Pokretanje Yii projekta u produkciji pomoću NGINX HTTP poslužitelja
- Omogućite HTTPS na Yii aplikacijama koristeći Let’s Encrypt
Postoje dva načina da instalirate Yii, pomoću upravitelja paketa Composer ili instaliranjem iz arhivske datoteke. Prvi je preporučeni način jer vam omogućuje instaliranje novih proširenja ili ažuriranje Yii jednom naredbom.
Instaliranje Yii Frameworka putem Composer-a u Ubuntu
Ako nemate instaliran Composer, možete ga instalirati pomoću sljedećih naredbi, koje će kasnije instalirati Yii i upravljati njegovim ovisnostima.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Nakon što instalirate Composer, prijeđite u direktorij /var/www/html/
koji će pohraniti vaše web aplikacije ili datoteke web stranica, zatim instalirajte Yii paket pomoću kompozitor (zamijenite testproject nazivom direktorija vaše web aplikacije).
cd /var/www/html/
composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Pokretanje Yii-ja pomoću PHP razvojnog poslužitelja
U ovoj ste točki spremni početi koristiti okvir Yii za razvoj. Za pokretanje PHP razvojnog poslužitelja, prijeđite u direktorij testprojects (naziv vašeg direktorija trebao bi biti drugačiji ovisno o tome što ste naveli u prethodnoj naredbi), zatim pokrenite razvojni poslužitelj. Prema zadanim postavkama trebao bi raditi na portu 8080.
cd /var/www/html/testproject/
php yii serve
Za pokretanje razvojnog poslužitelja na drugom portu, na primjer, portu 5000, koristite oznaku --port
kao što je prikazano.
php yii serve --port=5000
Zatim otvorite svoj web preglednik i krećite se pomoću sljedeće adrese:
http://SERVER_IP:8080
OR
http://SERVER_IP:5000
Pokretanje Yii projekta u produkciji pomoću NGINX HTTP poslužitelja
Za implementaciju i pristup aplikaciji Yii u produkciji, potreban je HTTP poslužitelj kao što je NGINX, Apache/HTTPD ili bilo koji drugi podržani softver web poslužitelja.
Za pristup Yii aplikaciji bez upisivanja vašeg porta, morate stvoriti potreban DNS A
zapis kako biste usmjerili svoju domenu na vaš aplikacijski poslužitelj Yii okvira .
U ovom ćemo vodiču pokazati kako implementirati Yii aplikaciju s NGINX. Dakle, trebate stvoriti konfiguracijsku datoteku bloka virtualnog hosta ili poslužitelja u direktoriju /etc/nginx/sites-available/ za svoju aplikaciju kako bi je NGINX mogao poslužiti.
sudo vim /etc/nginx/sites-available/testproject.me.conf
Kopirajte i zalijepite sljedeću konfiguraciju u njega (zamijenite testprojects.me
i www.testprojects.me
nazivom vaše domene). Također odredite način na koji će NGINX proslijediti FastCGI zahtjeve PHP-FPM, u ovom primjeru koristimo UNIX utičnicu (/ pokreni/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;
}
}
Spremite datoteku i zatvorite je.
Zatim provjerite ispravnost konfiguracijske sintakse NGINX, ako je u redu, omogućite novu aplikaciju kao što je prikazano:
sudo nginx -t
sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Zatim ponovno pokrenite uslugu NGINX kako biste primijenili nove promjene:
sudo systemctl restart nginx
Vratite se na svoj web-preglednik i krećite se pomoću naziva svoje domene.
http://testprojects.me
OR
http://www.testprojects.me
Omogućite HTTPS na Yii aplikacijama koristeći Let’s Encrypt
Na kraju, trebate omogućiti HTTPS na svojoj web stranici. Možete koristiti besplatni Let’s Encrypt SSL/TLS certifikat (koji je automatiziran i prepoznat od strane svih modernih web preglednika) ili nabaviti certifikat od komercijalnog CA.
Ako odlučite koristiti Let’s Encrypt certifikat, on se može automatski instalirati i konfigurirati pomoću alata certbot. Da biste instalirali certbot, trebate instalirati snapd da biste ga instalirali.
sudo snap install --classic certbot
Zatim upotrijebite certbot za dobivanje i instaliranje/konfiguriranje vašeg besplatnog SSL/TLS certifikata za korištenje s NGINX web poslužiteljem (navedite valjanu e-poštu za obnovu i slijedite upute za dovršetak instalacije):
sudo certbot --nginx
Sada još jednom idite na svoj web preglednik kako biste potvrdili da vaša Yii aplikacija sada radi na HTTPS (zapamtite da bi HTTP trebao automatski preusmjeriti na HTTPS).
http://testprojects.me
OR
http://www.testprojects.me
Za više informacija kao što je povezivanje vaše aplikacije s bazom podataka, pogledajte dokumentaciju Yii okvira sa službene web stranice projekta Yii. Isprobajte ga i podijelite svoje mišljenje o Yii ili postavite bilo kakva pitanja putem donjeg obrasca za povratne informacije.