Cara Instal PHP di Ubuntu: Panduan Lengkap Instalasi, Konfigurasi, dan Troubleshooting untuk Pemula

目次

1. Pendahuluan

Alasan Menggunakan PHP di Ubuntu

PHP adalah bahasa skrip sisi server yang digunakan oleh banyak aplikasi web termasuk WordPress. Secara khusus, PHP telah digunakan secara luas dalam pengembangan web selama bertahun-tahun, dan banyak CMS serta framework dibangun menggunakan PHP.

Ubuntu adalah distribusi Linux yang stabil dan banyak digunakan oleh pengembang di seluruh dunia, serta sangat cocok untuk keperluan server. Kombinasi Ubuntu dan PHP digunakan secara luas, mulai dari pengembangan pribadi hingga lingkungan produksi perusahaan.

Target Pembaca dan Tujuan Artikel Ini

Artikel ini ditujukan bagi pemula yang “ingin menginstal PHP di Ubuntu tetapi tidak tahu harus mulai dari mana”, hingga pengguna tingkat menengah yang ingin “menginstal versi PHP tertentu”. Panduan ini akan menjelaskan langkah-langkah secara mudah dipahami.

Versi Ubuntu yang digunakan dalam panduan ini adalah 22.04 LTS, namun pada dasarnya, langkah-langkahnya juga berlaku untuk versi lain.

Apa yang Akan Anda Pelajari di Artikel Ini

Dengan membaca artikel ini, Anda akan dapat memahami dan mempraktikkan hal-hal berikut:

  • Cara dasar instalasi PHP di Ubuntu
  • Cara menginstal dan beralih antara beberapa versi PHP
  • Cara mengecek dan menangani masalah PHP
  • Konfigurasi integrasi PHP dengan Apache atau Nginx
  • Cara memasang modul PHP yang umum digunakan

2. Persyaratan & Persiapan

Cara Mengecek Versi Ubuntu

Pertama, pastikan versi Ubuntu yang Anda gunakan. Cara instalasi PHP dan modul yang kompatibel mungkin sedikit berbeda tergantung versinya.

Jalankan perintah berikut untuk mengecek versi Ubuntu Anda.

lsb_release -a

Atau, gunakan perintah berikut untuk mendapatkan informasi versi:

cat /etc/os-release

Pada artikel ini, penjelasan berfokus pada Ubuntu 22.04 LTS, tetapi langkah dasarnya sama untuk 20.04 dan 23.10.

Memperbarui Paket Sistem ke Versi Terbaru

Sebelum menginstal PHP, sangat penting untuk memastikan semua paket di sistem Anda sudah terbaru. Untuk menghindari konflik dependensi lama, jalankan perintah berikut terlebih dahulu:

sudo apt update
sudo apt upgrade -y

Ini akan memperbarui indeks paket APT dan memastikan instalasi paket-paket terbaru.

Menginstal Utilitas yang Diperlukan

Untuk menginstal beberapa versi PHP, Anda mungkin perlu menambahkan repository dan mengelola paket menggunakan software-properties-common. Jika belum ada, instal dengan perintah berikut:

sudo apt install -y software-properties-common

Paket ini dibutuhkan saat menggunakan perintah add-apt-repository, terutama jika Anda ingin menambahkan PPA (Personal Package Archive) untuk PHP.

Menggunakan Hak Akses root atau sudo

Banyak operasi dalam artikel ini membutuhkan hak akses sistem. Jalankan perintah dengan sudo. Jika Anda belum terbiasa, sebaiknya pelajari dasar penggunaan perintah sudo.

3. Cara Menginstal PHP

Ada dua cara utama untuk menginstal PHP di Ubuntu:
1) Dari repository standar,
2) Dengan menambahkan PPA (Personal Package Archive) untuk memilih versi tertentu.
Berikut penjelasannya.

Menginstal PHP dari Repository Standar

Repository standar Ubuntu menyediakan versi PHP yang stabil. Jika Anda tidak membutuhkan versi khusus, instalasi dapat dilakukan dengan perintah berikut:

sudo apt install -y php

Setelah instalasi, cek apakah PHP sudah terpasang dengan benar:

php -v

