A Yii PHP Framework telepítése Ubuntun
A Yii (ejtsd: Yee vagy [ji:]) egy ingyenes, nyílt forráskódú, gyors, nagy teljesítményű, biztonságos, rugalmas, mégis pragmatikus, és hatékony általános webprogramozási keretrendszer mindenféle webalkalmazás fejlesztéséhez PHP használatával.
Ebből a cikkből megtudhatja, hogyan telepítheti a Yii keretrendszer legújabb verzióját az Ubuntu LTS (hosszú távú támogatás) kiadásaiba a modern PHP webalkalmazások fejlesztésének megkezdéséhez.
Platform támogatás
A Yii a következő Ubuntu LTS (hosszú távú támogatás) kiadásokat tartalmazza:
- Ubuntu 20.04 LTS („Fokális”)
- Ubuntu 18.04 LTS („Bionic”)
- Ubuntu 16.04 LTS („Xenial”)
Követelmények
- Az Ubuntu szerver futó példánya.
- LEMP verem PHP 5.4.0 vagy újabb verzióval.
- A Composer – egy alkalmazás szintű csomagkezelő a PHP számára.
Ezen az oldalon
- A Yii Framework telepítése a Composeren keresztül az Ubuntuban
- A Yii futtatása PHP Development Server használatával
- Yii Project futtatása termelésben NGINX HTTP-kiszolgáló használatával
- Engedélyezze a HTTPS-t a Yii alkalmazásokban a Let’s Encrypt használatával
A Yii telepítésének két módja van: a Composer csomagkezelő használatával vagy archív fájlból történő telepítéssel. Az előbbi az ajánlott mód, mivel lehetővé teszi új bővítmények telepítését vagy a Yii frissítését egyetlen paranccsal.
A Yii Framework telepítése a Composeren keresztül az Ubuntuban
Ha nincs telepítve a Composer, akkor a következő parancsokkal telepítheti, amelyek később telepítik a Yii-t és kezelik a függőségeit.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Miután telepítette a zeneszerzőt, lépjen a /var/www/html/
könyvtárba, amely a webalkalmazások vagy webhelyek fájljait fogja tárolni, majd telepítse a Yii csomagot a >szerző (a tesztprojekt helyére cserélje ki webalkalmazása címtárának nevét).
cd /var/www/html/
composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
A Yii futtatása PHP Development Server használatával
Ezen a ponton készen áll a Yii keretrendszer használatára a fejlesztéshez. A PHP fejlesztői kiszolgáló futtatásához lépjen be a testprojects könyvtárba (a könyvtár nevének eltérőnek kell lennie attól függően, hogy mit adott meg az előző parancsban), majd indítsa el a fejlesztőkiszolgálót. Alapértelmezés szerint a 8080 porton kell futnia.
cd /var/www/html/testproject/
php yii serve
Ha a fejlesztői kiszolgálót egy másik porton, például az 5000-es porton szeretné futtatni, használja a --port
jelzőt az ábra szerint.
php yii serve --port=5000
Ezután nyissa meg webböngészőjét, és navigáljon a következő címen:
http://SERVER_IP:8080
OR
http://SERVER_IP:5000
Yii Project futtatása termelésben NGINX HTTP-kiszolgáló használatával
A Yii alkalmazás éles üzembe helyezéséhez és eléréséhez HTTP-kiszolgálóra van szükség, például NGINX-re, Apache-ra/HTTPD-re vagy bármely más támogatott webszerver-szoftverre.
Ha a Yii alkalmazást a port beírása nélkül szeretné elérni, létre kell hoznia a szükséges DNS A
rekordot, amely a domainjét a Yii keretrendszer alkalmazásszerverére irányítja. .
Ebben az útmutatóban bemutatjuk, hogyan telepíthet Yii alkalmazást az NGINX segítségével. Tehát létre kell hoznia egy virtuális gazdagép- vagy szerverblokk konfigurációs fájlt az alkalmazáshoz az /etc/nginx/sites-available/ könyvtárban, hogy az NGINX ki tudja szolgálni azt.
sudo vim /etc/nginx/sites-available/testproject.me.conf
Másolja ki és illessze be a következő konfigurációt (a testprojects.me
és a www.testprojects.me
helyére cserélje ki a domain nevét). Adja meg azt is, hogy az NGINX hogyan továbbítja a FastCGI kéréseket a PHP-FPM-nek, ebben a példában UNIX socketet használunk (/ 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;
}
}
Mentse el a fájlt és zárja be.
Ezután ellenőrizze az NGINX konfigurációs szintaxis helyességét, ha rendben van, engedélyezze az új alkalmazást a képen látható módon:
sudo nginx -t
sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Ezután indítsa újra az NGINX szolgáltatást az új módosítások alkalmazásához:
sudo systemctl restart nginx
Menjen vissza webböngészőjébe, és navigáljon a domain nevével.
http://testprojects.me
OR
http://www.testprojects.me
Engedélyezze a HTTPS-t a Yii alkalmazásokban a Let’s Encrypt használatával
Végül engedélyeznie kell a HTTPS-t webhelyén. Használhat ingyenes Let’s Encrypt SSL/TLS tanúsítványt (amelyet minden modern webböngésző automatizált és felismer), vagy szerezhet be egy tanúsítványt egy kereskedelmi hitelesítésszolgáltatótól.
Ha úgy dönt, hogy Let’s Encrypt tanúsítványt használ, az automatikusan telepíthető és konfigurálható a certbot eszközzel. A certbot telepítéséhez telepítenie kell a snapd programot.
sudo snap install --classic certbot
Ezután a certbot segítségével szerezze be és telepítse/konfigurálja az ingyenes SSL/TLS-tanúsítványt az NGINX webszerverrel való használatra (adjon meg egy érvényes e-mailt a megújításhoz, és kövesse az utasításokat a telepítés befejezéséhez):
sudo certbot --nginx
Most még egyszer lépjen a webböngészőjébe, és ellenőrizze, hogy a Yii alkalmazás már fut-e HTTPS-en (ne feledje, hogy a HTTP automatikusan átirányít a következőre: >HTTPS).
http://testprojects.me
OR
http://www.testprojects.me
További információkért, például az alkalmazás adatbázishoz való csatlakoztatásáért, tekintse meg a Yii keretrendszer dokumentációját a Yii projekt hivatalos webhelyén. Próbálja ki, és ossza meg gondolatait a Yiivel kapcsolatban, vagy tegye fel kérdéseit az alábbi visszajelzési űrlapon keresztül.