LAMP merupakan singkatan dari Linux, Apache, MariaDB / MySQL dan PHP. Selain itu, LAMP terdiri dari beberapa perangkat lunak yang digabungkan menjadi satu dan bersifat open source. Perangkat lunak ini mampu mendukung situs web dan aplikasi web secara dinamis.

Linux yang merupakan sistem operasi, Apache sebagai web  server, MariaDB / MySQL merupakan server database dan PHP sebagai bahasa scripting sisi server yang bertanggung jawab untuk menghasilkan halaman web dinamis.

Berikut ini akan dijelaskan bagaimana cara mengunduh dan menginstal RHEL 8 yaitu:

  1. Update/Perbarui Perangkat Lunak anda

Sebelum anda menginstall LAMP, sebaiknya lakukan perintah berikut untuk mengupdate perangkat lunak dan repository

yum update
  1. Install Apache Web Server pada CentOS 8/RHEL 8

  • Masukkan perintah berikut untuk menginstal server Web Apache. Pada paket httpd-tools akan menginstal beberapa alat yang bermanfaat seperti pembanding server HTTP Apache.
    yum install httpd httpd-tools
    
  • Setelah diinstal, anda dapat memulai Apache dengan perintah berikut:
    systemctl start httpd
    
  • Aktifkan Apache untuk mulai secara otomatis saat boot sistem, dengan menjalankan perintah berikut
    systemctl enable httpd
    
  • Sekarang, periksa statusnya
    systemctl status httpd
    
  • Output:
     . httpd.service - The Apache HTTP Server
         Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor
    preset: disabled)
         Active: active (running) since Sat 2019-10-12 06:43:15 UTC; 14s ago
           Docs: man:httpd.service(8)
      Main PID: 14515 (httpd)
        Status: "Running, listening on: port 80"
           Tasks: 213 (limit: 5092)
        Memory: 24.8M
        CGroup: /system.slice/httpd.service
                ├─14515 /usr/sbin/httpd -DFOREGROUND
                ├─14516 /usr/sbin/httpd -DFOREGROUND
                ├─14517 /usr/sbin/httpd -DFOREGROUND
                ├─14518 /usr/sbin/httpd -DFOREGROUND
                └─14519 /usr/sbin/httpd -DFOREGROUND
    

“Enabled” menunjukkan bahwa saat boot diaktifkan,  proses install apache secara otomatis berjalan.

Catatan : Jika perintah di atas tidak segera berhenti setelah dijalankan, maka anda perlu menekan “q” untuk membuatnya keluar.

  • Periksa Versi Apache
    httpd -
    
  • Output:
    Server version: Apache/2.4.37 (centos)
    Server built: Oct 7 2019 21:42:02

Untuk memastikan apakah server web Apache berjalan dengan benar, kita dapat membuat file index.html di bawah root dokumen default (/ var / www / html /) dengan perintah berikut

echo "Welcome to this site!" > /var/www/html/index.html

Jika Anda menginstal LAMP pada komputer CentOS 8 / RHEL 8 lokal, ketik 127.0.0.1 atau localhost di alamat browser. Anda akan melihat pesan yang berarti server Web Apache berjalan dengan benar.

 

Secara default, CentOS 8 / RHEL 8 melarang akses publik ke port 80.

Untuk memungkinkan komputer lain mengakses halaman web, kita perlu membuka port 80 di firewalld, manajer firewall dinamis di RHEL / CentOS.

Berikut perintah berikut untuk membuka port 80:

firewall-cmd --permanent --zone=public --add-service=http

Jika anda ingin mengaktifkan HTTPS di Apache, maka anda juga harus membuka port 443.

firewall-cmd --permanent --zone=public --add-service=https

Pilihan –permanent akan membuat aturan firewall bertahan di seluruh reboot sistem. Selanjutnya, muat ulang daemon firewall agar perubahan diterapkan.

systemctl reload firewalld

Sekarang, halaman web Apache sudah dapat diakses

Kita perlu membuat akun  apache sebagai pemilik direktori web dan dimiliki oleh pengguna root.

chown apache:apache /var/www/html -R
  1. Instal MariaDB Database Server pada CentOS 8 / RHEL 8

MariaDB sebagai pengganti drop-in untuk MySQL.

  • Masukkan perintah berikut untuk menginstal MariaDB pada CentOS 8 / RHEL 8.
     yum install mariadb-server mariadb -y
  • Setelah di instal, lakukan perintah berikut untuk memulainya
     systemctl start mariadb
  • Penginstallan akan dilakukan secara otomatis ketika boot sistem diaktifkan
     systemctl enable mariadb
  • Periksa statusnya:
     systemctl status mariadb
  • output:
 . mariadb.service - MariaDB 10.3 database server
    Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vend
