Menjalankan Multi PHP di Ubuntu Dengan PHP-FPM

Menjalankan Multi PHP di Ubuntu Dengan PHP-FPM

Dalam contoh kasus pada ubuntu 22 atau linux secara umum, kita hanya bisa menjalankan satu versi php sehingga terkadang ini menjadi masalah tersendiri terutama jika memang projek – projek web kita sendiri miliki requirement versi php yang berbeda untuk setiap projeknya. 

Untuk mengatasi permasalahan ini, kita bisa menggunakan berbagai macam metode tetapi dalam tutorial ini saya akan menggunakan PHP-FPM, dimana nantinya kita dapat mengelola multiple versi php dalam satu single instance atau dengan  kata lain nantinya kita bisa menjalankan beberapa versi php yang berbeda – beda secara bersamaan untuk setiap projek php yang berada pada komputer yang sama

PHP-FPM (FastCGI Process Manager) merupakan implementasi utama FastCGI PHP yang memiliki beberapa fitur yang berguna untuk situs dengan beban berat.

INFO

Sebelum ketahap instalasi saya ingin menjelaskan terlebih dahulu beberapa hal seperti :
  1. Saya menggunakan ubuntu 22
  2. Pada ubuntu 22 yang saya gunakan tentunya secara default sudah terinstall Apache Web Server
  3. Kemudian disini sebelumnya bahwa saya sudah pernah menginstall php dengan versi 8.2 sebagai default php yang digunakan pada ubuntu dimana lokasi default direktorynya berada di var/www/html

STUDI KASUS

Jadi nantinya akan berada dua projek web yang menjalankan versi php yang berbeda :
  1. Projek pertama nantinya akan berada di http://php7.test
  2. Lalu yang kedua berada di http://php81.test
RANGKUMAN INSTALASI
  1. Kita akan menginstal php7.4-fpm dan 8.1-fpm termasuk didalamnya untuk integrasi dengan mysql dan modul apache untuk FastCGI
  2. Selanjutnya mengaktifkan Module Supaya Service Apache dapat menjalankan beberapa versi php
  3. Kemudian kita perlu membuat direktori kerja kita pada /var/www/ dan melakukan konfigurasi VirtualHost pada /etc/apache2/sites-available dan /etc/hosts untuk dua projek dengan alamat yang sudah disebutkan pada STUDI KASUS diatas
       
 Setelah penjelasn – penjelasn diatas Anda baca, selanjutnya kita akan melangkah pada tahp pertama yaitu instalasi paket php 7.4 dan 8.1 dengan php fpm

 #1 INSTALASI MULTI PHP 

Langkah pertama kita install terlebih dahulu software properties common dengan perintah berikut :
sudo apt install software-properties-common -y 
Kemudian Anda perlu menambahkan repositori ondrej/php kedalam sistem supaya Anda dapat menginstall beberapa versi php
sudo add-apt-repository ppa:ondrej/php
Lalu lakukan update
sudo apt update
Selanjutnya kita instal php7.4 / 8.1 dan extensionnya dengan perintah berikut

sudo apt-get install php7.4 php7.4-fpm php7.4-mysql libapache2-mod-php7.4 libapache2-mod-fcgid -y

sudo apt-get install php8.1 php8.1-fpm php8.1-mysql libapache2-mod-php8.1 libapache2-mod-fcgid -y
Kemudian jalankan dan lihat status keduanya
sudo systemctl start php7.4-fpm
Untuk melihat status dari php 7.4 yang sudah diaktifkan, Anda dapat menuliskan perintah berikut :
sudo systemctl status php7.4-fpm
output : 


 php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor pr>
     Active: active (running) since Mon 2024-04-01 16:00:02 WIB; 5s ago
       Docs: man:php-fpm7.4(8)
    Process: 31488 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /ru>
   Main PID: 31485 (php-fpm7.4)
     Status: "Ready to handle connections"
      Tasks: 3 (limit: 18958)
     Memory: 7.1M
        CPU: 33ms
     CGroup: /system.slice/php7.4-fpm.service
             ├─31485 "php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)" >
             ├─31486 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "">
             └─31487 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "">

Apr 01 16:00:02 root93-hp systemd[1]: Starting The PHP 7.4 FastCGI Process Mana>
Apr 01 16:00:02 root93-hp systemd[1]: Started The PHP 7.4 FastCGI Process Manag>
lines 1-17/17 (END)



 #2 MENGAKTIFKAN MODUL 

 Selanjutnya kita perlu mengaktifkan modul yang sudah diinstall sebelumnya supaya service apache dapat bekerja dengan beberapa versi php didalamnya
