Yii (diucapkan Yee atau [ji:] ) adalah kerangka kerja pemrograman web generik gratis dan open-source, cepat, berkinerja tinggi, aman, fleksibel namun pragmatis, dan efisien untuk mengembangkan semua jenis aplikasi web menggunakan PHP.
Dalam artikel ini, Anda akan mempelajari cara memasang versi terbaru kerangka Yii di Ubuntu Rilis LTS (dukungan jangka panjang) untuk mulai mengembangkan aplikasi Web PHP modern.
Dukungan Platform
Yii memegang rilis Ubuntu LTS (dukungan jangka panjang) berikut:
- Ubuntu 20.04 LTS (“Fokus”)
- Ubuntu 18.04 LTS (“Bionic”)
- Ubuntu 16.04 LTS (“Xenial”)
Persyaratan
- Instance berjalan dari server Ubuntu.
- Stack LEMP dengan PHP 5.4.0 atau lebih tinggi.
- A Composer – manajer paket tingkat aplikasi untuk PHP.
Di halaman ini
- Menginstal Yii Framework melalui Composer di Ubuntu
- Menjalankan Yii Menggunakan Server Pengembangan PHP
- Menjalankan Proyek Yii dalam Produksi Menggunakan Server HTTP NGINX
- Aktifkan HTTPS pada Aplikasi Yii Menggunakan Let's Encrypt
Ada dua cara untuk memasang Yii , menggunakan Komposer manajer paket atau dengan menginstalnya dari file arsip. Yang pertama adalah cara yang disarankan, karena memungkinkan Anda memasang ekstensi baru atau memperbarui Yii dengan satu perintah.
Menginstal Yii Framework melalui Komposer di Ubuntu
Jika Anda tidak memiliki Komposer terinstal, Anda dapat menginstalnya menggunakan perintah berikut, yang nantinya akan menginstal Yii dan mengelola dependensinya.
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ sudo chmod +x /usr/local/bin/composer
Setelah Anda menginstal composer, pindah ke direktori /var/www/html/
yang akan menyimpan file aplikasi web atau situs web Anda, lalu instal Yii paket menggunakan komposer (ganti proyek uji dengan nama direktori aplikasi web Anda).
$ cd /var/www/html/ $ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
Menjalankan Yii Menggunakan Server Pengembangan PHP
Pada titik ini, Anda siap untuk mulai menggunakan Yii kerangka kerja untuk pembangunan. Untuk menjalankan server pengembangan PHP, pindah ke proyek uji direktori (nama direktori Anda harus berbeda tergantung pada apa yang Anda tentukan di perintah sebelumnya), lalu luncurkan server pengembangan. Secara default, ini harus berjalan pada port 8080 .
$ cd /var/www/html/testproject/ $ php yii serve
Untuk menjalankan server pengembangan di port lain, misalnya, port 5000 , gunakan --port
bendera seperti yang ditunjukkan.
$ php yii serve --port=5000
Kemudian buka browser web Anda dan navigasikan menggunakan alamat berikut:
http://SERVER_IP:8080 OR http://SERVER_IP:5000
Menjalankan Proyek Yii dalam Produksi Menggunakan Server HTTP NGINX
Untuk menerapkan dan mengakses Yii aplikasi dalam produksi, memerlukan server HTTP seperti NGINX , Apache/HTTPD, atau perangkat lunak server Web lain yang didukung.
Untuk mengakses Yii aplikasi tanpa mengetik port Anda, Anda perlu membuat A
DNS yang diperlukan record untuk mengarahkan domain Anda ke Yii . Anda server aplikasi kerangka kerja.
Untuk panduan ini, kami akan menunjukkan cara menerapkan Yii aplikasi dengan NGINX . Jadi, Anda perlu membuat host virtual atau file konfigurasi blok server di bawah /etc/nginx/sites-available/ direktori untuk aplikasi Anda sehingga NGINX dapat melayaninya.
$ sudo vim /etc/nginx/sites-available/testproject.me.conf
Salin dan tempel konfigurasi berikut di dalamnya (ganti testprojects.me
dan www.testprojects.me
dengan nama domain Anda). Tentukan juga artinya NGINX akan melewati FastCGI permintaan ke PHP-FPM , dalam contoh ini, kami menggunakan soket 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; } }
Simpan file dan tutup.
Kemudian periksa NGINX sintaks konfigurasi untuk kebenaran, jika Ok, aktifkan aplikasi baru seperti yang ditunjukkan:
$ sudo nginx -t $ sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
Kemudian restart layanan NGINX untuk menerapkan perubahan baru:
$ sudo systemctl restart nginx
Kembali ke browser web Anda dan navigasikan dengan nama domain Anda.
http://testprojects.me OR http://www.testprojects.me
Aktifkan HTTPS pada Aplikasi Yii Menggunakan Let's Encrypt
Terakhir, Anda harus mengaktifkan HTTPS di situs web Anda. Anda dapat menggunakan sertifikat SSL/TLS Let's Encrypt gratis (yang otomatis dan dikenali oleh semua browser web modern) atau memperoleh sertifikat dari CA komersial.
Jika Anda memutuskan untuk menggunakan sertifikat Let's Encrypt, sertifikat tersebut dapat diinstal dan dikonfigurasi secara otomatis menggunakan certbot alat. Untuk memasang certbot , Anda perlu menginstal snapd untuk menginstalnya.
$ sudo snap install --classic certbot
Kemudian gunakan certbot untuk mendapatkan dan menginstal/mengonfigurasi sertifikat SSL/TLS gratis Anda untuk digunakan dengan server web NGINX (berikan email yang valid untuk perpanjangan dan ikuti petunjuk untuk menyelesaikan instalasi):
$ sudo certbot --nginx
Sekarang buka browser web Anda sekali lagi untuk mengonfirmasi bahwa Yii . Anda aplikasi sekarang berjalan di HTTPS (ingat HTTP harus secara otomatis mengalihkan ke HTTPS ).
http://testprojects.me OR http://www.testprojects.me
Untuk informasi lebih lanjut seperti menghubungkan aplikasi Anda ke database, lihat dokumentasi kerangka kerja Yii dari situs web resmi proyek Yii. Cobalah dan bagikan pendapat Anda tentang Yii atau ajukan pertanyaan apa pun melalui formulir masukan di bawah.