Si të instaloni kornizën PHP Yii në sistemet e bazuara në RHEL


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.

Karakteristikat e Yii

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 8. Ai mbështet disa nga teknologjitë dhe protokollet më të fundit të Uebit, duke përfshirë Composer, PSR, hapësirat e emrave, tiparet 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 në ueb nga portalet e përdoruesve/administratorëve, forumet dhe sistemet e menaxhimit të përmbajtjes (CMS), në e. -projekte tregtare, shërbime RESTful Web, dhe shumë më tepër në shkallë të gjerë.

Kërkesat

  • Një shembull ekzekutiv i AlmaLinux.
  • 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 Yii PHP Framework në një shpërndarje të bazuar në RHEL për të filluar zhvillimin e aplikacioneve PHP duke përdorur Yii.

Instaloni LAMP ose LEMP Stack

Yii kërkon PHP 5.4 ose më lart me serverin në internet Apache ose Nginx të instaluar në server siç tregohet.

--------- Install LAMP Stack --------- 
# yum install httpd php php-mysqlnd php-pdo php-gd php-mbstring zip git

--------- Install LEMP Stack ---------
# yum install nginx php php-mysqlnd php-pdo php-gd php-mbstring zip git

Pasi të instalohet, mund të filloni dhe aktivizoni serverin në internet Apache ose Nginx.

# systemctl start httpd
# systemctl enable httpd
OR
# systemctl start nginx
# systemctl enable nginx

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ë e vetme dhe gjithashtu ju mundëson të instaloni shtesa të reja.

Nëse nuk e keni ende të instaluar Composer në serverin tuaj, 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 Composer të instaluar, mund të instaloni versionin më të fundit të qëndrueshëm të shabllonit të aplikacionit Yii nën një ueb Apache ose Nginx -drejtoria e aksesueshme e 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ë direktorinë rrënjë të projektit testapp.

# cd testapp
# php yii serve

Shënim: Si parazgjedhje, serveri HTTP do të dëgjojë portën 8080. Megjithatë, nëse ajo port është tashmë në përdorim, mund të përdorni një port tjetër 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.

Konfigurimi i rekomanduar Nginx

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

Konfigurimi i rekomanduar i Apache

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 për të realizuar ndryshimet e fundit.

# systemctl restart httpd

Testimi i aplikacionit Yii Web nëpërmjet një shfletuesi

Përpara se të testoni aplikacionin tonë të uebit Yii sigurohuni që të përditësoni kontekstin e sigurisë së direktoriumit /web/assets/ për ta bërë atë të shkrueshëm 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 tuaja të firewall-it 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

Së fundi, 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 Yii PHP dhe e keni konfiguruar që të funksionojë me Nginx ose ApacheRHEL > sistemet.

Për më shumë informacion dhe si të filloni të përdorni Yii për ndërtimin e aplikacionit tuaj të internetit, shihni udhëzuesin përfundimtar Yii.