Untuk aplikasi enterprise, Yii Framework bisa menjadi pertimbangan untuk Developer, selain karena memiliki banyak fitur dan ekstensi Yii juga memiliki Release Cycle yang cocok untuk perusahaan, contoh seperti Yii masih tetap di support sampai akhir 2021, sekitar 11 tahun setelah Yii 1.1 dirilis.

Life cycle yang sama juga akan digunakan untuk Yii 2 yang di rilis pada 2014, kemungkina akan masih di support sampai 2025, bila benar isu yang beredar bahwa Yii 3 akan dirilis di tahun 2020 ini.

Di tutorial ini saya akan menggunakan domain yii.jaranguda.com, ingat untuk menggantinya dengan nama domain anda. Agar SSL bisa digenerate, pertama setting A record domain anda ke IP server

yii.jaranguda.com. 3600 IN A IP-SERVER

Install PHP 7.4

Di Ubuntu 20.04 versi PHP bawaan adalah 7.4, kita akan menggunakan versi ini. Selain sudah tersedia di repository Ubuntu, Yii Framework juga mendukungnya.

sudo apt-get install php php-gd php-xmlrpc php-fpm php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath -y

Install MariaDB Database Server

Sebagai databasenya install MariaDB, bagi yang belum tau MariaDB itu kompatibel dengan MySQL. Di hampir semua distro Linux sudah tersedia MariaDB

sudo apt install mariadb-server -y

Buat User dan Database untuk Yii Framework

Ditahap ini kita akan membuat user dan database untuk aplikasi Yii Framework yang akan kita buat. Sangat direkomendasikan untuk membuat user yang berbeda tiap aplikasi yang dibuat, agar lebih aman. Tahapannya sebagai berikut

1. Login sebagai root mysql

sudo mysql

2. Buat database dengan nama yiiframework

create database yiiframework;

3. Buat user baru dengan nama yiiframework dan berikan akses penuh ke database laravel8.

GRANT ALL PRIVILEGES ON yiiframework.* TO "yiiframework"@"localhost" IDENTIFIED BY "PASSWORD-AMAN";

membuat user dan database yii framework

Setting SSL

Ada beberapa SSL yang bisa digunakan gratis, Lets Encrypt, BuyPass.com dan ZeroSSL. Disini kita akan menggunakan Lets Encrypt dengan menggunakan acme.sh untuk otomatisasi prosesnya.

1. Login sebagai root user

sudo su -

2. Install acme.sh
Install acme.sh dengan cara

apt install socat 
curl https://get.acme.sh | sh

Pertama kali setelah menginstall acme.sh, reload konfigurasi .bashrc agar perintah acme.sh dikenali oleh shell.

source ~/.bashrc

3. Generate SSL
Sebelum menggenerate, matikan service nginx, karena kita akan menjalankan http dari socat untuk mempermudah instalasi SSL Lets Encrypt.

# matikan service nginx
systemctl stop nginx
# generate SSL untuk domain
acme.sh --issue -d yii.jaranguda.com --standalone
# jalankan service nginx
systemctl start nginx

SSL yii framework acme

Install Nginx Web Server

Nginx bisa dibilang sangat populer beberapa tahun belakangan ini, selain karena kecepatannya, juga karena kemudahan konfigurasinya dibandingkan dengan Apache web server. Sewaktu menginstall PHP 7.4 diatas, Ubuntu otomatis menginstall package apache2 dan menjalankannya. Untuk itu harus matikan service apache dan jalankan nginx.

# matikan service apache
sudo systemctl disable --now apache2
# jalankan service nginx
sudo systemctl enable --now nginx

Server Block Domain

Buat konfigurasi nginx untu nama domain anda, disini saya menggunakan domain yii.jaranguda.com

cat >/etc/nginx/sites-enabled/yii.jaranguda.com.conf <<'EOL'
server {
    listen 80;
    server_name yii.jaranguda.com;
    return 301 https://$host$request_uri;
}
 
server {
    listen 443 ssl http2;
    server_name yii.jaranguda.com;
    root /var/www/html/yii.jaranguda.com/web;
    index index.php index.html;
    ssl_certificate /root/.acme.sh/yii.jaranguda.com/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/yii.jaranguda.com/yii.jaranguda.com.key;
 
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
 
    location ~ \.php(?:$|/) {
        fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
        try_files $fastcgi_script_name =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param modHeadersAvailable true;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_intercept_errors on;
    }
}
EOL

Restart nginx

systemctl restart nginx

Install Yii Framework

Sesuai dengan konfigurasi nginx diatas, kita akan meletakkan Yii di folder /var/www/html/yii.jaranguda.com

composer create-project --prefer-dist yiisoft/yii2-app-basic /var/www/html/yii.jaranguda.com

Set permission file dan folder agar bisa diakses oleh nginx dan PHP-FPM

sudo chown www-data:www-data -R /var/www/html/laravel8.jaranguda.com

Setelah selesai, sekarang buka http://namadomain
Yii Framework sukses terinstall

Leave a comment

Your email address will not be published. Required fields are marked *