Halo Sobat Hamtronik,
Sesuai dengan judul, menjalankan multipel HPH di ubuntu server. Kenapa harus multipel PHP?
Tidak menutup kemungkinan dalam satu server yang kita miliki terdapat beberapa aplikasi web, dan masing-masing aplikasi tersebut dibangun menggunakan Versi PHP yang berbeda.
Dengan cara yang akan kita bahas ini, kita bisa menjalankan beberapa versi php sesuai kebutuhan aplikasi.
Persiapan:
OS: Ubuntu Server 22.04
Webserver: Apache
shoftware:
WinsCP + PuTTY
dua buah subdomain yang sudah mengarah pada server, misal sub1.domainku.com dan sub2.domainku.com
Dalam kasus ini nanti sub1.domainku.com akan menggunakan PHP 8.1 dan sub2.domainku.com akan menggunakan PHP 7.4
Baik ikuti langkah-langkah berikut:
Langkah 1: Pembaruan Sistem
Instal PHP 8.0:
Sekarang Anda dapat menginstal PHP8.0
di Ubuntu dengan menjalankan perintah berikut:
sudo apt-get install php8.0 php8.0-fpm
Dan instal beberapa PHP8.0
ekstensi umum.
sudo apt-get install php8.0-mysql php8.0-mbstring php8.0-xml php8.0-gd php8.0-curl
- sudo systemctl start php8.0-fpm
Instal PHP 7.4:
Sekarang Anda dapat menginstal PHP7.4
di Ubuntu dengan menjalankan perintah berikut:
sudo apt-get install php7.4 php7.4-fpm
Dan instal beberapa PHP7.4
ekstensi umum.
sudo apt-get install php7.4-mysql php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl
sudo systemctl start php7.4-fpm
Instal PHP 7.3:
Sekarang Anda dapat menginstal PHP7.3
di Ubuntu dengan menjalankan perintah berikut:
sudo apt-get install php7.3 php7.3-fpm
Dan instal beberapa PHP7.3
ekstensi umum.
sudo apt-get install php7.3-mysql php7.3-mbstring php7.3-xml php7.3-gd php7.3-curl
sudo systemctl start php7.3-fpm
Saat diminta, tekan y untuk mengonfirmasi instalasi.
Instal PHP 7.2:
Sekarang Anda dapat menginstal PHP7.2
di Ubuntu dengan menjalankan perintah berikut:
sudo apt-get install php7.2 php7.2-fpm
Dan instal beberapa PHP7.2
ekstensi umum.
sudo apt-get install php7.2-mysql php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
sudo systemctl start php7.2-fpm
Saat diminta, tekan y untuk mengonfirmasi instalasi.
Instal PHP 7.1:
Sekarang Anda dapat menginstal PHP7.1
di Ubuntu dengan menjalankan perintah berikut:
sudo apt-get install php7.1 php7.1-fpm
Dan instal beberapa PHP7.2
ekstensi umum.
sudo apt-get install php7.1-mysql php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl
sudo systemctl start php7.1-fpm
Saat diminta, tekan y untuk mengonfirmasi instalasi.
Instal PHP 5.6:
Sekarang Anda dapat menginstal PHP5.6
di Ubuntu dengan menjalankan perintah berikut:
sudo apt-get install php5.6 php5.6-fpm
Dan instal beberapa PHP5.6
ekstensi umum.
sudo apt-get install php5.6-mysql php5.6-mbstring php5.6-xml php5.6-gd php5.6-curl
sudo systemctl start php5.6-fpm
Saat diminta, tekan y untuk mengonfirmasi instalasi
Menghapus Instalasi Versi PHP
Jika versi PHP tidak diperlukan lagi, versi tersebut dapat dihapus dari sistem. Itu akan mengosongkan ruang disk serta keamanan sistem.
Untuk menghapus instalasi versi PHP apa pun, Jalankan perintah berikut:
sudo apt-get remove php5.6
Hapus juga semua modul untuk versi tersebut, Jalankan perintah berikut:
sudo apt-get remove php5.6-*
Langkah 3: Menyiapkan Virtualhost
aktifkan fcgi modul apache, Jalankan perintah berikut:
sudo a2enmod actions fcgid alias proxy_fcgi
sekarang restart apache Jalankan perintah berikut:
sudo systemctl restart apache2
Selanjutnya membuat direktori untuk masing-masing subdomain
/var/www/sub1.domainku.com/public_html
/var/www/sub2.domainku.com/public_html
Kemudian Buat file info.php didalam folder public_html, isi dari file tersebut adalah :
<?php phpinfo(); ?>
Selanjutya buat file conf sesuai nama subdomain kita pada folder "/etc/apache2/sites-available/". berarti ada 2 file conf yang akan kita buat.
<VirtualHost *:80>
ServerAdmin admin@domainku.com
ServerName sub1.domainku.com
ServerAlias www.sub1.domainku.com
DocumentRoot /var/www/sub1.domainku.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<FilesMatch \.php$>
# Apache 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>
<Directory "/var/www/sub1.domainku.com/public_html">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@domainku.com
ServerName sub2.domainku.com
ServerAlias www.sub2.domainku.com
DocumentRoot /var/www/sub2.domainku.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<FilesMatch \.php$>
# Apache 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>
<Directory "/var/www/sub2.domainku.com/public_html">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Selanjutnya kita aktifkan 2 subdomain dengan perintah:
Lalu kita nonaktifkan default konfigurasi apache dengan perintah.:
Post a Comment