or preset: disabled)
   Active: active (running) since Sat 2019-10-12 09:02:53 UTC; 33s ago
      Docs: man:mysqld(8)
            https://mariadb.com/kb/en/library/systemd/
 Main PID: 18608 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 5092)
   Memory: 77.0M
   CGroup: /system.slice/mariadb.service
           └─18608 /usr/libexec/mysqld --basedir=/usr

Enabled” menunjukkan bahwa saat boot diaktifkan, proses install secara otomatis berjalan dan kita akan melihat bahwa server MariaDB juga sedang berjalan. Sekarang kita perlu menjalankan skrip keamanan.

mysql_secure_installation

Ketika anda diminta untuk memasukkan kata sandi root MariaDB, tekan tombol Enter karena kata sandi root belum ditetapkan Kemudian masukkan “y” untuk mengatur kata sandi root pada server MariaDB.

Selanjutnya, anda dapat menekan Enter untuk menjawab semua pertanyaan yang tersisa, yang akan menghapus pengguna anonim, menonaktifkan login root jarak jauh dan menghapus database pengujian. Langkah ini merupakan persyaratan dasar untuk keamanan basis data MariaDB.

(Perhatikan bahwa huruf Y ditulis dengan huruf kapital, yang berarti itu adalah jawaban default).

Sekarang anda dapat menjalankan perintah berikut dan memasukkan kata sandi root MariaDB untuk masuk ke shell MariaDB.

mysql -u root -p

Untuk keluar, jalankan perintah berikut:

exit; 
  1. Instal PHP pada CentOS 8 / RHEL 8

Instal PHP dan beberapa modul umum menggunakan perintah berikut:

yum install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring -y

Web server Apache pada CentOS 8 / RHEL 8 secara default menggunakan PHP-FPM, selain itu mod_php digunakan untuk menjalankan kode PHP, sehingga pada perintah di atas kami juga menginstal php-fpm. Setelah diinstal, kita harus memulainya

systemctl start php-fpm

Saat boot diaktifkan, proses install secara otomatis berjalan

systemctl enable php-fpm

Periksa status

systemctl status php-fpm

output:

  . php-fpm.service - The PHP FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vend
  or preset: disabled)
     Active: active (running) since Sat 2019-10-12 09:54:37 UTC; 3s ago
   Main PID: 19755 (php-fpm)
     Status: "Ready to handle connections"
        Tasks: 6 (limit: 5092)
     Memory: 24.5M
     CGroup: /system.slice/php-fpm.service
             ├─19755 php-fpm: master process (/etc/php-fpm.conf) 
             ├─19757 php-fpm: pool www
             ├─19758 php-fpm: pool www
             ├─19759 php-fpm: pool www
             ├─19760 php-fpm: pool www
             └─19761 php-fpm: pool www

’Enabled” menunjukkan bahwa pada saat boot diaktifkan, proses install secara otomatis berjalan dan kita dapat melihat bahwa PHP-FPM sedang berjalan. Paket php-fpm menginstal file php.conf di direktori /etc/httpd/conf.d/, jadi kita perlu me-restart server web Apache, untuk menjalankan kode PHP.

systemctl restart httpd

Kita juga perlu menjalankan perintah berikut untuk memberi tahu SELinux untuk mengizinkan Apache menjalankan kode PHP melalui PHP-FPM.

setsebool -P httpd_execmem 1
  1. Test PHP

Untuk memeriksa PHP-FPM dengan server Web Apache, kita perlu membuat file info.php di direktori root dokumen.

nano /var/www/html/info.php

Paste kan kode PHP berikut kedalam file

?php phpinfo() ; ?

Simpan dan tutup file

Jika Anda menginstal LAMP pada server CentOS 8 / RHEL 8 lokal, ketikkan 127.0.0.1/info.php atau localhost / info.php pada alamat browser. Anda harus melihat informasi PHP server anda yang menandakan bahwa skrip PHP dapat berjalan baik dengan server web Apache.

Jika RHEL 8/CentOS berjalan pada server jarak jauh, maka masukkan server-ip-address/info.php pada  alamat browser. Ganti sever-ip-address dengan alamat IP anda yang sesungguhnya.

Jika browser gagal menampilkan info PHP tetapi meminta anda untuk mengunduh file info.php, cukup restart Apache dan PHP-FPM.

sudo systemctl restart httpd php-fpm

Anda dapat melihat info PHP pada web browser.

Demi keamanan server, anda harus menghapus file info.php sekarang untuk mencegah hacker melihatnya.

rm /var/www/html/info.php