sudo a2enmod actions fcgid alias proxy_fcgi
Selanjutnya restart apache dengan perintah
sudo service apache2 restart


#3 PENGATURAN PROJEK 

Pengaturan projek ini terdiri dari pembuatan direktori kerja untuk setiap projeknya dalam hal ini yaitu php7.test dan php81.test kemudian melakukan konfigurasi VirtualHost dan mengedit file hosts pada konfigurasi /etc/ Pertama buat direktori untuk masing – masing projeknya

sudo mkdir /var/www/php7.test
sudo mkdir /var/www/php81.test

sudo chown -R www-data:www-data /var/www/php7.test
sudo chown -R www-data:www-data /var/www/php8.test
Selanjutnya buat file index.php untuk masig – masing folder projek Anda pada php7.test dan php81.test
sudo nano /var/www/php7.test/index.php
Selanjutnya isi index.php dengan script untuk menampilkan info php seperti berikut

 <?php phpinfo(); ?>


Ulangi langkah yang sama untuk file pada php81.test Kemudian selanjutnya kita perlu melakukan konfigurasi apache atau dalam hal ini membuat sebuah virtualhost untuk setiap projeknya
sudo nano /etc/apache2/sites-available/php7.test.conf
Pada file php7.test.conf yang dibuat tersebut isi dengan script berikut : 


                                                                                                                          
<VirtualHost *:80>
        ServerAdmin admin@php7.test
        ServerName php7.test
        DocumentRoot /var/www/php7.test
        DirectoryIndex index.php

        <Directory /var/www/php7.test>
                Options Indexes FollowSymlinks MultiViews
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
        <FilesMatch \.php$>
                SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
        </FilesMatch>
        ErrorLog ${APACHE_LOG_DIR}/php7.test_error.log
        CustomLog ${APACHE_LOG_DIR}/php7.test_access.log combined
</VirtualHost>



 Ulangi langkah yang sama untuk konfigurasi pada projek dengan versi php 8.1 atau supaya lebih mudah, salin file konfigurasi apache sebelumnya dengan perintah berikut :
sudo cp /etc/apache2/sites-available/php7.test.conf /etc/apache2/sites-available/php81.test.conf
Kemudian setelah di copy, Anda tinggal rubah/edit konfigurasi, sesuaikan direktory datanya ke php81.test Selanjutnya kita cek apakah konfigurasinya sudah sesuai atau belum :
sudo apachectl configtest
output
Syntax OK
Selanjutnya kita aktifkan konfigurasi yang sudah dibuat sebelumnya :

sudo a2ensite php7.test
sudo a2ensite php81.test
Selanjutnya restart apachenya
sudo systemctl restart apache2
Terakhir kita tambahkan domain dari konfigurasi apache yang kita buat ke /etc/hosts
sudo nano /etc/hosts

127.0.0.1       php7.test
127.0.0.1       php81.test
Silahkan selanjutnya Anda tinggal menguji cobanya pada browser dengan mengakses masing – masing domain yaitu : http://php7.test http://php81.test Jika berhasil nanti setiap projeknya akan menampilkan versi php yang berbeda. Jika browser Anda menampilkan default pagenya Apache, silahkan bersihkan cache Anda atau akses domainnya menggunakan mode samaran. 

Jadi kurang lebih seperti itulah bagaimana menjalankan multi php di ubuntu dengan php-fpm, apache dan virtual host. Jika Anda mengalami masalah atau memiliki pertanyaan, silahkan tulis saja pada kolom komentar

Rangkuman Perintah - Perintah


sudo apt install software-properties-common -y 
sudo add-apt-repository ppa:ondrej/php
sudo apt-get install php7.4 php7.4-fpm php7.4-mysql libapache2-mod-php7.4 libapache2-mod-fcgid -y
sudo apt-get install php8.1 php8.1-fpm php8.1-mysql libapache2-mod-php8.1 libapache2-mod-fcgid -y
sudo systemctl start php7.4-fpm 
sudo systemctl status php7.4-fpm
sudo a2enmod actions fcgid alias proxy_fcgi
sudo mkdir /var/www/php7.test
sudo mkdir /var/www/php81.test
sudo chown -R www-data:www-data /var/www/php7.test
sudo chown -R www-data:www-data /var/www/php8.test
sudo nano /etc/apache2/sites-available/php7.test.conf
sudo cp /etc/apache2/sites-available/php7.test.conf /etc/apache2/sites-available/php81.test.conf
sudo apachectl configtest
sudo a2ensite php7.test
sudo a2ensite php81.test
sudo systemctl restart apache2




