Weboldal keresés

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.