Hvernig á að setja upp Yii PHP Framework á Ubuntu
Yii (borið fram Yee eða [ji:]) er ókeypis og opinn uppspretta, hraður, afkastamikill, öruggur, sveigjanlegur en samt raunsærri og skilvirkur almennur vefforritunarrammi til að þróa alls kyns vefforrit með PHP.
Í þessari grein munt þú læra hvernig á að setja upp nýjustu útgáfuna af Yii ramma í Ubuntu LTS (langtímastuðningur) útgáfur til að byrja að þróa nútíma PHP vefforrit.
Yii er með eftirfarandi Ubuntu LTS (langtímastuðning) útgáfur:
- Ubuntu 20.04 LTS (\Focal)
- Ubuntu 18.04 LTS (\Bionic)
- Ubuntu 16.04 LTS (\Xenial)
- Kynjandi tilvik af Ubuntu þjóninum.
- LEMP stafla með PHP 5.4.0 eða nýrri.
- Tónskáld – pakkastjóri á forritastigi fyrir PHP.
Á þessari síðu
- Uppsetning Yii Framework í gegnum Composer í Ubuntu
- Að keyra Yii með PHP þróunarþjóni
- Að keyra Yii verkefni í framleiðslu með NGINX HTTP þjóni
- Virkjaðu HTTPS á Yii forritum með Let's Encrypt
Það eru tvær leiðir til að setja upp Yii, með því að nota Composer pakkastjórann eða með því að setja hann upp úr skjalasafni. Fyrri leiðin er ráðlögð leið, þar sem hún gerir þér kleift að setja upp nýjar viðbætur eða uppfæra Yii með einni skipun.
Ef þú ert ekki með Composer uppsett geturðu sett það upp með því að nota eftirfarandi skipanir, sem síðar setja upp Yii og stjórna ósjálfstæði þess.
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ sudo chmod +x /usr/local/bin/composer
Þegar þú hefur sett upp tónskáldið skaltu fara inn í möppuna /var/www/html/
sem mun geyma vefforritin þín eða vefsíðuskrár, settu síðan upp Yii pakkann með því að nota tónskáldið (skipta um prófverkefni með nafni þínu vefforritsskrá).
$ cd /var/www/html/ $ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Á þessum tímapunkti ertu tilbúinn til að byrja að nota Yii ramma fyrir þróun. Til að keyra PHP þróunarþjóninn, farðu inn í testprojects möppuna (möppuheiti þitt ætti að vera öðruvísi eftir því sem þú tilgreindir í fyrri skipun), ræstu síðan þróunarþjóninn. Sjálfgefið ætti það að keyra á port 8080.
$ cd /var/www/html/testproject/ $ php yii serve
Til að keyra þróunarþjóninn á annarri höfn, til dæmis, höfn 5000, notaðu --port
fánann eins og sýnt er.
$ php yii serve --port=5000
Opnaðu síðan vafrann þinn og farðu með því að nota eftirfarandi heimilisfang:
http://SERVER_IP:8080 OR http://SERVER_IP:5000
Til að dreifa og fá aðgang að Yii forriti í framleiðslu þarf HTTP netþjón eins og studdan vefþjónhugbúnað.
Til að fá aðgang að Yii forritinu án þess að slá inn gáttina þína þarftu að búa til nauðsynlega DNS A
skrá til að benda léninu þínu á Yii rammaforritaþjóninn þinn.
Fyrir þessa handbók munum við sýna hvernig á að dreifa Yii forriti með NGINX. Svo þú þarft að búa til sýndarhýsil eða stillingarskrá fyrir netþjónsblokk undir /etc/nginx/sites-available/ skránni fyrir forritið þitt svo að NGINX geti þjónað því.
$ sudo vim /etc/nginx/sites-available/testproject.me.conf
Afritaðu og límdu eftirfarandi uppsetningu í hana (skiptu testprojects.me
og www.testprojects.me
út fyrir lénið þitt). Tilgreindu einnig hvernig NGINX sendir FastCGI beiðnir til PHP-FPM, í þessu dæmi erum við að nota UNIX fals (/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; } }
Vistaðu skrána og lokaðu henni.
Athugaðu síðan setningafræði NGINX stillingar fyrir réttleika, ef það er í lagi, virkjaðu nýja forritið eins og sýnt er:
$ sudo nginx -t $ sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Endurræstu síðan NGINX þjónustuna til að beita nýju breytingunum:
$ sudo systemctl restart nginx
Farðu aftur í vafrann þinn og farðu með lénið þitt.
http://testprojects.me OR http://www.testprojects.me
Að lokum þarftu að virkja HTTPS á vefsíðunni þinni. Þú getur annað hvort notað ókeypis Let's Encrypt SSL/TLS vottorð (sem er sjálfvirkt og viðurkennt af öllum nútíma vöfrum) eða fengið vottorð frá viðskipta-CA.
Ef þú ákveður að nota Let's Encrypt vottorð er hægt að setja það sjálfkrafa upp og stilla það með certbot tólinu. Til að setja upp certbot þarftu að setja upp snapd til að setja það upp.
$ sudo snap install --classic certbot
Notaðu síðan certbot til að fá og setja upp/stilla ókeypis SSL/TLS vottorðið þitt til notkunar með NGINX vefþjóni (gefðu upp gildan tölvupóst til endurnýjunar og fylgdu leiðbeiningunum til að ljúka uppsetningunni):
$ sudo certbot --nginx
Farðu nú í vafrann þinn einu sinni enn til að staðfesta að Yii forritið þitt sé nú keyrt á HTTPS (mundu að HTTP ætti sjálfkrafa að vísa til HTTPS).
http://testprojects.me OR http://www.testprojects.me
Fyrir frekari upplýsingar eins og að tengja forritið þitt við gagnagrunn, sjá Yii rammaskjölin frá opinberu Yii verkefnisvefsíðunni. Prófaðu það og deildu hugsunum þínum um Yii eða spurðu spurninga í gegnum athugasemdareyðublaðið hér að neðan.