DAFTAR ISI
- 1 CARA INSTALL LAMP DENGAN MULTI PHP BESERTA PHPMYADMIN DI MANJARO LINUX
- 1.1 1. Melakukan Pembaharuan Sistem
- 1.2 2. Install Apache, PHP, PHP-FPM, PHP-Apache
- 1.3 3. Melakukan Konfigurasi Pada File conf HTTPD
- 1.4 4. Melakukan Konfigurasi Pada File conf PHP-FPM
- 1.5 5. Mengaktifkan Virtual Host
- 1.6 6. Membuat Home Direktori
- 1.7 7. Menambahkan Domain Lokal Ke Host
- 1.8 8. Membuat File PHP Info
- 1.9 9. Mengaktifkan dan Mengecek Status dari HTTPD, PHP-FPM
- 1.10 10. Install MariDB
- 1.11 11. Install phpMyAdmin
- 2 KESIMPULAN
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.