CARA INSTALL LAMP DENGAN MULTI PHP BESERTA PHPMYADMIN DI MANJARO LINUX

LAMP merupakan singkatan dari Linux, Apache, MySQL/MariaDB dan PHP. Sementara Manjaro Linux merupakan salah satu distro turunan dari Arch Linux. Manjaro Linux merupakan distro yang termasuk populer, jika dilihat dari peringkat pada distrowatch.com. Seperti yang tertera di judul yaitu Cara Install LAMP dengan Multi PHP beserta phpMyAdmin di Manjaro Linux, maka fokus tulisan ini yaitu pada Manjaro Linux, namun demikian bisa juga digunakan pada Arch Linux base. Mengapa Manjaro Linux? Karena kemudahan dan banyaknya software yang bisa di install, jika di Ubuntu memerlukan PPA, maka di Manjaro Linux tidak memerlukannya, bisa langsung menggunakan AUR.

CARA INSTALL LAMP DENGAN MULTI PHP BESERTA PHPMYADMIN DI MANJARO LINUX

Yang menjadi catatan penting sebelum melakukan instalasi paket software apapun, maka alangkah baiknya untuk selalu melakukan pembaharuan sistem. Tujuaannya adalah untuk meminimalisir paket yang konflik yang dapat mengakibatkan crash.

1. Melakukan Pembaharuan Sistem

Sebelum melakukan proses instalasi LAMP ada baiknya melakukan pembaharuan sistem, silahkan ketikan perintah berikut ini pada terminal

sudo su
pacman -Syyu

 

2. Install Apache, PHP,  PHP-FPM, PHP-Apache

Langkah selanjutnya adalah dengan menginstall Apache, PHP,  PHP-FPM, PHP-Apache. Perlu diingat bahwa kita akan melakukan instalasi PHP multi versi dan saat saya praktikan menggunakan PHP versi 8.1 sebagai default bawaan sistem manjaro dan 7.4 yang merupakan versi tertinggi pada PHP 7. Untuk PHP versi yang lainnya dapat dilakukan nanti dengan menggunakan AUR. Untuk instalasi Apache, PHP,  PHP-FPM, PHP-Apache dapat menggunakan perintah berikut.

pacman -S php php7 php-fpm php7-fpm apache php7-apache php-apache

 

3. Melakukan Konfigurasi Pada File conf HTTPD

Langkah selanjutnya yaitu melakukan konfigurasi/pengaturan pada httpd melaui file conf dari httpd itu sendiri. Silahkan gunakan editor yang biasa digunakan, disini saya menggunakan nano. Sebelum melakukan editing alangkah baiknya melakukan backup file httpd.cof terlebih dahulu. Anda dapat menggunakan perintah di bawah ini.

sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

Setelah melakukan backup, maka langkah selanjutnya yaitu melakukan konfigurasi untuk mengaktifkan proxy yang berguna untuk memisahkan proses untuk masing-masing versi PHP. Anda dapat menggunakan perintah berikut untuk mengeditnya.

nano /etc/httpd/conf/httpd.conf

Setelah file httpd.conf terbuka, maka dapat melakukan pencarian “LoadModule proxy_module modules/mod_proxy.so”, “LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so” dengan mengetikkan perpaduan keyboard “Ctrl + W” selanjutnya copy-paste-kan dengan perintah “Ctrl + Shift + V” untuk mem-paste di kolom pencarian dan  selanjutnya enter. Jika sudah ditemukan, silahkan ubah sesuai dengan kode di bawah ini.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

Tahapan selanjutnya yaitu menonaktifkan “LoadModule mpm_event_module modules/mod_mpm_event.so” dan mengaktifkan “LoadModule mpm_prefork_module modules/mod_mpm_prefork.so” dengan cara di coment dan uncoment. Untuk mempermudah dapat menggunakan pencarian dengan perintah “Ctrl + W”.

#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Tahapan selanjutnya yaitu dengan menambahkan kode berikut pada file httpd.conf di bagian akhir baris, fungsinya adalah untuk memilih versi default PHP sebagai master prosesnya.

LoadModule php_module modules/libphp.so
AddHandler php-script php

 

4. Melakukan Konfigurasi Pada File conf PHP-FPM

