Yii PHP Çerçevesi Ubuntu'ya Nasıl Kurulur


Yii (Yee veya [ji:] olarak telaffuz edilir) ücretsiz ve açık kaynaklı, hızlı, yüksek performanslı, güvenli, esnek ancak pragmatik bir yazılımdır. ve PHP kullanarak her türlü web uygulamasını geliştirmek için etkili genel web programlama çerçevesi.

Bu makalede, modern PHP Web uygulamaları geliştirmeye başlamak için Yii çerçevesinin en son sürümünü Ubuntu LTS (uzun vadeli destek) sürümlerine nasıl yükleyeceğinizi öğreneceksiniz.

Platform Desteği

Yii aşağıdaki Ubuntu LTS (uzun vadeli destek) sürümlerine sahiptir:

  • Ubuntu 20.04 LTS (“Odak”)
  • Ubuntu 18.04 LTS (“Biyonik”)
  • Ubuntu 16.04 LTS (“Xenial”)

Gereksinimler

  • Ubuntu sunucusunun çalışan bir örneği.
  • PHP 5.4.0 veya üzeri bir LEMP yığını.
  • Bir Besteci – PHP için uygulama düzeyinde bir paket yöneticisi.

Bu sayfada

  • Yii Framework'ü Ubuntu'da Composer aracılığıyla yükleme
  • PHP Geliştirme Sunucusunu Kullanarak Yii'yi Çalıştırmak
  • NGINX HTTP Sunucusu Kullanarak Yii Projesini Üretimde Çalıştırma
  • Let's Encrypt Kullanarak Yii Uygulamalarında HTTPS'yi Etkinleştirin

Yii'yi yüklemenin iki yolu vardır: Composer paket yöneticisini kullanarak veya onu bir arşiv dosyasından yükleyerek. Tek bir komutla yeni uzantılar yüklemenize veya Yii'yi güncellemenize olanak tanıdığından ilki önerilen yöntemdir.

Yii Framework'ü Ubuntu'da Composer aracılığıyla yükleme

Bilgisayarınızda Composer yüklü değilse aşağıdaki komutları kullanarak yükleyebilirsiniz; bu daha sonra Yii'yi yükleyecek ve bağımlılıklarını yönetecektir.

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

Besteci yükledikten sonra, web uygulamalarınızı veya web sitesi dosyalarınızı saklayacak /var/www/html/ dizinine gidin, ardından Yii paketini kullanarak yükleyin. >besteci (testproject yerine web uygulamanızın dizin adını yazın).

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

PHP Geliştirme Sunucusunu Kullanarak Yii'yi Çalıştırmak

Bu noktada geliştirme için Yii çerçevesini kullanmaya hazırsınız. PHP geliştirme sunucusunu çalıştırmak için testprojects dizinine gidin (dizin adınız önceki komutta belirttiğinize bağlı olarak farklı olmalıdır), ardından geliştirme sunucusunu başlatın. Varsayılan olarak 8080 bağlantı noktasında çalışmalıdır.

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

Geliştirme sunucusunu başka bir bağlantı noktasında (örneğin 5000 bağlantı noktası) çalıştırmak için gösterildiği gibi --port işaretini kullanın.

php yii serve --port=5000

Ardından web tarayıcınızı açın ve aşağıdaki adresi kullanarak gezinin:

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

NGINX HTTP Sunucusu Kullanarak Yii Projesini Üretimde Çalıştırma

Üretimdeki bir Yii uygulamasını dağıtmak ve bu uygulamaya erişmek için NGINX, Apache/HTTPD veya desteklenen herhangi bir başka Web sunucusu yazılımı gibi bir HTTP sunucusu gerekir.

Bağlantı noktanızı yazmadan Yii uygulamasına erişmek için, alan adınızı Yii çerçeve uygulama sunucunuza yönlendirecek gerekli DNS A kaydını oluşturmanız gerekir. .

Bu kılavuzda Yii uygulamasının NGINX ile nasıl dağıtılacağını göstereceğiz. Bu nedenle, NGINX'in hizmet verebilmesi için uygulamanız için /etc/nginx/sites-available/ dizini altında bir sanal ana bilgisayar veya sunucu bloğu yapılandırma dosyası oluşturmanız gerekir.

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

Aşağıdaki yapılandırmayı kopyalayıp içine yapıştırın (testprojects.me ve www.testprojects.me yerlerini alan adınızla değiştirin). Ayrıca NGINX'in FastCGI isteklerini PHP-FPM'ye ileteceği araçları da belirtin; bu örnekte bir UNIX soketi kullanıyoruz (/ 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;
    }
}

Dosyayı kaydedin ve kapatın.

Ardından NGINX yapılandırma sözdiziminin doğruluğunu kontrol edin, eğer sorun yoksa, yeni uygulamayı gösterildiği gibi etkinleştirin:

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

Ardından yeni değişiklikleri uygulamak için NGINX hizmetini yeniden başlatın:

sudo systemctl restart nginx

Web tarayıcınıza geri dönün ve alan adınızla gezinin.

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

Let's Encrypt Kullanarak Yii Uygulamalarında HTTPS'yi Etkinleştirin

Son olarak web sitenizde HTTPS'yi etkinleştirmeniz gerekir. Ücretsiz Let's Encrypt SSL/TLS sertifikasını (otomatiktir ve tüm modern web tarayıcıları tarafından tanınır) kullanabilir veya ticari bir CA'dan sertifika alabilirsiniz.

Let's Encrypt sertifikası kullanmaya karar verirseniz, certbot aracı kullanılarak otomatik olarak kurulabilir ve yapılandırılabilir. certbot'u yüklemek için snapd'i yüklemeniz gerekir.

sudo snap install --classic certbot

Ardından, NGINX web sunucusuyla kullanmak üzere ücretsiz SSL/TLS sertifikanızı almak ve yüklemek/yapılandırmak için certbot'u kullanın (yenileme için geçerli bir e-posta sağlayın ve kurulumu tamamlamak için talimatları izleyin):

sudo certbot --nginx

Şimdi Yii uygulamanızın artık HTTPS'de çalıştığını doğrulamak için web tarayıcınıza bir kez daha gidin (HTTP'nin otomatik olarak HTTPS).

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

Uygulamanızı bir veritabanına bağlamak gibi daha fazla bilgi için resmi Yii proje web sitesindeki Yii çerçeve belgelerine bakın. Deneyin ve Yii hakkındaki düşüncelerinizi paylaşın veya aşağıdaki geri bildirim formunu kullanarak sorularınızı sorun.