CentOS 8-ൽ Yii PHP ഫ്രെയിംവർക്ക് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


ആധുനിക വെബ് ആപ്ലിക്കേഷനുകൾ വേഗത്തിൽ നിർമ്മിക്കുന്നതിനുള്ള ഒരു ഓപ്പൺ സോഴ്uസ്, ഉയർന്ന പ്രകടനമുള്ള, വഴക്കമുള്ളതും കാര്യക്ഷമവും സുരക്ഷിതവുമായ PHP ചട്ടക്കൂടാണ് Yii. ഒബ്ജക്റ്റ് ഓറിയന്റഡ് ഫാഷനിൽ കോഡ് എഴുതുന്നതിനുള്ള പൊതുവായതും പൂർണ്ണവുമായ വെബ് പ്രോഗ്രാമിംഗ് ചട്ടക്കൂടാണ് ഇത് കൂടാതെ തെളിയിക്കപ്പെട്ടതും ഉപയോഗിക്കാൻ തയ്യാറായതുമായ നിരവധി സവിശേഷതകൾ നൽകുന്നു. ഉറപ്പുള്ളതും സുരക്ഷിതവുമായ കോഡ് എഴുതാൻ നിങ്ങളെ സഹായിക്കുന്ന ന്യായമായ നിരവധി ഡിഫോൾട്ടുകളും ബിൽറ്റ്-ഇൻ ടൂളുകളുമായാണ് ഇത് വരുന്നത്.

Yii-യുടെ ചില പ്രധാന സവിശേഷതകൾ ഇതാ:

  • ഒരു ശുദ്ധമായ OOP അടിസ്ഥാനമാക്കിയുള്ള ചട്ടക്കൂട്.
  • ഘടകാധിഷ്ഠിത ആർക്കിടെക്ചർ.
  • എംവിസി (മോഡൽ-വ്യൂ-കൺട്രോളർ) ആർക്കിടെക്ചറൽ പാറ്റേൺ നടപ്പിലാക്കുന്നു.
  • റിലേഷണൽ, NoSQL ഡാറ്റാബേസുകൾക്കായി അന്വേഷണ ബിൽഡർമാരെയും ActiveRecord-നെയും പിന്തുണയ്ക്കുന്നു.
  • മൾട്ടി-ടയർ കാഷിംഗ് പിന്തുണ.
  • വിശ്രമകരമായ API വികസന പിന്തുണ.
  • കോറിൽ നിന്ന് തന്നെ ഏത് കോഡും ഇഷ്uടാനുസൃതമാക്കാനോ മാറ്റിസ്ഥാപിക്കാനോ ഉപയോക്താക്കളെ അനുവദിക്കുന്നതിന് ഇത് വളരെ വിപുലീകരിക്കാവുന്നതാണ്. കൂടാതെ, ഉപയോക്താക്കൾക്ക് പുനർവിതരണം ചെയ്യാവുന്ന വിപുലീകരണങ്ങൾ ഉപയോഗിക്കാനോ വികസിപ്പിക്കാനോ കഴിയും.

Yii 2.0 എന്നത് PHP 5.4.0 അല്ലെങ്കിൽ അതിന് മുകളിലുള്ള ഫ്രെയിംവർക്കിന്റെ നിലവിലെ തലമുറയാണ് (എഴുതുന്ന സമയത്ത്) എന്നാൽ PHP 7-ന്റെ ഏറ്റവും പുതിയ പതിപ്പിൽ മികച്ച രീതിയിൽ പ്രവർത്തിക്കുന്നു. കമ്പോസർ, PSR എന്നിവയുൾപ്പെടെയുള്ള ഏറ്റവും പുതിയ വെബ് സാങ്കേതികവിദ്യകളെയും പ്രോട്ടോക്കോളുകളും ഇത് പിന്തുണയ്ക്കുന്നു. , നെയിംസ്പേസുകൾ, സ്വഭാവവിശേഷങ്ങൾ, മറ്റുള്ളവ.

അതിന്റെ സുപ്രധാന സവിശേഷതകളുമായി സംയോജിച്ച് ഒരു സാധാരണ വെബ് ഡെവലപ്uമെന്റ് ചട്ടക്കൂടായതിനാൽ, ഉപയോക്തൃ/അഡ്uമിൻ പോർട്ടലുകൾ, ഫോറങ്ങൾ, കണ്ടന്റ് മാനേജ്uമെന്റ് സിസ്റ്റങ്ങൾ (CMS), ഇ-കൊമേഴ്uസ് പ്രോജക്റ്റുകൾ, RESTful വെബ് സേവനങ്ങൾ തുടങ്ങി ഏത് തരത്തിലുള്ള വെബ് ആപ്ലിക്കേഷനുകളും വികസിപ്പിക്കാൻ Yii ഉപയോഗിക്കാം. വലിയ തോതിൽ കൂടുതൽ.

  1. CentOS 8 സെർവറിന്റെ ഒരു പ്രവർത്തിക്കുന്ന ഉദാഹരണം.
  2. PHP 5.4.0 അല്ലെങ്കിൽ അതിന് മുകളിലുള്ള ഒരു LEMP സ്റ്റാക്ക്.
  3. ഒരു കമ്പോസർ - PHP-യ്uക്കായുള്ള ഒരു ആപ്ലിക്കേഷൻ-ലെവൽ പാക്കേജ് മാനേജർ.

ഈ ലേഖനത്തിൽ, Yii ഉപയോഗിച്ച് PHP ആപ്ലിക്കേഷനുകൾ വികസിപ്പിക്കുന്നത് ആരംഭിക്കുന്നതിന് ഒരു CentOS 8 സെർവറിൽ Yii PHP ഫ്രെയിംവർക്ക് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്ന് ഞങ്ങൾ കാണിച്ചുതരാം.

കമ്പോസർ ഉപയോഗിച്ച് Yii ഇൻസ്റ്റാൾ ചെയ്യുന്നു

Yii ഇൻസ്റ്റാൾ ചെയ്യാൻ നിരവധി മാർഗങ്ങളുണ്ട്, എന്നാൽ Yii ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുള്ള ശുപാർശിത മാർഗം കമ്പോസർ പാക്കേജ് മാനേജർ ഉപയോഗിക്കുന്നു, കാരണം ഇത് ഒരൊറ്റ കമാൻഡ് ഉപയോഗിച്ച് Yii അപ്uഡേറ്റ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുകയും പുതിയ വിപുലീകരണങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങളെ പ്രാപ്uതമാക്കുകയും ചെയ്യുന്നു.

നിങ്ങളുടെ CentOS 8 സെർവറിൽ ഇതിനകം കമ്പോസർ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിച്ച് നിങ്ങൾക്ക് ഇത് ഇൻസ്റ്റാൾ ചെയ്യാം.

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer

കമ്പോസർ ഇൻസ്uറ്റാൾ ചെയ്uതാൽ, testapp എന്ന പേരിൽ ഒരു Apache അല്ലെങ്കിൽ Nginx വെബ് ആക്uസസ് ചെയ്യാവുന്ന ഡയറക്uടറിക്ക് കീഴിൽ Yii ആപ്ലിക്കേഷൻ ടെംപ്ലേറ്റിന്റെ ഏറ്റവും പുതിയ സ്ഥിരതയുള്ള പതിപ്പ് നിങ്ങൾക്ക് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും. നിങ്ങൾക്ക് വേണമെങ്കിൽ മറ്റൊരു ഡയറക്ടറിയുടെ പേര് തിരഞ്ഞെടുക്കാം.

# 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

ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായ ശേഷം, നിങ്ങളുടെ വെബ് സെർവർ കോൺഫിഗർ ചെയ്യുക (അടുത്ത ഭാഗം കാണുക) അല്ലെങ്കിൽ testapp പ്രോജക്റ്റ് റൂട്ട് ഡയറക്uടറിയിൽ ഇനിപ്പറയുന്ന കമാൻഡ് എക്uസിക്യൂട്ട് ചെയ്uത് സംയോജിത PHP വെബ് സെർവർ ഉപയോഗിക്കുക.

# cd testapp
# php yii serve

ശ്രദ്ധിക്കുക: സ്ഥിരസ്ഥിതിയായി, HTTP-സെർവർ പോർട്ട് 8080 ശ്രദ്ധിക്കും. എന്നിരുന്നാലും, ആ പോർട്ട് ഇതിനകം ഉപയോഗത്തിലാണെങ്കിൽ, കാണിച്ചിരിക്കുന്നതുപോലെ --port ആർഗ്യുമെന്റ് ചേർത്ത് നിങ്ങൾക്ക് വ്യത്യസ്ത പോർട്ട് ഉപയോഗിക്കാം.

# php yii serve --port=8888

ഇപ്പോൾ, ഇൻസ്റ്റാൾ ചെയ്ത Yii ആപ്ലിക്കേഷൻ ആക്uസസ് ചെയ്യുന്നതിന് നിങ്ങളുടെ ബ്രൗസർ തുറന്ന് ഇനിപ്പറയുന്ന URL ടൈപ്പ് ചെയ്യുക.

http://localhost:8888

Yii നായുള്ള വെബ് സെർവറുകൾ ക്രമീകരിക്കുന്നു