Contoh Output:

PHP 8.1.2 (cli) (built: ...)

Di Ubuntu 22.04, versi standar adalah PHP 8.1.

Menginstal Versi Spesifik PHP dengan PPA

Jika Anda ingin menggunakan versi PHP terbaru atau beberapa versi sekaligus, tambahkan PPA ondrej/php:

Langkah 1: Tambahkan Repository PPA

sudo add-apt-repository ppa:ondrej/php
sudo apt update

Repository ini tepercaya dan banyak digunakan oleh komunitas Ubuntu.

Langkah 2: Instal Versi PHP yang Diinginkan

Contoh, untuk menginstal PHP 8.2:

sudo apt install -y php8.2

Anda juga bisa menginstal PHP 7.4, 8.0, dll.

Langkah 3: Cek Versi

php -v

Jika instalasi berhasil, akan muncul informasi versi tersebut.

4. Mengecek Apakah PHP Berjalan

Setelah PHP terpasang, cek apakah sudah berjalan dengan baik. Di Ubuntu, Anda bisa cek dari CLI dan juga melalui web server (Apache/Nginx).

Cek Melalui Command Line (CLI)

Jalankan perintah berikut untuk memastikan PHP aktif:

php -v

Jika muncul informasi versi dan build, berarti CLI sudah berjalan.

Contoh Output:

PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies

Cek Melalui Web Server (Apache)

Jika Anda menggunakan Apache, buat halaman tes menggunakan fungsi phpinfo():

1. Buat File Tes

Jalankan perintah berikut di direktori publik Apache (biasanya /var/www/html):

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. Akses di Browser

Buka http://localhost/info.php di browser.

3. Cek Tampilan

Jika muncul informasi PHP lengkap, berarti PHP terintegrasi dengan Apache.

🔍 Catatan: Karena phpinfo() menampilkan informasi sensitif, sebaiknya hapus file info.php setelah pengecekan.

sudo rm /var/www/html/info.php

Cek dengan Nginx + PHP-FPM

Jika menggunakan Nginx, PHP diproses melalui php-fpm. Setelah konfigurasi sesuai, buat file info.php seperti di atas dan akses melalui browser. Jika terjadi error 500 atau file terunduh, cek konfigurasi Nginx terkait fastcgi_pass dan include fastcgi-php.conf;.

5. Instalasi Modul PHP yang Sering Digunakan

Paket inti PHP tidak langsung mendukung semua fitur. Banyak fitur tersedia sebagai modul/ekstensi yang perlu diinstal terpisah. Berikut beberapa modul PHP penting yang sering digunakan dalam pengembangan maupun produksi.

Apa Itu Modul PHP?

Modul (atau ekstensi) PHP menambahkan fitur seperti koneksi database, penanganan karakter multibyte, pengolahan gambar, pemrosesan XML, dan lain-lain.

Modul tersedia sebagai paket APT dan dapat diinstal dengan:

sudo apt install php-nama-modul

Jika ingin menentukan versi, misalnya php8.2-mbstring:

Modul PHP Utama & Fungsinya

php-mbstring (Dukungan Karakter Multibyte)

Modul penting untuk menangani string multibyte seperti bahasa Jepang. Wajib untuk situs berbahasa Jepang atau pengolahan email.

sudo apt install php-mbstring

php-mysql (Koneksi MySQL/MariaDB)

Diperlukan jika ingin terhubung ke database MySQL atau MariaDB. Wajib untuk aplikasi berbasis database seperti WordPress.

sudo apt install php-mysql

php-gd (Pengolahan Gambar)

Untuk membuat/mengubah/mengubah ukuran gambar, seperti membuat thumbnail atau memproses screenshot.

sudo apt install php-gd

php-xml (Pengolahan XML)

Untuk memproses data berbasis XML seperti RSS Feed, SOAP, dan API.

sudo apt install php-xml

php-curl (HTTP Communication)

Untuk mengirim request HTTP dari server, misal saat integrasi dengan API eksternal. Banyak framework PHP menggunakannya secara default.

sudo apt install php-curl

php-zip (Manajemen File ZIP)

Untuk kompresi/dekompresi file ZIP, misal saat fitur upload file.

