Si të instaloni Yii PHP Framework në CentOS 8
Yii është një kornizë PHP me burim të hapur, me performancë të lartë, fleksibël, efikase dhe të sigurt për ndërtimin e shpejtë të aplikacioneve moderne të Uebit. Është një kornizë e përgjithshme dhe e plotë programimi në internet për të shkruar kodin në një mënyrë të orientuar nga objekti dhe ofron shumë veçori të provuara dhe të gatshme për përdorim. Ai vjen me një numër parazgjedhjesh të arsyeshme dhe mjete të integruara që ju ndihmojnë të shkruani kod të fortë dhe të sigurt.
Këtu janë disa nga karakteristikat kryesore të Yii:
- Një kornizë e pastër e bazuar në OOP.
- Një arkitekturë e bazuar në komponentë.
- Zbaton modelin arkitekturor MVC (Model-View-Controller).
- Mbështet ndërtuesit e pyetjeve dhe ActiveRecord për bazat e të dhënave relacionale dhe NoSQL.
- Mbështetje për ruajtjen me shumë nivele.
- Mbështetje e zhvillimit RESTful API.
- Është jashtëzakonisht i shtrirë duke i lejuar përdoruesit të personalizojnë ose zëvendësojnë çdo pjesë të kodit që nga thelbi. Përveç kësaj, përdoruesit mund të përdorin ose zhvillojnë shtesa të rishpërndarshme.
Yii 2.0 është gjenerata aktuale e kornizës (në kohën e shkrimit) që kërkon PHP 5.4.0 ose më lart, por funksionon më së miri me versionin më të fundit të PHP 7. Ai mbështet disa nga teknologjitë dhe protokollet më të fundit të Uebit, duke përfshirë Composer, PSR , hapësira emrash, tipare dhe të tjera.
Duke qenë një kuadër gjenerik i zhvillimit të Uebit në lidhje me veçoritë e tij të rëndësishme, Yii mund të përdoret për të zhvilluar pothuajse çdo lloj aplikacioni Web nga portalet e përdoruesve/administratorëve, forumet, sistemet e menaxhimit të përmbajtjes (CMS), deri te projektet e tregtisë elektronike, shërbimet RESTful Web, dhe shumë më tepër në shkallë të gjerë.
- Një shembull ekzekutues i serverit CentOS 8.
- Një grumbull LEMP me PHP 5.4.0 ose më lart.
- Një Kompozitor – një menaxher paketash në nivel aplikacioni për PHP.
Në këtë artikull, ne do t'ju tregojmë se si të instaloni kornizën PHP Yii në një server CentOS 8 për të filluar zhvillimin e aplikacioneve PHP duke përdorur Yii.
Instalimi i Yii duke përdorur Kompozitorin
Ka disa mënyra për të instaluar Yii, por mënyra e rekomanduar për të instaluar Yii është përdorimi i menaxherit të paketave Composer, pasi ju lejon të përditësoni Yii me një komandë të vetme dhe gjithashtu ju mundëson të instaloni shtesa të reja.
Nëse nuk e keni tashmë të instaluar Composer në serverin tuaj CentOS 8, mund ta instaloni duke ekzekutuar komandat e mëposhtme.
# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer
Me të instaluar Composer, mund të instaloni versionin më të fundit të qëndrueshëm të shabllonit të aplikacionit Yii nën një direktori të aksesueshme në ueb Apache ose Nginx të quajtur testapp
. Nëse dëshironi, mund të zgjidhni një emër tjetër drejtorie.
# cd /var/www/html/ [Apache Root Directory]
OR
# cd /usr/share/nginx/html/ [Nginx Root Directory]
# composer create-project --prefer-dist yiisoft/yii2-app-basic testapp
Pas përfundimit të instalimit, ose konfiguroni serverin tuaj të uebit (shih seksionin tjetër) ose përdorni ueb serverin e integruar PHP duke ekzekutuar komandën e mëposhtme në direktoriumin rrënjë të projektit testapp
.
# cd testapp
# php yii serve
Shënim: Si parazgjedhje, serveri HTTP do të dëgjojë portin 8080. Megjithatë, nëse ai port është tashmë në përdorim, mund të përdorni portën e ndryshme duke shtuar argumentin --port
siç tregohet.
# php yii serve --port=8888
Tani, hapni shfletuesin tuaj dhe shkruani URL-në e mëposhtme për të hyrë në aplikacionin e instaluar Yii.
http://localhost:8888
Konfigurimi i serverëve në internet për Yii
Në një server prodhimi, mund të dëshironi të konfiguroni uebserverin tuaj që të shërbejë aplikacionin e internetit Yii nëpërmjet URL-së http://www.example.com/index.php
në vend të http:// www.example.com/basic/testapp/index.php
. Në këtë rast, duhet të drejtoni rrënjën e dokumentit të serverit tuaj të internetit në direktorinë testapp/web
.
Krijo një skedar konfigurimi të quajtur /etc/nginx/conf.d/testapp.conf.
# vi /etc/nginx/conf.d/testapp.conf
Tjetra, kopjoni dhe ngjisni konfigurimin e mëposhtëm në të. Mos harroni të zëvendësoni tecmintapp.lan
me emrin e domenit tuaj dhe /usr/share/nginx/html/testapp/web
me shtegun ku ndodhen skedarët e aplikacionit tuaj.
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name tecmintapp.lan;
root /usr/share/nginx/html/testapp/web;
index index.php;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php-fpm/www.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
Ruani skedarin dhe rinisni Nginx për të realizuar ndryshimet e fundit.
# systemctl restart nginx
Përdorni konfigurimin e mëposhtëm në skedarin httpd.conf të Apache ose brenda një konfigurimi të hostit virtual.
# Set document root to be "testapp/web"
DocumentRoot "/var/www/html/testapp/web"
<Directory "/var/www/html/testapp/web">
# use mod_rewrite for pretty URL support
RewriteEngine on
# if $showScriptName is false in UrlManager, do not allow accessing URLs with script name
RewriteRule ^index.php/ - [L,R=404]
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# ...other settings...
</Directory>
Ruani skedarin dhe rinisni Apache-n për të realizuar ndryshimet e fundit.
# systemctl restart httpd
Testimi i aplikacionit Ueb Yii përmes një shfletuesi
Përpara se të testoni aplikacionin tonë të internetit Yii, sigurohuni që të përditësoni kontekstin e sigurisë së drejtorisë /web/assets/
për ta bërë atë të shkrueshme në procesin e uebit, duke ekzekutuar komandën e mëposhtme.
# chcon -R -t httpd_sys_content_rw_t '/usr/share/nginx/html/testapp/web/assets/' [for Nginx]
# chcon -R -t httpd_sys_content_rw_t '/var/www/html/testapp/web/assets/' [for Apache]
Më pas, përditësoni rregullat e murit të zjarrit për të lejuar kërkesat HTTP dhe HTTPS përmes murit të zjarrit në serverin Nginx.
# firewall-cmd --zone=public --add-service=http --permanent
# firewall-cmd --zone=public --add-service=https --permanent
# firewall-cmd --reload
Më në fund, provoni nëse aplikacioni juaj në internet funksionon mirë dhe po shërbehet nga Nginx ose Apache. Hapni një shfletues uebi dhe drejtojeni atë në adresën e mëposhtme:
http://tecmintapp.lan
Faqja e paracaktuar në internet e aplikacionit Yii duhet të shfaqet siç tregohet në pamjen e mëposhtme të ekranit.
urime! Ju keni instaluar me sukses gjeneratën e fundit të kornizës PHP Yii dhe e keni konfiguruar atë të funksionojë me Nginx ose Apache në CentOS 8.
Për më shumë informacion dhe si të filloni të përdorni Yii për ndërtimin e aplikacionit tuaj në internet, shihni udhëzuesin përfundimtar Yii.