Kif Tinstalla Yii PHP Framework fuq Ubuntu
Yii (pronunzjata Yee jew [ji:]) huwa qafas ta' programmazzjoni ġenerika tal-web b'xejn u miftuħ, veloċi, ta' prestazzjoni għolja, sikur, flessibbli iżda pragmatiku, u effiċjenti għall-iżvilupp ta' kull tip ta' applikazzjonijiet tal-web bl-użu tal-PHP.
F'dan l-artikolu, int se titgħallem kif tinstalla l-aħħar verżjoni tal-qafas Yii fl-Ubuntu LTS (appoġġ fit-tul) rilaxxi biex tibda tiżviluppa applikazzjonijiet moderni tal-Web PHP.
Yii għandu r-rilaxxi ta' Ubuntu LTS (appoġġ fit-tul) li ġejjin:
- Ubuntu 20.04 LTS (Fokali)
- Ubuntu 18.04 LTS (Bionic)
- Ubuntu 16.04 LTS (Xenial)
- Istanza li taħdem tas-server Ubuntu.
- Munzell LEMP b'PHP 5.4.0 jew ogħla.
- Kompożitur – maniġer tal-pakkett fil-livell ta' applikazzjoni għall-PHP.
Fuq din il-paġna
- Installazzjoni ta' Yii Framework permezz ta' Composer f'Ubuntu
- Tmexxi Yii billi tuża PHP Development Server
- Tmexxi Proġett Yii fil-Produzzjoni Bl-użu ta' Server HTTP NGINX
- Ippermetti HTTPS fuq Applikazzjonijiet Yii billi tuża Let's Encrypt
Hemm żewġ modi kif tinstalla Yii, billi tuża l-maniġer tal-pakkett tal-Kompożitur jew billi tinstallah minn fajl tal-arkivju. L-ewwel huwa l-mod rakkomandat, peress li jippermettilek tinstalla estensjonijiet ġodda jew taġġorna Yii bi kmand wieħed.
Jekk ma jkollokx il-Kompożitur installat, tista 'tinstallah billi tuża l-kmandi li ġejjin, li aktar tard jinstallaw Yii u jimmaniġġjaw id-dipendenzi tiegħu.
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ sudo chmod +x /usr/local/bin/composer
Ladarba tkun installat il-kompożitur, imxi fid-direttorju /var/www/html/
li se jaħżen l-applikazzjonijiet tal-web jew il-fajls tal-websajts tiegħek, imbagħad installa l-pakkett Yii billi tuża l-kompożitur (issostitwixxi l-proġett tat-test bl-isem tal-kompożitur tiegħek). direttorju tal-applikazzjoni tal-web).
$ cd /var/www/html/ $ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
F'dan il-punt, inti lest biex tibda tuża l-qafas Yii għall-iżvilupp. Biex tħaddem is-server tal-iżvilupp PHP, mur fid-direttorju testprojects (l-isem tad-direttorju tiegħek għandu jkun differenti skont dak li speċifikajt fil-kmand preċedenti), imbagħad iniedi s-server tal-iżvilupp. B'mod awtomatiku, għandu jaħdem fuq il-port 8080.
$ cd /var/www/html/testproject/ $ php yii serve
Biex tħaddem is-server tal-iżvilupp fuq port ieħor, pereżempju, port 5000, uża l-bandiera --port
kif muri.
$ php yii serve --port=5000
Imbagħad iftaħ il-web browser tiegħek u naviga billi tuża l-indirizz li ġej:
http://SERVER_IP:8080 OR http://SERVER_IP:5000
Biex tuża u taċċessa applikazzjoni Yii fil-produzzjoni, teħtieġ server HTTP bħal softwer ta 'server tal-Web appoġġjat.
Biex taċċessa l-applikazzjoni Yii mingħajr ma ttajpja l-port tiegħek, trid toħloq ir-rekord A
DNS meħtieġ biex tipponta d-dominju tiegħek lejn is-server tal-applikazzjoni tal-qafas Yii tiegħek.
Għal din il-gwida, se nuru kif tuża applikazzjoni Yii b'NGINX. Għalhekk, trid toħloq host virtwali jew fajl tal-konfigurazzjoni tal-blokk tas-server taħt id-direttorju /etc/nginx/sites-available/ għall-applikazzjoni tiegħek sabiex NGINX ikun jista’ jservih.
$ sudo vim /etc/nginx/sites-available/testproject.me.conf
Ikkopja u waħħal il-konfigurazzjoni li ġejja fiha (issostitwixxi testprojects.me
u www.testprojects.me
bl-isem tad-dominju tiegħek). Speċifika wkoll il-mezzi li NGINX se jgħaddi t-talbiet FastCGI lil PHP-FPM, f'dan l-eżempju, qed nużaw 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; } }
Issejvja l-fajl u agħlaqha.
Imbagħad iċċekkja s-sintassi tal-konfigurazzjoni NGINX għall-korrettezza, jekk hija Ok, ppermetti l-applikazzjoni l-ġdida kif muri:
$ sudo nginx -t $ sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Imbagħad erġa ibda s-servizz NGINX biex tapplika l-bidliet il-ġodda:
$ sudo systemctl restart nginx
Mur lura għall-web browser tiegħek u naviga bl-isem tad-dominju tiegħek.
http://testprojects.me OR http://www.testprojects.me
Fl-aħħar nett, jeħtieġ li tattiva HTTPS fuq il-websajt tiegħek. Tista 'jew tuża ċertifikat Let's Encrypt SSL/TLS b'xejn (li huwa awtomatizzat u rikonoxxut mill-web browsers moderni kollha) jew takkwista ċertifikat minn CA kummerċjali.
Jekk tiddeċiedi li tuża ċertifikat Let's Encrypt, jista' jiġi installat u kkonfigurat awtomatikament billi tuża l-għodda certbot. Biex tinstalla certbot, għandek bżonn tinstalla snapd biex tinstallah.
$ sudo snap install --classic certbot
Imbagħad uża certbot biex tikseb u tinstalla/konfigura ċ-ċertifikat SSL/TLS b'xejn tiegħek għall-użu mas-server tal-web NGINX (tipprovdi email valida għat-tiġdid u segwi l-istruzzjonijiet biex tlesti l-installazzjoni):
$ sudo certbot --nginx
Issa mur fil-web browser tiegħek għal darba oħra biex tikkonferma li l-applikazzjoni Yii tiegħek issa qed taħdem fuq HTTPS (ftakar li HTTP għandu awtomatikament jidderieġi mill-ġdid lejn HTTPS).
http://testprojects.me OR http://www.testprojects.me
Għal aktar informazzjoni bħall-konnessjoni tal-applikazzjoni tiegħek ma 'database, ara d-dokumentazzjoni tal-qafas Yii mill-websajt uffiċjali tal-proġett Yii. Ipprovaha u aqsam il-ħsibijiet tiegħek dwar Yii jew staqsi xi mistoqsijiet permezz tal-formola ta' feedback hawn taħt.