ఉబుంటులో యి పిహెచ్uపి ఫ్రేమ్uవర్క్uను ఎలా ఇన్uస్టాల్ చేయాలి


యి (ఉచ్ఛరిస్తారు యీ లేదా [జి:]) అనేది PHP ని ఉపయోగించి అన్ని రకాల వెబ్ అనువర్తనాలను అభివృద్ధి చేయడానికి ఉచిత మరియు ఓపెన్-సోర్స్, వేగవంతమైన, అధిక పనితీరు, సురక్షితమైన, సౌకర్యవంతమైన ఇంకా ఆచరణాత్మక మరియు సమర్థవంతమైన సాధారణ వెబ్ ప్రోగ్రామింగ్ ఫ్రేమ్uవర్క్.

ఈ వ్యాసంలో, ఆధునిక PHP వెబ్ అనువర్తనాలను అభివృద్ధి చేయడం ప్రారంభించడానికి ఉబుంటు LTS (దీర్ఘకాలిక మద్దతు) విడుదలలలో Yii ఫ్రేమ్uవర్క్ యొక్క తాజా వెర్షన్uను ఎలా ఇన్uస్టాల్ చేయాలో మీరు నేర్చుకుంటారు.

యి ఈ క్రింది ఉబుంటు ఎల్uటిఎస్ (దీర్ఘకాలిక మద్దతు) విడుదలలను కలిగి ఉంది:

  • ఉబుంటు 20.04 ఎల్uటిఎస్ (\ "ఫోకల్”)
  • ఉబుంటు 18.04 ఎల్uటిఎస్ (\ "బయోనిక్”)
  • ఉబుంటు 16.04 ఎల్uటిఎస్ (\ "జెనియల్”)

  • ఉబుంటు సర్వర్ యొక్క రన్నింగ్ ఉదాహరణ.
  • PHP 5.4.0 లేదా అంతకంటే ఎక్కువ ఉన్న LEMP స్టాక్.
  • కంపోజర్ - PHP కోసం అప్లికేషన్-స్థాయి ప్యాకేజీ మేనేజర్.

ఈ పేజీలో

  • ఉబుంటులో కంపోజర్ ద్వారా యి ఫ్రేమ్uవర్క్uను ఇన్uస్టాల్ చేస్తోంది
  • PHP డెవలప్uమెంట్ సర్వర్ ఉపయోగించి యిని నడుపుతోంది
  • NGINX HTTP సర్వర్ ఉపయోగించి ఉత్పత్తిలో Yii ప్రాజెక్ట్ను నడుపుతోంది
  • లెట్స్ ఎన్క్రిప్ట్ ఉపయోగించి యి అనువర్తనాలలో HTTPS ని ప్రారంభించండి

కంపోజర్ ప్యాకేజీ నిర్వాహికిని ఉపయోగించి లేదా ఆర్కైవ్ ఫైల్ నుండి ఇన్uస్టాల్ చేయడం ద్వారా యిని ఇన్uస్టాల్ చేయడానికి రెండు మార్గాలు ఉన్నాయి. క్రొత్తది పొడిగింపులను వ్యవస్థాపించడానికి లేదా ఒకే ఆదేశం ద్వారా యిని నవీకరించడానికి మిమ్మల్ని అనుమతిస్తుంది కాబట్టి ఇది సిఫార్సు చేయబడిన మార్గం.

మీకు కంపోజర్ ఇన్uస్టాల్ చేయకపోతే, మీరు ఈ క్రింది ఆదేశాలను ఉపయోగించి ఇన్uస్టాల్ చేయవచ్చు, ఇది తరువాత యిని ఇన్uస్టాల్ చేస్తుంది మరియు దాని డిపెండెన్సీలను నిర్వహిస్తుంది.

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

మీరు స్వరకర్తను వ్యవస్థాపించిన తర్వాత, మీ వెబ్ అనువర్తనాలు లేదా వెబ్uసైట్ల ఫైల్uలను నిల్వ చేసే /var/www/html/ డైరెక్టరీలోకి వెళ్లండి, ఆపై కంపోజర్uను ఉపయోగించి Yii ప్యాకేజీని ఇన్uస్టాల్ చేయండి (మీ పేరుతో పరీక్షా ప్రాజెక్టును భర్తీ చేయండి వెబ్ అప్లికేషన్ డైరెక్టరీ).

$ cd /var/www/html/
$ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject

ఈ సమయంలో, మీరు అభివృద్ధి కోసం యి ఫ్రేమ్uవర్క్uను ఉపయోగించడం ప్రారంభించడానికి సిద్ధంగా ఉన్నారు. PHP డెవలప్uమెంట్ సర్వర్uను అమలు చేయడానికి, టెస్ట్uప్రాజెక్ట్స్ డైరెక్టరీలోకి వెళ్లండి (మీరు మునుపటి ఆదేశంలో పేర్కొన్న దాన్ని బట్టి మీ డైరెక్టరీ పేరు భిన్నంగా ఉండాలి), ఆపై అభివృద్ధి సర్వర్uను ప్రారంభించండి. అప్రమేయంగా, ఇది పోర్ట్ 8080 లో నడుస్తుంది.

$ cd /var/www/html/testproject/
$ php yii serve

డెవలప్uమెంట్ సర్వర్uను మరొక పోర్టులో అమలు చేయడానికి, ఉదాహరణకు, పోర్ట్ 5000, చూపిన విధంగా --port ఫ్లాగ్uను ఉపయోగించండి.

$ php yii serve --port=5000

అప్పుడు మీ వెబ్ బ్రౌజర్uను తెరిచి, కింది చిరునామాను ఉపయోగించి నావిగేట్ చేయండి:

http://SERVER_IP:8080
OR
http://SERVER_IP:5000

ఉత్పత్తిలో Yii అనువర్తనాన్ని అమలు చేయడానికి మరియు ప్రాప్యత చేయడానికి, మద్దతు ఉన్న వెబ్ సర్వర్ సాఫ్ట్uవేర్ వంటి HTTP సర్వర్ అవసరం.

మీ పోర్ట్uను టైప్ చేయకుండా Yii అప్లికేషన్uను యాక్సెస్ చేయడానికి, మీ డొమైన్uను మీ Yii ఫ్రేమ్uవర్క్ అప్లికేషన్ సర్వర్uకు సూచించడానికి అవసరమైన DNS A రికార్డ్uను మీరు సృష్టించాలి.

ఈ గైడ్ కోసం, NGINX తో Yii అప్లికేషన్uను ఎలా ఉపయోగించాలో చూపిస్తాము. కాబట్టి, మీరు మీ అప్లికేషన్ కోసం/etc/nginx/sites-available/directory క్రింద వర్చువల్ హోస్ట్ లేదా సర్వర్ బ్లాక్ కాన్ఫిగరేషన్ ఫైల్uను సృష్టించాలి, తద్వారా NGINX దీన్ని అందించగలదు.

$ sudo vim /etc/nginx/sites-available/testproject.me.conf

కింది కాన్ఫిగరేషన్uను అందులో కాపీ చేసి పేస్ట్ చేయండి (మీ డొమైన్ పేరుతో testprojects.me మరియు www.testprojects.me ని మార్చండి). NGINX ఫాస్ట్uసిజిఐ అభ్యర్ధనలను PHP-FPM కు పంపుతుందని కూడా పేర్కొనండి, ఈ ఉదాహరణలో, మేము యునిక్స్ సాకెట్ (/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;
    }
}

ఫైల్ను సేవ్ చేసి దాన్ని మూసివేయండి.

సరైనదానికి NGINX కాన్ఫిగరేషన్ సింటాక్స్ తనిఖీ చేయండి, అది సరే అయితే, చూపిన విధంగా క్రొత్త అప్లికేషన్uను ప్రారంభించండి:

$ sudo nginx -t
$ sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf

క్రొత్త మార్పులను వర్తింపజేయడానికి NGINX సేవను పున art ప్రారంభించండి:

$ sudo systemctl restart nginx

మీ వెబ్ బ్రౌజర్uకు తిరిగి వెళ్లి, మీ డొమైన్ పేరుతో నావిగేట్ చేయండి.

http://testprojects.me
OR
http://www.testprojects.me

చివరగా, మీరు మీ వెబ్uసైట్uలో HTTPS ని ప్రారంభించాలి. మీరు ఉచిత లెట్స్ ఎన్uక్రిప్ట్ SSL/TLS ప్రమాణపత్రాన్ని ఉపయోగించవచ్చు (ఇది అన్ని ఆధునిక వెబ్ బ్రౌజర్uలచే స్వయంచాలకంగా మరియు గుర్తించబడింది) లేదా వాణిజ్య CA నుండి ధృవీకరణ పత్రాన్ని పొందవచ్చు.

మీరు లెట్స్ ఎన్uక్రిప్ట్ సర్టిఫికెట్uను ఉపయోగించాలని నిర్ణయించుకుంటే, అది స్వయంచాలకంగా ఇన్uస్టాల్ చేయబడి, సర్ట్uబాట్ సాధనాన్ని ఉపయోగించి కాన్ఫిగర్ చేయవచ్చు. Certbot ని ఇన్uస్టాల్ చేయడానికి, మీరు దీన్ని ఇన్uస్టాల్ చేయడానికి snapd ని ఇన్uస్టాల్ చేయాలి.

$ sudo snap install --classic certbot

NGINX వెబ్ సర్వర్uతో ఉపయోగం కోసం మీ ఉచిత SSL/TLS ప్రమాణపత్రాన్ని పొందటానికి మరియు ఇన్uస్టాల్ చేయడానికి సర్ట్uబాట్uను ఉపయోగించండి (పునరుద్ధరణ కోసం చెల్లుబాటు అయ్యే ఇమెయిల్uను అందించండి మరియు ఇన్uస్టాలేషన్uను పూర్తి చేయమని ప్రాంప్ట్ చేయండి):

$ sudo certbot --nginx

ఇప్పుడు మీ Yii అప్లికేషన్ ఇప్పుడు HTTPS లో నడుస్తుందని నిర్ధారించడానికి మీ వెబ్ బ్రౌజర్uకు మరోసారి వెళ్లండి (HTTP స్వయంచాలకంగా HTTPS కి మళ్ళించబడాలని గుర్తుంచుకోండి).

http://testprojects.me
OR
http://www.testprojects.me

మీ అప్లికేషన్uను డేటాబేస్uకు కనెక్ట్ చేయడం వంటి మరింత సమాచారం కోసం, అధికారిక యి ప్రాజెక్ట్ వెబ్uసైట్ నుండి యి ఫ్రేమ్uవర్క్ డాక్యుమెంటేషన్ చూడండి. ఒకసారి ప్రయత్నించండి మరియు యి గురించి మీ ఆలోచనలను పంచుకోండి లేదా దిగువ ఫీడ్uబ్యాక్ ఫారం ద్వారా ఏవైనా ప్రశ్నలు అడగండి.