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
2. PHP MySQL
Buka alamat http://IP-Server/mysql.php