Kuidas installida Yii PHP raamistik Ubuntu
Yii (hääldatakse Yee või [ji:]) on tasuta ja avatud lähtekoodiga, kiire, suure jõudlusega, turvaline, paindlik, kuid samas pragmaatiline ja tõhus üldine veebiprogrammeerimise raamistik igasuguste veebirakenduste arendamiseks PHP abil.
Sellest artiklist saate teada, kuidas installida Yii raamistiku uusim versioon Ubuntu LTS (pikaajaline tugi) väljaannetesse, et alustada kaasaegsete PHP veebirakenduste väljatöötamist.
Yii-l on järgmised Ubuntu LTS (pikaajaline tugi) väljaanded:
- Ubuntu 20.04 LTS („Focal“)
- Ubuntu 18.04 LTS („Bionic“)
- Ubuntu 16.04 LTS („Xenial“)
- Ubuntu serveri töötav eksemplar.
- LEMP-i virn PHP 5.4.0 või uuemaga.
- helilooja - PHP rakendustaseme paketihaldur.
Sellel lehel
- Yii Framework'i installimine Ubuntu Composeri kaudu
- Yii käitamine PHP arendusserveri abil
- Yii projekti käitamine tootmises NGINX HTTP serveri abil
- Lubage HTTPS Yii rakendustes, kasutades Let’s Encrypt
Yii installimiseks on kaks võimalust, kasutades Composeri paketihaldurit või installides selle arhiivifailist. Esimene on soovitatav viis, kuna see võimaldab teil ühe käsu abil installida uusi laiendusi või värskendada Yii.
Kui teil pole Composerit installitud, saate selle installida järgmiste käskude abil, mis hiljem installivad Yii ja haldavad selle sõltuvusi.
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ sudo chmod +x /usr/local/bin/composer
Kui olete helilooja installinud, minge kataloogi /var/www/html/
, mis salvestab teie veebirakendused või veebisaidi failid, seejärel installige helilooja abil Yii pakett (asendage testproject oma veebirakenduse kataloog).
$ cd /var/www/html/ $ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Siinkohal olete valmis arendamiseks kasutama Yii raamistikku. PHP arendusserveri käivitamiseks minge testprojects kataloogi (teie kataloogi nimi peaks olema erinev, sõltuvalt eelmises käsus määratletust), seejärel käivitage arendusserver. Vaikimisi peaks see töötama pordis 8080.
$ cd /var/www/html/testproject/ $ php yii serve
Arendusserveri käitamiseks mõnes teises pordis, näiteks pordis 5000, kasutage lippu --port
, nagu näidatud.
$ php yii serve --port=5000
Seejärel avage oma veebibrauser ja navigeerige järgmise aadressi abil:
http://SERVER_IP:8080 OR http://SERVER_IP:5000
Tootmises oleva Yii-rakenduse juurutamiseks ja sellele juurdepääsemiseks on vaja HTTP-serverit, näiteks toetatud veebiserveri tarkvara.
Yii-rakendusele juurdepääsuks ilma porti sisestamata peate looma nõutava DNS-i A
-kirje, et suunata oma domeen Yii-raamistiku rakendusserverisse.
Selle juhendi jaoks näitame, kuidas YIN-rakendust NGINX-iga juurutada. Niisiis, peate oma rakenduse jaoks kataloogi/etc/nginx/sites-available/kataloogi alla looma virtuaalse hosti- või serveribloki konfiguratsioonifaili, et NGINX saaks seda teenindada.
$ sudo vim /etc/nginx/sites-available/testproject.me.conf
Kopeerige ja kleepige sinna järgmine konfiguratsioon (asendage testprojects.me
ja www.testprojects.me
oma domeeninimega). Täpsustage ka vahendid, mille abil NGINX edastab FastCGI päringud PHP-FPM-ile. Selles näites kasutame UNIX-i soklit (/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; } }
Salvestage fail ja sulgege see.
Seejärel kontrollige NGINX-i konfiguratsioonisüntaksi õigsust, kui see on Ok, lubage uus rakendus, nagu näidatud:
$ sudo nginx -t $ sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Seejärel taaskäivitage NGINX-i teenus uute muudatuste rakendamiseks:
$ sudo systemctl restart nginx
Minge tagasi oma veebibrauserisse ja navigeerige oma domeeninimega.
http://testprojects.me OR http://www.testprojects.me
Lõpuks peate oma veebisaidil lubama HTTPS-i. Võite kasutada tasuta Let’s Encrypt SSL/TLS-i sertifikaati (mille kõik tänapäevased veebibrauserid automatiseerivad ja tunnustavad) või hankida sertifikaadi kaubanduslikult CA-lt.
Kui otsustate kasutada Let’s Encrypt sertifikaati, saab selle certboti tööriista abil automaatselt installida ja konfigureerida. Certboti installimiseks peate selle installimiseks installima snapdi.
$ sudo snap install --classic certbot
Seejärel kasutage certboti, et hankida ja installida/konfigureerida tasuta SSL/TLS-sertifikaat NGINX-veebiserveriga kasutamiseks (esitage kehtiv e-posti aadress uuendamiseks ja järgige installimise lõpuleviimiseks kuvatavaid juhiseid):
$ sudo certbot --nginx
Nüüd minge veel kord oma veebibrauserisse ja veenduge, et teie Yii rakendus töötab nüüd HTTPS-is (pidage meeles, et HTTP peaks automaatselt HTTPS-i suunama).
http://testprojects.me OR http://www.testprojects.me
Lisateavet, näiteks rakenduse ühendamine andmebaasiga, leiate Yii raamistiku dokumentatsioonist ametlikult Yii projekti veebisaidilt. Proovige ja jagage oma mõtteid Yii kohta või küsige küsimusi allpool oleva tagasisidevormi kaudu.