Deploy Install dan Konfigurasi Framework PHP Codeigniter 4 - Webserver Nginx di Ubuntu Server GNU/Linux


Assalamualaikum Wr.Wb...
dengan diberikan nikmat dan rezeki dari Allah SWT, saya Mr.Gagaltotal666 akan
berbagi kepada anda yaitu tentang Deploy Install dan Konfigurasi Codeigniter 4
dengan Webserver Nginx di Ubuntu Server GNU/Linux.

sebelum anda ingin mencoba Framework Codeigniter 4
persiapkan LAMP dan LEMP stack terlebih dahulu
anda bisa lihat artikel saya sebelum nya [Lemp stack]

oke lanjut ke tutorial cara deploy dan config Ci 4 di Nginx

back to terminal area

pertama membuat virtual hosts
didirectory /etc/hosts

$ sudo vim /etc/hosts
$ sudo nano /etc/hosts

127.0.0.1 gagaltotal666.net
192.168.100.85 gagaltotal666.net

selanjut nya install composer

$ sudo curl -s https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

buat directory/folder Ci4 untuk mengunduh di composer
menginstal CI 4 dengan composer, silahkan ketik perintah berikut.

$ composer create-project codeigniter4/appstarter ci-news -vvv

Ada beberapa argumen yang kita berikan pada perintah ini:
1. create-project adalah perintah untuk membuat
proyek baru dengan composer;
2. codeigniter4/appstarter adalah file CI yang akan di-download;
3. ci-news adalah nama proyek yang akan kita buat;
4. -vvv berfungsi untuk melihat proses install lebih detail.

atau anda bisa mendownload manual di website resmi CI 4
contoh sebagai berikut unduh menggunakan wget

$ wget https://github.com/codeigniter4/framework/archive/v4.1.4.zip

selanjut nya, extract file tersebut menggunakan unzip

$ unzip -x file-ci4.zip

kemudian ubah nama env menjadi .env
masuk directory/folder CI4 tadi yang sudah di extract
contoh sebagai berikut

$ cd ci4-app
$ mv env .env

kita harus mengubah environment
variabel CI_ENVIRONMENT menjadi development.
Silahkan buka file env, kemudian cari variabel CI_ENVIRONMENT
dan ubahlah nilainya menjadi development.

#before
CI_ENVIRONMENT = production

#after
CI_ENVIRONMENT = development

Nanti, setelah kita selesai mengembangkan aplikasi
atau aplikasi sudah jadi/fix. baru deh ubah kembali
CI_ENVIRONTMENT menjadi production.

jika kamu ada kendala error di CI4 nya
contoh installed and loaded: intl [silakan baca artikel ini]

langkah selanjut nya koneksikan DB ke Ci4
silakan anda buat DB anda masing-masing sesuai yang ada di aplikasi anda

$ sudo mysql -u user -p
$ create database nama_db;

masuk ke config Database di CI4, berada di folder app/Config/
cari file Database.php

public $default = [
        'DSN'      => '',
        'hostname' => 'localhost',
        'username' => 'root',
        'password' => 'rahasia',
        'database' => 'db_name',
        'DBDriver' => 'MySQLi',
        'DBPrefix' => '',
        'pConnect' => false,
        'DBDebug'  => (ENVIRONMENT !== 'production'),
        'charset'  => 'utf8',
        'DBCollat' => 'utf8_general_ci',
        'swapPre'  => '',
        'encrypt'  => false,
        'compress' => false,
        'strictOn' => false,
        'failover' => [],
        'port'     => 3306,
    ];

selanjut nya jangan lupa config baseurl nya
jika kamu sudah mempunyai domain,
tinggal kamu ubah ke nama domain kamu di baseurl
kalau menggunakan localhost:8080,
untuk port bisa kamu sesuaikan dengan config nya
contoh sebagai berikut

#port 8080
public $baseURL = 'http://localhost:8080/';

#port 80
public $baseURL = 'http://localhost:80/';

#menggunakan domain
public $baseURL = 'http://ghostgtr666.app:80/';

atau anda bisa menggunakan file .env
untuk koneksi Database dan Baseurl
contoh sebagai berikut

#--------------------------------------------------------------------
# DATABASE
#--------------------------------------------------------------------
 
 database.default.hostname = localhost
 database.default.database = ci4_app
 database.default.username = root
 database.default.password = rahasia
 database.default.DBDriver = MySQLi

untuk di baseurl nya .env, port 80, 8080 dan domain

#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------

 app.baseURL = 'http://localhost:80/'

#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------

 app.baseURL = 'http://localhost:8080/'

#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------

 app.baseURL = 'http://domain.com'

selanjut nya pergi ke directory system [referensi]
dan cari file CodeIgniter.php
kenapa harus mengedit file ini ?, karena jika di running
akan muncul error di bagian locale_set_default
jadi kita edit terlebih dahulu
contoh seperti ini

#before
locale_set_default($this->config->defaultLocale ?? 'en');

#after
if( function_exists('locale_set_default' ) ) :
    locale_set_default($this->config->defaultLocale ?? 'en');
    endif;

kemudian save, nah sesudah itu copy folder CI4 ke root nya nginx
yang berada di directory /var/www/html

$ sudo cp -r folder-ci4 /var/www/html/ci4-app

ubah hak akses folder menjadi 777

$ sudo chmod -R 777 ci4-app

kalau sudah tinggal langkah terakhir buat conf di nginx
buat conf untuk aplikasi CI4 tadi
di directory /etc/nginx/conf.d/

$ sudo vim /etc/nginx/conf.d/ci4-app.conf
$ sudo nano /etc/nginx/conf.d/ci4-app.conf

isi code conf simple sebagai berikut

server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    root  /var/www/html/example.com/public;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php-fpm:
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        # With php-cgi:
        # fastcgi_pass 127.0.0.1:9000;
    }

    error_page 404 /index.php;

    # deny access to hidden files such as .htaccess
    location ~ /\. {
        deny all;
    }
}

varian IP local satu jaringan, dan localhost

server {
    listen 80;
    listen [::]:80;

    server_name ghostgtr666.net;

    root  /var/www/html/ci4-app/public;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php-fpm:
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        # With php-cgi:
        # fastcgi_pass 127.0.0.1:9000;
    }

    error_page 404 /index.php;

    # deny access to hidden files such as .htaccess
    location ~ /\. {
        deny all;
    }
}

karena saya menggunakan php 7.4 fpm nya
jika kamu menggunakan 7.3 tinggal ubah saja php7.3-fpm.sock

setelah itu reload atau restart nginx

$ sudo nginx -t
$ systemctl restart nginx

buka di browser nama virtualhost tadi yang dibuat
atau domain anda

contoh

$ gagaltotal666.net

$ 192.168.100.85






jika anda masih kurang mengerti
silakan simak video tutorial dibawah ini


oke mungkin itu saja mengenai install dan konfigurasi CI4
jika ada kesalahan dan kekurangan nya
mohon berikan masukan nya ya

sekian dan semoga bermanfaat...

Wasalamualaikum Wr.Wb...

Post a Comment

0 Comments