ഒരു പ്രൊഡക്ഷൻ സെർവറിൽ, http:// എന്നതിനുപകരം URL http://www.example.com/index.php വഴി Yii വെബ് ആപ്ലിക്കേഷൻ സേവിക്കുന്നതിന് നിങ്ങളുടെ വെബ്സെർവർ കോൺഫിഗർ ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം. www.example.com/basic/testapp/index.php. അങ്ങനെയെങ്കിൽ, നിങ്ങളുടെ വെബ് സെർവർ ഡോക്യുമെന്റ് റൂട്ട് testapp/web ഡയറക്uടറിയിലേക്ക് പോയിന്റ് ചെയ്യണം.

/etc/nginx/conf.d/testapp.conf എന്ന പേരിൽ ഒരു കോൺഫിഗറേഷൻ ഫയൽ സൃഷ്ടിക്കുക.

# vi /etc/nginx/conf.d/testapp.conf

അടുത്തതായി, ഇനിപ്പറയുന്ന കോൺഫിഗറേഷൻ അതിൽ പകർത്തി ഒട്ടിക്കുക. tecmintapp.lan നിങ്ങളുടെ ഡൊമെയ്uൻ നാമവും /usr/share/nginx/html/testapp/web നിങ്ങളുടെ ആപ്പ് ഫയലുകൾ സ്ഥിതി ചെയ്യുന്ന പാതയും ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാൻ ഓർമ്മിക്കുക.

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;
    }
}

സമീപകാല മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരുത്തുന്നതിന് ഫയൽ സംരക്ഷിച്ച് Nginx പുനരാരംഭിക്കുക.

# systemctl restart nginx

അപ്പാച്ചെയുടെ httpd.conf ഫയലിലോ വെർച്വൽ ഹോസ്റ്റ് കോൺഫിഗറേഷനിലോ ഇനിപ്പറയുന്ന കോൺഫിഗറേഷൻ ഉപയോഗിക്കുക.

# 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>

സമീപകാല മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരുത്തുന്നതിന് ഫയൽ സംരക്ഷിച്ച് അപ്പാച്ചെ പുനരാരംഭിക്കുക.

# systemctl restart httpd

ഒരു ബ്രൗസർ വഴി Yii വെബ് ആപ്ലിക്കേഷൻ പരിശോധിക്കുന്നു

ഞങ്ങളുടെ Yii വെബ് ആപ്ലിക്കേഷൻ പരിശോധിക്കുന്നതിന് മുമ്പ്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് വെബ് പ്രോസസ്സിലേക്ക് എഴുതാൻ കഴിയുന്ന തരത്തിൽ /web/assets/ ഡയറക്uടറിയുടെ സുരക്ഷാ സന്ദർഭം അപ്uഡേറ്റ് ചെയ്യുന്നത് ഉറപ്പാക്കുക.

# 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] 

അടുത്തതായി, Nginx സെർവറിലേക്ക് ഫയർവാളിലൂടെ HTTP, HTTPS അഭ്യർത്ഥനകൾ അനുവദിക്കുന്നതിന് നിങ്ങളുടെ ഫയർവാൾഡ് നിയമങ്ങൾ അപ്ഡേറ്റ് ചെയ്യുക.

# firewall-cmd --zone=public --add-service=http --permanent
# firewall-cmd --zone=public --add-service=https --permanent
# firewall-cmd --reload

അവസാനമായി, നിങ്ങളുടെ വെബ് ആപ്ലിക്കേഷൻ നന്നായി പ്രവർത്തിക്കുന്നുണ്ടോ എന്നും Nginx അല്ലെങ്കിൽ Apache സേവനം നൽകുന്നുണ്ടോ എന്നും പരിശോധിക്കുക. ഒരു വെബ് ബ്രൗസർ തുറന്ന് ഇനിപ്പറയുന്ന വിലാസത്തിലേക്ക് പോയിന്റ് ചെയ്യുക:

http://tecmintapp.lan 

ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ സ്ഥിരസ്ഥിതി Yii ആപ്ലിക്കേഷൻ വെബ് പേജ് പ്രദർശിപ്പിക്കണം.

അഭിനന്ദനങ്ങൾ! നിങ്ങൾ Yii PHP ഫ്രെയിംവർക്കിന്റെ ഏറ്റവും പുതിയ തലമുറ വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്യുകയും CentOS 8-ൽ Nginx അല്ലെങ്കിൽ Apache എന്നിവയുമായി പ്രവർത്തിക്കാൻ കോൺഫിഗർ ചെയ്യുകയും ചെയ്തു.

കൂടുതൽ വിവരങ്ങൾക്കും നിങ്ങളുടെ വെബ് ആപ്ലിക്കേഷൻ നിർമ്മിക്കുന്നതിന് Yii എങ്ങനെ ഉപയോഗിച്ച് തുടങ്ങാം എന്നതിനും, Yii ഡെഫിനിറ്റീവ് ഗൈഡ് കാണുക.