sudo apt install php-zip

Mengaktifkan Modul & Restart Web Server

Beberapa modul butuh aktivasi setelah instalasi dengan phpenmod:

sudo phpenmod nama-modul
sudo systemctl restart apache2

Setelah diaktifkan, restart web server agar modul berfungsi.

6. Manajemen & Pergantian Versi PHP

Di Ubuntu, Anda bisa menginstal beberapa versi PHP pada satu server dan beralih sesuai kebutuhan. Sangat bermanfaat untuk lingkungan pengembangan atau server dengan banyak aplikasi web.

Di bawah ini cara beralih versi di CLI dan Apache.

Beralih Versi PHP di CLI

Perintah yang Digunakan: update-alternatives

Gunakan update-alternatives untuk beralih versi PHP di CLI.

Langkah 1: Cek Versi PHP Terinstal

ls /usr/bin/php*

Langkah 2: Registrasi Versi PHP di update-alternatives (satu kali saja)

sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82

Langkah 3: Pilih Versi yang Akan Digunakan

sudo update-alternatives --config php

Akan muncul pilihan seperti:

Ada 2 pilihan untuk alternatif php (menyediakan /usr/bin/php).

  Pilihan   Path              Prioritas   Status
----------------------------------------------------------
* 0         /usr/bin/php8.2   82          mode otomatis
  1         /usr/bin/php7.4   74          mode manual
  2         /usr/bin/php8.2   82          mode manual

Tekan <enter> untuk mempertahankan pilihan saat ini[*], atau ketik nomor pilihan:

Pilih nomor versi yang diinginkan untuk beralih.

Langkah 4: Cek Versi PHP

php -v

Beralih Versi PHP di Apache

Di Apache, Anda bisa beralih versi dengan mengaktifkan/menonaktifkan modul versi PHP yang berbeda.

1. Cek Modul PHP yang Tersedia

ls /etc/apache2/mods-available | grep php

2. Nonaktifkan Modul yang Sedang Aktif

sudo a2dismod php7.4

3. Aktifkan Modul Versi yang Diinginkan

sudo a2enmod php8.2

4. Restart Apache

sudo systemctl restart apache2

Sekarang, versi PHP pilihan Anda aktif di CLI dan Apache.

7. Konfigurasi Integrasi dengan Apache dan Nginx

PHP dapat bekerja secara optimal dengan web server populer seperti Apache dan Nginx. Berikut penjelasan cara integrasi pada keduanya di Ubuntu.

Integrasi dengan Apache (mod_php)

Apache dapat langsung memproses skrip PHP dengan modul mod_php. Cara ini paling mudah untuk CMS seperti WordPress.

Langkah 1: Instal Apache & mod_php

sudo apt install -y apache2 libapache2-mod-php

Paket libapache2-mod-php memungkinkan Apache memproses file PHP.

Langkah 2: Restart Apache

sudo systemctl restart apache2

Langkah 3: Tes File PHP

Buat file test.php di /var/www/html seperti berikut:

<?php
phpinfo();
?>

Akses di browser:

http://localhost/test.php

Integrasi dengan Nginx (PHP-FPM)

Nginx tidak dapat memproses PHP langsung, sehingga perlu PHP-FPM sebagai penghubung.

Langkah 1: Instal Nginx & PHP-FPM

sudo apt install -y nginx php-fpm

Langkah 2: Edit Konfigurasi Nginx

Biasanya file /etc/nginx/sites-available/default yang diedit.

sudo nano /etc/nginx/sites-available/default

Tambahkan atau edit blok berikut:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Langkah 3: Restart Nginx

sudo systemctl restart nginx

Langkah 4: Tes File PHP

Buat file /var/www/html/test.php seperti sebelumnya dan akses di browser.

Catatan: Pengaturan Firewall (Jika Diperlukan)

Jika menggunakan UFW (Uncomplicated Firewall), izinkan akses web server dengan:

sudo ufw allow 'Apache Full'
# atau
sudo ufw allow 'Nginx Full'

Pilih Apache untuk kemudahan, atau Nginx untuk performa tinggi. Pastikan PHP terintegrasi dengan benar.