Jak zainstalować Yii PHP Framework na Ubuntu
Yii (wymawiane Yee lub [ji:]) to darmowy i open source, szybki, wydajny, bezpieczny, elastyczny, a jednocześnie pragmatyczny, i wydajna, ogólna platforma programowania sieciowego do tworzenia wszelkiego rodzaju aplikacji internetowych przy użyciu języka PHP.
W tym artykule dowiesz się, jak zainstalować najnowszą wersję Yii framework w wydaniach Ubuntu LTS (długoterminowe wsparcie), aby rozpocząć tworzenie nowoczesnych aplikacji internetowych PHP.
Wsparcie platformy
Yii posiada następujące wydania Ubuntu LTS (długoterminowe wsparcie):
- Ubuntu 20.04 LTS („Focal”)
- Ubuntu 18.04 LTS („Bionic”)
- Ubuntu 16.04 LTS („Xenial”)
Wymagania
- Działająca instancja serwera Ubuntu.
- Stos LEMP z PHP 5.4.0 lub nowszym.
- A Composer – menedżer pakietów na poziomie aplikacji dla PHP.
Na tej stronie
- Instalacja Yii Framework poprzez Composer w Ubuntu
- Uruchamianie Yii przy użyciu serwera deweloperskiego PHP
- Uruchamianie projektu Yii w środowisku produkcyjnym przy użyciu serwera HTTP NGINX
- Włącz HTTPS w aplikacjach Yii za pomocą Let’s Encrypt
Istnieją dwa sposoby instalacji Yii: przy użyciu menedżera pakietów Composer lub instalując go z pliku archiwum. Zalecany jest ten pierwszy sposób, ponieważ umożliwia instalację nowych rozszerzeń lub aktualizację Yii za pomocą jednego polecenia.
Instalacja Yii Framework poprzez Composer w Ubuntu
Jeśli nie masz zainstalowanego programu Composer, możesz go zainstalować za pomocą następujących poleceń, które później zainstalują Yii i zarządzają jego zależnościami.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Po zainstalowaniu narzędzia Composer przejdź do katalogu /var/www/html/
, w którym będą przechowywane pliki Twoich aplikacji internetowych lub stron internetowych, a następnie zainstaluj pakiet Yii za pomocą polecenia composer (zamień testproject na nazwę katalogu swojej aplikacji internetowej).
cd /var/www/html/
composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Uruchamianie Yii przy użyciu serwera deweloperskiego PHP
W tym momencie możesz zacząć używać frameworka Yii do programowania. Aby uruchomić serwer programistyczny PHP, przejdź do katalogu testprojects (nazwa twojego katalogu powinna być inna w zależności od tego, co określiłeś w poprzednim poleceniu), a następnie uruchom serwer programistyczny. Domyślnie powinien działać na porcie 8080.
cd /var/www/html/testproject/
php yii serve
Aby uruchomić serwer programistyczny na innym porcie, na przykład porcie 5000, użyj flagi --port
, jak pokazano.
php yii serve --port=5000
Następnie otwórz przeglądarkę internetową i nawiguj, korzystając z następującego adresu:
http://SERVER_IP:8080
OR
http://SERVER_IP:5000
Uruchamianie projektu Yii w środowisku produkcyjnym przy użyciu serwera HTTP NGINX
Aby wdrożyć aplikację Yii w środowisku produkcyjnym i uzyskać do niej dostęp, wymagany jest serwer HTTP, taki jak NGINX, Apache/HTTPD lub inny obsługiwany serwer WWW.
Aby uzyskać dostęp do aplikacji Yii bez wpisywania portu, musisz utworzyć wymagany rekord DNS A
, który będzie wskazywał Twoją domenę na serwer aplikacji Yii framework .
W tym przewodniku pokażemy, jak wdrożyć aplikację Yii za pomocą NGINX. Musisz więc utworzyć plik konfiguracyjny wirtualnego hosta lub bloku serwera w katalogu /etc/nginx/sites-available/ dla swojej aplikacji, aby NGINX mógł ją obsłużyć.
sudo vim /etc/nginx/sites-available/testproject.me.conf
Skopiuj i wklej do niego poniższą konfigurację (zastąp testprojects.me
i www.testprojects.me
nazwą swojej domeny). Określ także sposób, w jaki NGINX będzie przekazywać żądania FastCGI do PHP-FPM. W tym przykładzie używamy gniazda UNIX (/ 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;
}
}
Zapisz plik i zamknij go.
Następnie sprawdź poprawność składni konfiguracji NGINX, jeśli jest OK, włącz nową aplikację jak pokazano:
sudo nginx -t
sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Następnie uruchom ponownie usługę NGINX, aby zastosować nowe zmiany:
sudo systemctl restart nginx
Wróć do przeglądarki internetowej i nawiguj za pomocą nazwy domeny.
http://testprojects.me
OR
http://www.testprojects.me
Włącz HTTPS w aplikacjach Yii za pomocą Let’s Encrypt
Na koniec musisz włączyć HTTPS w swojej witrynie. Możesz skorzystać z bezpłatnego certyfikatu Let’s Encrypt SSL/TLS (który jest zautomatyzowany i rozpoznawany przez wszystkie nowoczesne przeglądarki internetowe) lub uzyskać certyfikat od komercyjnego urzędu certyfikacji.
Jeśli zdecydujesz się na użycie certyfikatu Let’s Encrypt, można go automatycznie zainstalować i skonfigurować za pomocą narzędzia certbot. Aby zainstalować certbota, musisz zainstalować snapd, aby go zainstalować.
sudo snap install --classic certbot
Następnie użyj certbot, aby uzyskać i zainstalować/skonfigurować bezpłatny certyfikat SSL/TLS do użytku z serwerem internetowym NGINX (podaj prawidłowy adres e-mail w celu odnowienia i postępuj zgodnie z instrukcjami, aby ukończyć instalację):
sudo certbot --nginx
Teraz przejdź jeszcze raz do swojej przeglądarki internetowej, aby potwierdzić, że Twoja aplikacja Yii działa teraz na HTTPS (pamiętaj, że HTTP powinien automatycznie przekierowywać do HTTPS).
http://testprojects.me
OR
http://www.testprojects.me
Aby uzyskać więcej informacji, takich jak połączenie aplikacji z bazą danych, zobacz dokumentację frameworka Yii na oficjalnej stronie projektu Yii. Spróbuj i podziel się swoimi przemyśleniami na temat Yii lub zadaj pytania za pomocą poniższego formularza opinii.