Kuinka asentaa Yii PHP Framework Ubuntuun
Yii (lausutaan Yee tai [ji:]) on ilmainen ja avoimen lähdekoodin nopea, tehokas, turvallinen, joustava mutta käytännöllinen ja tehokas yleinen web-ohjelmointikehys kaikenlaisten PHP-sovellusten kehittämiseen.
Tässä artikkelissa opit asentamaan Yii-kehyksen uusimman version Ubuntu LTS (pitkäaikainen tuki) -julkaisuihin, jotta voit aloittaa nykyaikaisten PHP-verkkosovellusten kehittämisen.
Alustan tuki
Yii sisältää seuraavat Ubuntu LTS (pitkäaikainen tuki) -julkaisut:
- Ubuntu 20.04 LTS ("Focal")
- Ubuntu 18.04 LTS ("Bionic")
- Ubuntu 16.04 LTS ("Xenial")
Vaatimukset
- Ubuntu-palvelimen käynnissä oleva esiintymä.
- LEMP-pino, jossa on PHP 5.4.0 tai uudempi.
- A Composer – sovellustason paketinhallinta PHP:lle.
Tällä sivulla
- Yii Frameworkin asentaminen Composerin kautta Ubuntuun
- Yii:n käyttäminen PHP-kehityspalvelimella
- Yii-projektin suorittaminen tuotannossa NGINX HTTP -palvelimen avulla
- Ota HTTPS käyttöön Yii-sovelluksissa Let’s Encryptin avulla
On kaksi tapaa asentaa Yii: käyttämällä Composer-pakettienhallintaa tai asentamalla se arkistotiedostosta. Edellinen on suositeltava tapa, koska sen avulla voit asentaa uusia laajennuksia tai päivittää Yii yhdellä komennolla.
Yii Frameworkin asentaminen Composerin kautta Ubuntuun
Jos sinulla ei ole Composeria asennettuna, voit asentaa sen seuraavilla komennoilla, jotka asentavat myöhemmin Yiin ja hallitsevat sen riippuvuuksia.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Kun olet asentanut säveltäjän, siirry hakemistoon /var/www/html/
, joka tallentaa verkkosovellustesi tai verkkosivustojesi tiedostot, ja asenna sitten Yii-paketti käyttämällä >säveltäjä (korvaa testprojekti verkkosovelluksesi hakemiston nimellä).
cd /var/www/html/
composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Yii:n käyttäminen PHP-kehityspalvelimella
Tässä vaiheessa olet valmis aloittamaan Yii-kehityskehyksen käytön. Suorita PHP-kehityspalvelin siirtymällä testprojects-hakemistoon (hakemiston nimesi tulee olla erilainen sen mukaan, mitä määritit edellisessä komennossa), ja käynnistä sitten kehityspalvelin. Oletuksena sen pitäisi toimia portissa 8080.
cd /var/www/html/testproject/
php yii serve
Jos haluat käyttää kehityspalvelinta toisessa portissa, esimerkiksi portissa 5000, käytä --port
-lippua kuvan mukaisesti.
php yii serve --port=5000
Avaa sitten verkkoselain ja navigoi käyttämällä seuraavaa osoitetta:
http://SERVER_IP:8080
OR
http://SERVER_IP:5000
Yii-projektin suorittaminen tuotannossa NGINX HTTP -palvelimen avulla
Yii-sovelluksen käyttöönotto ja käyttäminen tuotannossa edellyttää HTTP-palvelinta, kuten NGINX, Apache/HTTPD tai mikä tahansa muu tuettu verkkopalvelinohjelmisto.
Jotta voit käyttää Yii-sovellusta kirjoittamatta porttiasi, sinun on luotava tarvittava DNS A
-tietue, joka osoittaa verkkotunnuksesi Yii-kehyssovelluspalvelimellesi. .
Tässä oppaassa näytämme, kuinka Yii-sovellus otetaan käyttöön NGINX-sovelluksella. Sinun on siis luotava sovelluksellesi virtuaalinen isäntä- tai palvelinlohkon määritystiedosto /etc/nginx/sites-available/-hakemistoon, jotta NGINX voi palvella sitä.
sudo vim /etc/nginx/sites-available/testproject.me.conf
Kopioi ja liitä siihen seuraavat asetukset (korvaa testprojects.me
ja www.testprojects.me
verkkotunnuksellasi). Määritä myös keinot NGINX välittää FastCGI-pyynnöt PHP-FPM:lle, tässä esimerkissä käytämme UNIX-liitäntää (/ 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;
}
}
Tallenna tiedosto ja sulje se.
Tarkista sitten NGINX-määrityssyntaksin oikeellisuus. Jos se on OK, ota uusi sovellus käyttöön kuvan osoittamalla tavalla:
sudo nginx -t
sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Käynnistä sitten NGINX-palvelu uudelleen ottaaksesi käyttöön uudet muutokset:
sudo systemctl restart nginx
Palaa verkkoselaimeen ja navigoi verkkotunnuksesi nimellä.
http://testprojects.me
OR
http://www.testprojects.me
Ota HTTPS käyttöön Yii-sovelluksissa Let’s Encryptin avulla
Lopuksi sinun on otettava HTTPS käyttöön verkkosivustossasi. Voit joko käyttää ilmaista Let’s Encrypt SSL/TLS -varmennetta (joka on automatisoitu ja kaikkien nykyaikaisten verkkoselaimien tunnistama) tai hankkia varmenteen kaupalliselta CA:lta.
Jos päätät käyttää Let’s Encrypt -varmennetta, se voidaan asentaa ja määrittää automaattisesti certbot-työkalulla. Jos haluat asentaa certbotin, sinun on asennettava snapd sen asentamiseksi.
sudo snap install --classic certbot
Käytä sitten certbotia hankkiaksesi ja asentaaksesi/määrittääksesi ilmaisen SSL/TLS-varmenteen käytettäväksi NGINX-verkkopalvelimen kanssa (toimita voimassa oleva uusintasähköpostiosoite ja suorita asennus loppuun seuraamalla ohjeita):
sudo certbot --nginx
Siirry nyt vielä kerran verkkoselaimeen ja varmista, että Yii-sovelluksesi toimii nyt HTTPS:ssä (muista, että HTTP ohjaa automaattisesti osoitteeseen >HTTPS).
http://testprojects.me
OR
http://www.testprojects.me
Lisätietoja, kuten sovelluksen yhdistäminen tietokantaan, on Yii-kehyksen dokumentaatiossa Yii-projektin viralliselta verkkosivustolta. Kokeile ja jaa ajatuksesi Yiistä tai esitä kysymyksiä alla olevan palautelomakkeen kautta.