setup multipel versi php di ubuntu tanpa xampp
menjalankan project laravel yang masih menggunakan versi lama membuat kebutuhan akan multiple php version sangat penting. let's check this out beibeh.
Perkenalan
saya memiliki project yang masih menggunakan laravel versi 9, dimana php versi yang diperlukan untuk menjalankan aplikasi ini adalah versi 8.1. sedangkan saat artikel ini dibuat versi php terbaru adalah versi 8.4 dan laravel versi terbaru adalah versi laravel 11.
di windows bisa dengan mudah menggunakan xampp dan mengatur versi php lewat path environment nya. di ubuntu karena saya tidak mau menggunakan xampp lagi maka saya akan menginstall satu per satu tools yang dibutuhkan untuk laravel development seperti php, mysql, apache server, phpmyadmin dan composer dengan tujuan belajar.
karena di VPS biasanya kita akan men-setup satu persatu tools yang kita butuhkan maka kali ini saya semangat untuk menguliknya.
eksekusi
1. install multipel versi php
pertama kita akan menginstall tools yang diperlukan secara umum di ubuntu.
install-common-sofware
selanjutanya kita akan menambahkan ppa repository milik mamang ondrej agar kita dapat menginstall php melalui apt command di ubuntu.
menambahkan-ppa-php
kita akan mengupdate package list karena kita sudah menambahkan ppa repository php milik mamang ondrej
update-list-package
selanjutnya kita akan menginstall php versi 8.3 dan versi 8.1 dan ditambah dengan package-package lain yang biasanya dibutuhkan untuk pengembangan web menggunakan php.
install-php83
install-php8.1
kita bisa check apakah php versi tertentu yang telah kita install berhasil di terminal kita.
check-php
2. setting php di apache
sebelum melakukan step ini pastikan sudah menginstall apache server di komputer kita.
install-apache-server
selanjutnya kita meng-enable apache modules yang diperlukan
enable-apache-modules
setelah itu kita meng-enable php-fpm configuration, sesuaikan versi php yang telah di install dengan command ini.
enable-apache-modules
selanjutnya restart apache server untuk memastikan perubahan yang sudah kita lakukan di terapkan.
enable-apache-modules
3. setting virtual host untuk setiap versi php
cara berganti versi php dengan cara lama dapat dilakukan dengan apache modules (libapache2-mod-php8.x). tapi kita akan menggunakan cara terbaru yaitu menggunakan php fpm (php8.x-fpm).
konfigurasi dari virtual host di apache biasanya terdapat di directory /etc/apache2/sites-available/
. jadi kita akan menambahkan file konfigurasi untuk masing-masing versi php di dalam directory tersebut.
kita akan membuat dan membuka file tersebut dengan vim text editor. kita setting dulu untuk php versi 8.1.
file-konfigurasi-php81
selanjutnya di dalam file tersebut kita tambahkan konfigurasi php fpm nya.
kode-config-host-php8.1
selanjutnya lakukan hal yang sama untuk php versi 8.3.
file-konfigurasi-php8.3
kode-config-host-php8.3
selanjutnya kita akan meng-enable file konfigurasi di atas dan meng-disable untuk default site dan meng-disable ini adalah optional.
enable-configuration
disable-default-site
selanjutnya reload apache service nya.
reload-apache
jangan lupa untuk menambahkan entri untuk domain di /etc/hosts
jika kita menggunakan local domain.
add-local-domain
dan terakhir pastikan documentRoot yang telah kita setting di konfigurasi virtual host tiap versi php sudah ada dan memiliki permission yang tepat.
DocumentRoot-dan-permission
4. berpindah-pindah versi php
untuk berpindah versi satu php ke versi lain kita bisa menggunakan update-alternatives
.
switch-php-version
agar lebih mudah kita bisa menambahkan alias ke shell kita. di sini saya menggunakan zsh jadi saya perlu menambahkan alias ke file .zshrc
.
alias-switch-php
sehingga di terminal kita cukup mengetikan alias nya daripada mengetik full command yang panjang.
alias-usage
penutup
cukup banyak step dan command yang kita lakukan hanya untuk membuat kita dapat berpindah-pindah versi php di ubuntu tanpa xampp. menyenangkan ini karena step step di atas adalah rangkuman dari berbagai cara yang saya dapatkan dari website orang, dan AI.
cara di atas mungkin belum tentu bekerja di mesin atau distro linux lain, tapi paling tidak it works for me
HAHAHAAHAHA.
semoga bermanfaat di masa depan untuk diri saya sendiri khususnya dan untuk kalian semua umumnya. matur tengkyu
ADIOSSS!