Ubuntu 20.02 baru saja dirilis ke public, Ubuntu Focal Fossa membawa PHP 7.4, Nginx 1.17 dan MariaDB 10.3 dengan begitu untuk menginstall versi tersebut tidak perlu menggunakan repository thirdparty.

Linux Nginx MySQL/MariaDB PHP bisa dibilang salah satu yang paling banyak digunakan di dunia, contoh website yang menggunakan stack tersebut WordPress, Laravel, Codeigniter, CakePHP, Symfony, dan Drupal.

Update Ubuntu Focal Fossa

Untuk memastikan kita menggunakan paket software paling baru, terlebih dahulu di upgrade system Ubuntunya

apt update; apt upgrade -y

Install PHP

Seperti sudah disebutkan diatas, versi PHP terbaru saat ini adalah 7.4 dan sudah termasuk didalam repository Ubuntu 20.04. Install langsung dari repository

apt-get install php7.4 php7.4-cli php7.4-common php7.4-gd php7.4-xmlrpc php7.4-fpm \
        php7.4-curl php7.4-intl php-imagick php7.4-mysql php7.4-zip php7.4-xml \
        php7.4-mbstring php7.4-bcmath -y

Install MariaDB

Langsung install database server MariaDB dengan

apt install mariadb-server -y

Buat database baru, yang nantinya akan kita gunakan untuk testing koneksi antara PHP dan MariaDB. Jalankan mysql, dari mysql shell eksekusi

create database dbtest;
GRANT ALL PRIVILEGES ON dbtest.* TO "jaranguda"@"localhost" IDENTIFIED BY "aAKAEh9mYisEKfKkaNCP";

Install Nginx

Install webserver nginx dengan

apt install nginx -y

Hapus server block default nginx

rm -f /etc/nginx/sites-enabled/default

buat baru file /etc/nginx/sites-enabled/default yang berisi

server {
    listen       80;
    server_name  ubuntu.jaranguda.com;
    root   /var/www/;
    index index.php index.html;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php(?:$|/) {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_intercept_errors on;
    }
}

buat file /var/www/index.php yang berisi

<?php
 
phpinfo();

Untuk testing koneksi PHP ke MySQL dan Nginx kita buat satu file /var/www/mysql.php, yang berisi

<?php
 
$DB_SERVER = "localhost";
$DB_USER = "jaranguda";
$DB_PASSWORD = "aAKAEh9mYisEKfKkaNCP";
$DB_NAME = "dbtest";
$mysqli = new mysqli("$DB_SERVER","$DB_USER","$DB_PASSWORD","$DB_NAME");
 
echo "<pre>";
var_dump($mysqli);
die;

Jalankan Services

jalankan services PHP MariaDB dan NGINX

systemctl restart php7.3-fpm.service
systemctl restart mariadb
systemctl restart nginx

jangan lupa mengaktifkan service tersebut sewaktu, agar waktu server restart servicenya langsung jalan

systemctl enable php7.3-fpm.service
systemctl enable mariadb
systemctl enable nginx

Tahap Testing

Setelah semuanya terinstall waktunya untuk mengecek apakah sudah berjalan dengan normal atau sesuai dengan yang kita harapkan.

1. Cek PHP info
Buka alamat http://IP-Server/info.php
ubuntu 20.04 php 7.4

2. PHP MySQL
Buka alamat http://IP-Server/mysql.php
koneksi php mysql ubuntu 20.04

Leave a comment

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