0 Response to "Menjalankan Multi PHP di Ubuntu Dengan PHP-FPM"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin

nagabet76slot gacorslot online1213141516Slot Online Menghadirkan Pengalaman Digital Yang Didukung Pemrosesan Data Secara Real TimeMahjongways Menganalisis Pola Visual Dan Dinamika Simbol Berdasarkan Pemrosesan Data DigitalMahjongways Mengembangkan Dinamika Permainan Melalui Pengelolaan Data Dan Elemen Visual TerintegrasiAnalisis Komputasi Modern Membantu Memetakan Dinamika Sistem Digital Berdasarkan Data ObservasiMember Baru Mendorong Dinamika Komunitas Digital Menuju Pengalaman Yang Lebih Aktif Dan Menarikslot onlinemahjongwayasarsitektur layananpemrosesan data adaptifmember baruSlot Online Terbaru Menghadirkan AnalisisScatter Hitam Dianalisis Melalui PemetaanPola Scatter Hitam Membentuk Distribusi Visual Yang Dapat Dikaji Menggunakan Komputasi AdaptifArsitektur Teknologi TerdistribusiTeknologi Visualisasi DataMahjongways Mengembangkan Interaksi Visual Melalui Integrasi Simbol Digital Yang DinamisAnalisis Mahjongways Memetakan Dinamika Visual Dan Respons Antarmuka Berbasis DataScatter Hitam Dianalisis Melalui Pemetaan Struktur Simbol Digital Berbasis Komputasi AdaptifAlgoritma Scatter Hitam Membantu Mengidentifikasi Dinamika Pola Melalui Analisis Data ObservasiPg Soft Mengembangkan Sistem Rendering Adaptif Untuk Mendukung Visualisasi Digital ModernTeknologi Pg Soft Mengoptimalkan Pemrosesan Grafis Melalui Arsitektur Rendering TerintegrasiTeknologi Pemodelan Data Membantu Menganalisis Dinamika Informasi Pada Ekosistem Digital ModernArsitektur Komputasi Terdistribusi Meningkatkan Keandalan Pengelolaan Data Pada Platform DigitalTeknologi Kecerdasan Komputasional Mendorong Pengembangan Sistem Digital Yang Lebih AdaptifPemrosesan Data Modern Membantu Memetakan Pola Informasi Melalui Pendekatan Komputasi TerukurTeknologi Integrasi Data Mempermudah Sinkronisasi Informasi Dalam Lingkungan Digital TerpaduVisualisasi Komputasi Modern Membantu Menginterpretasikan Perubahan Pola Pada Sistem Digital KompleksTeknologi Otomasi Data Meningkatkan Efisiensi Pengelolaan Informasi Pada Infrastruktur DigitalModel Komputasi Adaptif Mendukung Pengembangan Teknologi Digital Melalui Analisis Data BerkelanjutanPengembangan Pg Soft Mengintegrasikan Teknologi Rendering Dengan Interaksi Visual Yang ResponsifPg Soft Menerapkan Komputasi Visual Untuk Meningkatkan Efisiensi Pengolahan Elemen DigitalEksplorasi Scatter Hitam Memetakan Distribusi Simbol Melalui Model Analitik Digital TerintegrasiPola Scatter Hitam Dikaji Menggunakan Pendekatan Visualisasi Data Dan Pemodelan StatistikMahjongways Menghadirkan Pendekatan Visual Interaktif Melalui Pemrosesan Simbol Yang AdaptifEksplorasi Mahjongways Mengungkap Perubahan Pola Visual Dalam Lingkungan Digital Terintegrasimahjong ways dalam bingkai desain visual dan budaya digitaljejak klasik menemukan bentuk baru melalui mahjong waysmahjong ways dan perjalanan simbol menuju layar interaktif moderncerita visual mengikuti perkembangan mahjong ways di era teknologimahjong ways dilihat dari sisi kreativitas dan identitas platformperubahan tampilan membawa mahjong ways ke perspektif yang berbedamahjong ways dalam percakapan seputar tradisi dan budaya digitaldari konsep lama ke format baru menelusuri mahjong wayssimbol dan tema mengiringi perjalanan mahjong ways di ruang digitalmahjong ways menjadi bagian dari perubahan desain hiburan moderngame online dan perubahan kebiasaan di tengah budaya internetkomunitas digital menjadi bagian dari perjalanan game onlinegame online dalam potret interaksi sosial di era platform modernjejak mobile membawa game online ke pengalaman yang semakin beragamketika game online bertemu dengan kreativitas dan komunitas digitalgame online dan pergeseran cara menikmati hiburan interaktifdari komunitas ke platform menyusuri perkembangan game onlinedesain visual membentuk identitas baru dalam dunia game onlinegame online di tengah perubahan teknologi dan budaya populerperjalanan game online mengikuti arah baru ekosistem digitaltekanan emosional muncul di tengah kebiasaan judi online yang berulangstres dan judi online menjadi bahasan dalam perubahan kondisi keuanganketika pengeluaran judi online mulai membawa tekanan dalam kehidupanbeban pikiran dapat bertambah seiring kebiasaan judi online berlangsungmasalah keuangan dan stres muncul dalam pembahasan seputar judi onlinejudi online dan tekanan emosional menjadi sorotan di ruang digitaldampak stres mulai dibahas seiring perubahan kebiasaan judi onlinetekanan hidup dan kebiasaan judi online dalam sorotan mediastres finansial menjadi bagian dari pembahasan dampak judi onlinememahami kaitan tekanan emosional dengan kebiasaan judi onlinegame digital mulai masuk dalam sorotan budaya hiburan modernperkembangan game digital menjadi bahasan di tengah perubahan teknologimedia mengulas perjalanan game digital dari konsol menuju platform modernfenomena game digital muncul dalam perbincangan industri hiburangame digital dan perubahan kebiasaan menjadi catatan di era internetsorotan terkini membahas arah baru perkembangan game digitalteknologi interaktif membawa game digital ke percakapan media yang lebih luasgame digital menjadi bagian dari pergeseran budaya hiburan masa kinicatatan media menyoroti perubahan wajah game digital dari waktu ke waktuplatform baru membuka babak berbeda dalam perjalanan game digitaljudi online kembali menjadi sorotan dalam pemberitaan digital terkinimedia menyoroti perkembangan platform judi online di ruang internetfenomena judi online masuk dalam pembahasan seputar budaya digitalberita terkini mengulas perubahan ekosistem judi online masa kinijudi online dan perkembangan teknologi menjadi bahan perbincangan mediasorotan baru membahas pergeseran perilaku di seputar judi onlineruang digital kembali mengangkat pembahasan tentang judi onlineperkembangan internet membawa judi online ke sorotan media terkinicatatan media mengulas fenomena judi online dari sisi digitalperubahan platform menjadi bahasan baru dalam pemberitaan judi onlineandi pratama dan cerita keberuntungan 8 juta di mahjong waysrizky membahas pengalaman 17 juta dalam permainan mahjong wayskisah dimas berawal dari game online hingga hasil 25 jutafajar menjadi perbincangan usai mendapat hasil 12 jutacerita bayu muncul di tengah tren mahjong ways masa kinirio mengulas pengalaman bermain dengan hasil sekitar 19 jutayoga dan perjalanan singkat menuju hasil permainan 7 jutaarif membagikan catatan pribadi soal hasil 14 jutabima dan pengalaman 28 juta yang ramai dibicarakandoni mengungkap cerita di balik hasil 22 juta mahjong wayscerita reza dengan hasil 9 juta dari mahjong ways16 juta jadi bagian pengalaman rangga di game onlinemaulana membahas perolehan 23 juta dari mahjong winsgame digital membawa cerita baru bagi ilham dengan hasil 11 jutahasil 28 juta diceritakan bagus saat memainkan mahjong ways 2yusuf mengulas pengalaman bermain dengan perolehan 14 jutamahjong online dan cerita farhan tentang hasil 8 jutadava mengungkap pengalaman 19 juta saat memainkan game mahjonggame online menjadi bagian cerita akmal dengan hasil 26 jutafauzan dan perolehan 21 juta dalam permainan mahjong winscerita rendi dengan hasil 7 juta dari mahjong ways18 juta jadi pengalaman baru bagi rafli di game onlinemahjong wins menghadirkan cerita hasil 27 juta bagi hendrapengalaman dion dan perolehan 13 juta dalam game digitalhasil 22 juta diceritakan arya setelah memainkan mahjong ways 2fikri mengulas permainan online dengan hasil sekitar 16 jutamahjong online dan kisah ilham soal perolehan 10 jutasatria mengungkap pengalaman 24 juta dalam game mahjonggame online menjadi catatan baru bagi wahyu dengan hasil 15 jutaperolehan 30 juta dikaitkan dengan cerita rehan di mahjong wins