Kā instalēt Yii PHP Framework uz Ubuntu
Yii (izrunā Yee vai [ji:]) ir bezmaksas un atvērta pirmkoda, ātrs, augstas veiktspējas, drošs, elastīgs, tomēr pragmatisks un efektīvs vispārējs tīmekļa programmēšanas ietvars visu veidu tīmekļa lietojumprogrammu izstrādei, izmantojot PHP.
Šajā rakstā jūs uzzināsiet, kā instalēt jaunāko Yii ietvara versiju Ubuntu LTS (ilgtermiņa atbalsts) laidienos, lai sāktu attīstīt modernas PHP tīmekļa lietojumprogrammas.
Yii pieder šādi Ubuntu LTS (ilgtermiņa atbalsts) izlaidumi:
- Ubuntu 20.04 LTS (“Focal”)
- Ubuntu 18.04 LTS (“Bionic”)
- Ubuntu 16.04 LTS (“Xenial”)
- darbojas Ubuntu servera instance.
- LEMP kaudze ar PHP 5.4.0 vai jaunāku versiju.
- Komponists - PHP lietojumprogrammu līmeņa pakotņu pārvaldnieks.
Šajā lapā
- Yii Framework instalēšana, izmantojot komponistu Ubuntu
- Yii palaišana, izmantojot PHP Development Server
- Yii projekta palaišana ražošanā, izmantojot NGINX HTTP serveri
- Iespējojiet HTTPS Yii lietojumprogrammās, izmantojot Let’s Encrypt
Ir divi veidi, kā instalēt Yii, izmantojot Composer pakotņu pārvaldnieku vai instalējot to no arhīva faila. Pirmais ir ieteicamais veids, jo tas ļauj instalēt jaunus paplašinājumus vai atjaunināt Yii ar vienu komandu.
Ja jums nav instalēts komponists, varat to instalēt, izmantojot šādas komandas, kas vēlāk instalēs Yii un pārvaldīs tā atkarības.
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ sudo chmod +x /usr/local/bin/composer
Kad komponists ir instalēts, pārejiet uz direktoriju /var/www/html/
, kurā tiks glabātas jūsu tīmekļa lietojumprogrammas vai vietņu faili, pēc tam instalējiet Yii pakotni, izmantojot komponistu (aizstājiet testproject ar sava tīmekļa lietojumprogrammas direktorijā).
$ cd /var/www/html/ $ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Šajā brīdī jūs esat gatavs sākt izmantot Yii sistēmu izstrādei. Lai palaistu PHP izstrādes serveri, pārejiet uz testprojects direktoriju (direktorija nosaukumam jābūt atšķirīgam atkarībā no iepriekšējā komandā norādītā), pēc tam palaidiet izstrādes serveri. Pēc noklusējuma tam vajadzētu darboties 8080 portā.
$ cd /var/www/html/testproject/ $ php yii serve
Lai palaistu izstrādes serveri citā, piemēram, 5000 portā, izmantojiet karodziņu --port
, kā parādīts.
$ php yii serve --port=5000
Pēc tam atveriet tīmekļa pārlūkprogrammu un pārvietojieties, izmantojot šādu adresi:
http://SERVER_IP:8080 OR http://SERVER_IP:5000
Lai ražošanā izvietotu un piekļūtu Yii lietojumprogrammai, nepieciešams HTTP serveris, piemēram, atbalstīta tīmekļa servera programmatūra.
Lai piekļūtu Yii lietojumprogrammai, neievadot portu, jums jāizveido nepieciešamais DNS A
ieraksts, lai novirzītu domēnu uz Yii ietvara lietojumprogrammas serveri.
Šajā rokasgrāmatā mēs parādīsim, kā izvietot Yii lietojumprogrammu ar NGINX. Tātad, jums ir jāizveido virtuāls resursdatora vai servera bloka konfigurācijas fails jūsu lietojumprogrammas direktorijā/etc/nginx/sites-available/directory, lai NGINX varētu to apkalpot.
$ sudo vim /etc/nginx/sites-available/testproject.me.conf
Kopējiet un ielīmējiet tajā šādu konfigurāciju (aizstājiet testprojects.me
un www.testprojects.me
ar savu domēna nosaukumu). Norādiet arī līdzekļus, kā NGINX pārsūtīs FastCGI pieprasījumus uz PHP-FPM, šajā piemērā mēs izmantojam UNIX ligzdu (/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; } }
Saglabājiet failu un aizveriet to.
Pēc tam pārbaudiet NGINX konfigurācijas sintakses pareizību, ja tā ir Labi, iespējojiet jauno lietojumprogrammu, kā parādīts:
$ sudo nginx -t $ sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Pēc tam restartējiet pakalpojumu NGINX, lai piemērotu jaunās izmaiņas:
$ sudo systemctl restart nginx
Atgriezieties savā tīmekļa pārlūkprogrammā un pārvietojieties, izmantojot savu domēna vārdu.
http://testprojects.me OR http://www.testprojects.me
Visbeidzot, jūsu vietnē ir jāiespējo HTTPS. Varat izmantot bezmaksas Let’s Encrypt SSL/TLS sertifikātu (kuru automatizē un atzīst visas mūsdienu tīmekļa pārlūkprogrammas), vai arī iegūt sertifikātu no komerciālās SI.
Ja nolemjat izmantot Let’s Encrypt sertifikātu, to var automātiski instalēt un konfigurēt, izmantojot certbot rīku. Lai instalētu certbot, jums jāinstalē snapd, lai to instalētu.
$ sudo snap install --classic certbot
Pēc tam izmantojiet certbot, lai iegūtu un instalētu/konfigurētu savu bezmaksas SSL/TLS sertifikātu lietošanai ar NGINX tīmekļa serveri (atjaunošanai norādiet derīgu e-pasta ziņojumu un izpildiet norādījumus, lai pabeigtu instalēšanu):
$ sudo certbot --nginx
Tagad vēlreiz dodieties uz tīmekļa pārlūkprogrammu, lai apstiprinātu, ka jūsu Yii lietojumprogramma tagad darbojas ar HTTPS (atcerieties, ka HTTP automātiski jāpāradresē uz HTTPS).
http://testprojects.me OR http://www.testprojects.me
Lai iegūtu papildinformāciju, piemēram, par lietojumprogrammas pievienošanu datu bāzei, skatiet Yii pamatdokumentāciju no oficiālās Yii projekta vietnes. Izmēģiniet to un dalieties savās domās par Yii vai uzdodiet jautājumus, izmantojot zemāk esošo atsauksmju veidlapu.