PHP-FPM merupakan singkatan dari PHP FastCGI Process Manager, yang mana berfungsi sebagai intepreter PHP yang terpisah dari PHP web server utama. Artinya setiap request atas script PHP yang masuk ke webserver utama akan di forward (diteruskan) ke FastCGI melalui socket atau port TCP. Untuk melakukan konfigurasi PHP-FPM dapat menggunakan perintah berikut dan masukkan kode “include=/etc/php/php-fpm.d/*.conf” pada file conf dari php-fpm.cof. Perlu diingat bahwa php-fpm.cof ini merupakan PHP-FPM yang mewakili PHP-FPM terbaru dan tertinggi, yaitu pada saat instalasi ini merupakan php 8.1

nano /etc/php/php-fpm.conf
include=/etc/php/php-fpm.d/*.conf

Langkah selanjutnya yaitu mengecek dan mengaktifkan Pool Directives  dari PHP-FPM. Karena dalam praktik ini saya menggunakan php 8.1 dan php 7.4, maka kita harus melakukan pengecekan dan pengaktifan. Jika belum aktif maka kita aktifkan terlebih dahulu. Perlu diingat bahwa direktori dan proses php-fpm ini mewakili php 8.1 sementara php-fpm7 merupakan proses yang mewakili php 7.4

nano /etc/php/php-fpm.d/www.conf
listen = /run/php-fpm/php-fpm.sock

Langkah di bawah ini merupakan proses untuk mengaktifkan PHP-FPM dari php 7.4

nano /etc/php7/php-fpm.conf
include=/etc/php7/php-fpm.d/*.conf

nano /etc/php7/php-fpm.d/www.conf
listen = /run/php-fpm7/php-fpm.sock

 

5. Mengaktifkan Virtual Host

Virtual Host merupakan konfigurasi webserver yang memungkinkan anda menggunakan lebih dari satu domain/host pada sebuah webserver. Dalam arti singkat, setiap Virtual Host dapat kita set untuk memiliki konfigurasi PHP yang berbeda. Misalkan pada virtual host “php8.1” kita set untuk menjalankan php versi 8.1 dan virtual host “php7.4” kita set untuk php versi 7.4. Untuk mengaktifkan virtual host dapat dilakukan dengan menambahkan kode atau menguncoment dari kode “Include conf/extra/httpd-vhosts.conf”.

nano /etc/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf

Langkah selanjutnya yaitu membuat dua domain/virtual host, anggap saja sebagai contoh “myblog.id” yang menggunakan php 8.1 dan “blog.id” menggunakan php 7.4. Namun sebelum menambahkan virtual host, ada baiknya lakukan backup pada file httpd-vhosts.conf dengan menggunakan perintah berikut.

cp /etc/httpd/conf/extra/httpd-vhosts.conf /etc/httpd/conf/extra/httpd-vhosts.conf.bak

Selanjutnya kita akan menambahkan  dua virtual host untuk masing masing versi PHP dengan mengetikkan perintah berikut.

nano /etc/httpd/conf/extra/httpd-vhosts.conf

Silahkan masukan contoh kode di bawah ini kedalam file httpd-vhosts.conf. Anda dapat memodifikasi sesuai dengan kebutuhan masing-masing.

<VirtualHost *:80>
        ServerAdmin webmaster@myblog.id
        ServerName myblog.id
        ServerAlias www.myblog.id
        DocumentRoot "/srv/http/myblog.id/public_html"
        <FilesMatch "\.php$">
        SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost:8080"
        </FilesMatch>
        ErrorLog "/srv/http/myblog.id/logs/error.log"
        CustomLog "/srv/http/myblog.id/logs/access.log" combined
        <Directory />
                Options FollowSymLinks
                DirectoryIndex index.html index.php
                AllowOverride All
                Require all granted
                Order deny,allow
                Allow from all  
        </Directory>
</VirtualHost>

Kode di atas merupakan kode membuat virtual host untuk php 8.1, untuk virtual host php 7.4 dapat menambahkan kode berikut dibagian bawah/akhir kode untuk php 8.1.

<VirtualHost *:80>
        ServerAdmin webmaster@blog.id
        ServerName blog.id
        ServerAlias www.blog.id
        DocumentRoot "/srv/http/blog.id/public_html"
        <FilesMatch "\.php$"> 
        SetHandler "proxy:unix:/run/php-fpm7/php-fpm.sock|fcgi://localhost:8070"
        </FilesMatch>
        ErrorLog "/srv/http/blog.id/logs/error.log"
        CustomLog "/srv/http/blog.id/logs/access.log" combined
        <Directory />
                Options FollowSymLinks
                DirectoryIndex index.html index.php
                AllowOverride All
                Require all granted
                Order deny,allow
                Allow from all  
        </Directory>
</VirtualHost>

 

6. Membuat Home Direktori

Home direktori yang dimaksud disini merupakan direktori untuk menempatkan semua file PHP untuk masing-masing versi dari PHP itu sendiri. Berhubung di atas saya menggunakan dua buah nama virtual host yaitu “myblog.id” dan “blog.id”, maka untuk direktorinya juga menggunakan nama tersebut. Untuk home direktori letaknya menyesuaikan saja, biasanya untuk Apache terletak pada path /srv/http/.

mkdir /srv/http/myblog.id
mkdir /srv/http/myblog.id/public_html
mkdir /srv/http/myblog.id/logs

mkdir /srv/http/blog.id
mkdir /srv/http/blog.id/public_html
mkdir /srv/http/blog.id/logs

 

7. Menambahkan Domain Lokal Ke Host

Tahapan selanjutnya yaitu menambahkan domain Lokal ke Host, artinya kita menambahkan dua domain/nama virtual host di atas yaitu “myblog.id” dan “blog.id” ke file Host pada sistem. Tujuannya adalah agar ketika kita ketikkan domain tersebut di browser akan dialihkan ke direktori yang telah di atur pada virtul host di atas. Sebagai contoh seperti pada gambar di bawah ini.

nano /etc/hosts
127.0.1.1 myblog.id www.myblog.id
127.0.1.1 blog.id www.blog.id

 

8. Membuat File PHP Info

File PHP info bertujuan untuk mengecek apakah PHP-FPM sudah sesuai untuk masing-masing domain/virtual host. File PHP info akan menampilkan informasi mengenai versi PHP dan semua konfigurasinya. File PHP info dibuat untuk masing-masing pada direktori dari domain/virtual host. Berikut contohnya

nano /srv/http/myblog.id/public_html/info.php
<?php phpinfo(); ?>
nano /srv/http/blog.id/public_html/info.php
<?php phpinfo(); ?>

 

9. Mengaktifkan dan Mengecek Status dari HTTPD, PHP-FPM

Tahapan selanjutnya adalah mengaktifkan httpd dan php-fpm untuk selanjutnya kita cek statusnya. Jika statusnya tidak terdapat error, maka selanjutnya kita cek pada browser, apakah untuk masing-masing domain/virtual host sudah sesuai versi php nya.

systemctl start httpd php-fpm php-fpm7

systemctl status httpd php-fpm php-fpm7

Jika tampilan pada browser seperti gambar di bawah ini, maka sudah dapat dipastikan bahwa konfigurasinya telah benar.

 

10. Install MariDB

Tahapan selanjutnya yaitu melakukan instalasi MariDB sebagai basis data dataBase. Setelah berhasil menginstall MariaDB, selanjutnya melakukan konfigurasinya. Pada praktik di bawah ini, perlu diingat bahwa di Laptop saya pernah di install MariaDB, sehingga cukup melakukan update.

pacman -S mariadb

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

systemctl start mariadb

systemctl status mariadb

 

11. Install phpMyAdmin

Untuk menginstall phpMyAdmin, anda dapat menggunakan perintah berikut.

pacman -S phpmyadmin

Tahapan selanjutnya adalah membuat direktori temporary dari phpMyAdmin dengan perintah berikut.

mkdir -p /var/lib/phpmyadmin/tmp
chown -R http:http /var/lib/phpmyadmin/tmp

Tahapan selanjutnya adalah melakukan konfigurasi phpMyAdmin, dengan menambahkan kode di bawah ini ke dalam file config.inc.php, silahkan perhatikan contohnya.

nano /usr/share/webapps/phpMyAdmin/config.inc.php
$cfg['blowfish_secret'] = 'h4y0j4n64n-n6!nt!p';
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Nah, tahapan selanjutnya yaitu mengaktifkan atau menghubungkan MariaDB dengan phpMyAdmin melalui php.ini pada webserver utama dengan menambahkan atau mengkatifkan kode di bawah ini.

nano /etc/php/php.ini
extension=mysqli
extension=curl
extension=iconv

Selanjutnya adalah membuat alias untuk direktori phpMyAdmin agar dapat diakses melalui browser. Silahkan tambahkan kode di bawah ini pada file phpmyadmin.conf

nano /etc/httpd/conf/extra/phpmyadmin.conf
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

Selanjutnya menambahkan kode berikut ke dalam file httpd.conf

nano /etc/httpd/conf/httpd.conf
Include conf/extra/php_module.conf
Include conf/extra/phpmyadmin.conf

Selanjutnya melakukan restart dan cek status untuk semua service.

systemctl restart httpd php-fpm php-fpm7 mysqld
systemctl status httpd php-fpm php-fpm7 mysqld

Jika status dari semua service tidak terdapat error, maka dapat mengecek apakah phpMyAdmin sudah terinstall dengan baik. Silahkan cek pada browser dengan mengetikkan alamatnya yaitu localhost/phpmyadmin/. Jika tampilannya seperti gambar di bawah ini, berarti phpMyAdmin telah berhasil terisntall dengan baik dan benar.

 

KESIMPULAN

Demikianlah tahapan Cara Install LAMP dengan Multi PHP beserta phpMyAdmin di Manjaro Linux, jika dipraktikan dengan benar maka akan berhasil. Kesimpulannya dalam proses instalasi LAMP dengan Multi PHP beserta phpMyAdmin di Manjaro Linux cukup panjang, jika terdapat error silahkan di cek satu-satu dimana errornya. Untuk php versi lainnya dapat melalui AUR, dan untuk tahapannya hampir sama. Jika masih terdapat error atau masih bingung dalam tahap instalasi, silahkan dapat memberi komentar di bawah ini.

Check Also

INSTALL XTREME DOWNLOAD MANAGER (XDMAN) DI GNU LINUX

DAFTAR ISI1 INSTALL XTREME DOWNLOAD MANAGER (XDMAN) DI GNU LINUX1.1 FITUR1.2 CARA INSTALL1.3 INTERGRASI EXSTENSI …

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *