Cara Install Yii PHP Framework di Ubuntu
Yii (diucapkan Yee atau [ji:]) adalah sumber terbuka dan gratis, cepat, berkinerja tinggi, aman, fleksibel namun pragmatis, dan kerangka pemrograman web generik yang efisien untuk mengembangkan semua jenis aplikasi web menggunakan PHP.
Dalam artikel ini, Anda akan mempelajari cara memasang kerangka kerja Yii versi terbaru di rilis Ubuntu 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 (“Bionik”)
- Ubuntu 16.04 LTS (“Xenial”)
Persyaratan
- Contoh server Ubuntu yang sedang berjalan.
- Tumpukan LEMP dengan PHP 5.4.0 atau lebih tinggi.
- Komposer – 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 menginstal Yii, menggunakan manajer paket Composer atau dengan menginstalnya dari file arsip. Cara pertama adalah cara yang disarankan, karena memungkinkan Anda memasang ekstensi baru atau memperbarui Yii dengan satu perintah.
Menginstal Yii Framework melalui Composer di Ubuntu
Jika Anda belum menginstal Composer, 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, pindahlah ke direktori /var/www/html/
yang akan menyimpan file aplikasi web atau situs web Anda, lalu instal paket Yii menggunakan composer (ganti testproject 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 kerangka kerja Yii untuk pengembangan. Untuk menjalankan server pengembangan PHP, pindah ke direktori testprojects (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 pada port lain, misalnya port 5000, gunakan flag --port
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 aplikasi Yii dalam produksi, memerlukan server HTTP seperti NGINX, Apache/HTTPD, atau perangkat lunak server Web lain yang didukung.
Untuk mengakses aplikasi Yii tanpa mengetik port, Anda perlu membuat data A
DNS yang diperlukan untuk mengarahkan domain Anda ke server aplikasi kerangka Yii Anda .
Untuk panduan ini, kami akan menunjukkan cara men-deploy aplikasi Yii dengan NGINX. Jadi, Anda perlu membuat file konfigurasi host virtual atau blok server di direktori /etc/nginx/sites-available/ untuk aplikasi Anda sehingga NGINX dapat menyajikannya.
sudo vim /etc/nginx/sites-available/testproject.me.conf
Copy dan paste konfigurasi berikut ke dalamnya (ganti testprojects.me
dan www.testprojects.me
dengan nama domain Anda). Tentukan juga cara NGINX akan meneruskan permintaan FastCGI ke PHP-FPM, dalam contoh ini, kita menggunakan soket UNIX (/ jalankan/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 kebenaran sintaks konfigurasi NGINX, jika sudah Ok, aktifkan aplikasi baru seperti gambar:
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 perlu 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 alat certbot. Untuk memasang certbot, Anda perlu memasang snapd untuk memasangnya.
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 aplikasi Yii Anda sekarang berjalan di HTTPS (ingat HTTP secara otomatis akan dialihkan ke HTTPS).
http://testprojects.me
OR
http://www.testprojects.me
Untuk informasi lebih lanjut seperti menghubungkan aplikasi Anda ke database, lihat dokumentasi framework Yii dari situs resmi proyek Yii. Cobalah dan bagikan pendapat Anda tentang Yii atau ajukan pertanyaan apa pun melalui formulir masukan di bawah.