Published on

Cara Instalasi FEMP Stack di FreeBSD

Authors

BACA JUGA : Install LEMP Stack di Arch Linux dan Manjaro

Isi konten :

Tulisan ini berisi panduan instalasi dan konfigurasi FEMP Stack di FreeBSD. FEMP (FreeBSD, Nginx, MariaDB/MySQL dan PHP) digunakan untuk keperluan hosting website dan aplikasi atau bisa juga untuk testing website dan aplikasi di komputer lokal. Nginx (dibaca: Engine X) adalah web server yang memiliki performa tinggi dan stabil, nginx cukup populer dan banyak digunakan oleh server website dengan lalu lintas tinggi. MySQL adalah manajemen basis data yang berfungsi sebagai penyimpanan data website dan aplikasi. PHP adalah bahasa pemrograman pada sisi server yang memungkinkan membuat website yang dinamis.

Proses instalasi dilakukan sepenuhnya menggunakan terminal, buka terminal Ctrl+Alt+T

Upgrade Sistem

Sebelum melakukan proses instalasi, upgrade sistem terlebih dahulu, gunakan perintah sudo freebsd-update fetch && freebsd-update install

sudo freebsd-update fetch
sudo freebsd-update install

Install Nginx

sudo pkg install -y nginx

cek versi nginx

nginx -v

setelah instalasi selesai, aktifkan layanan nginx

sudo sysrc nginx_enable=yes

jalankan nginx

sudo service nginx start

lihat status nginx

sudo service nginx status

buka localhost di browser/peramban

nginx

Install MySQL

sudo pkg install -y mysql80-client mysql80-server

aktifkan layanan MySQL

sudo sysrc mysql_enable=yes

jalankan MySQL

sudo service mysql-server start

jalankan mysql_secure_installation untuk menambah keamanan MySQL, dan ikuti panduannya

masuk ke MySQL

sudo mysql -u root -p

Install PHP

sudo pkg install php74 php74-extensions php74-curl php74-zip php74-zlib

setelah instalasi selesai, copy php.ini-production sebagai php.ini

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

lakukan konfigurasi di php.ini

sudo nano /usr/local/etc/php.ini

hapus tanda semi-colon ; pada cgi.fix_pathinfo=0 lalu simpan

aktifkan layanan php-fpm

sudo sysrc php_fpm_enable=yes

kemudian jalankan layanan php-fpm

sudo service php-fpm start

Konfigurasi PHP-FPM

Ada sedikit perubahan pada konfigurasi php-fpm pada file /usr/local/etc/php-fpm.d/www.conf, buka file dengan nano.

sudo nano /usr/local/etc/php-fpm.d/www.conf

berikan tanda semi-colon ; di depan baris listen = 127.0.0.1:9000 lalu tambahkan baris listen = /var/run/php-fpm.sock di bawahnya, kemudian akan menjadi seperti ini

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm.sock

hapus tanda semi-colon ; juga pada baris berikut

listen.owner = www
listen.group = www
listen.mode = 0660

restart service php-fpm

sudo service php-fpm restart

Konfigurasi Nginx

konfigurasi nginx agar file ekstensi php dapat dibaca oleh web server, edit file konfigurasi nginx.conf dengan nano

sudo nano /usr/local/etc/nginx/nginx.conf

ubah script konfigurasi nginx.conf menjadi seperti berikut

/usr/local/etc/nginx/nginx.conf
user  www;
worker_processes  1;
error_log /var/log/nginx/error.log info;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    access_log /var/log/nginx/access.log;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name localhost; #sesuaikan nama servernya
        root /usr/local/www/nginx; #sesuaikan direktori root webnya
        index index.php index.html index.htm; # penambahan index.php

        location / {
            try_files $uri $uri/ =404;
        }

        error_page      500 502 503 504  /50x.html;
        location = /50x.html {
            root /usr/local/www/nginx-dist;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                include fastcgi_params;
        }
    }
}

keluar dan simpan perubahan

restart nginx untuk menerapkan perubahan konfigurasi nginx.conf

sudo service nginx restart

buat file phpinfo.php untuk melihat status php

nano /usr/local/www/nginx/phpinfo.php

tuliskan kode berikut

<?php
phpinfo();
?>

simpan dan buka localhost/phpinfo.php di browser/peramban