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.