Panduan Lengkap Cara Instalasi LAMP di AlmaLinux

Jika Anda sedang mencari solusi andal untuk menjalankan aplikasi berbasis web atau sekadar bereksperimen dengan server Linux, LAMP (Linux, Apache, MariaDB, dan PHP) adalah salah satu pilihan paling populer. Pada artikel kali ini, kita akan membahas cara menginstal LAMP di AlmaLinux, sebuah distribusi Linux berbasis RHEL (Red Hat Enterprise Linux) yang fokus pada stabilitas dan keamanan. Artikel ini ditujukan bagi Anda yang menginginkan panduan detail dan langkah-langkah yang jelas, agar proses instalasi LAMP di AlmaLinux dapat dilakukan dengan mudah.


1. Pendahuluan

Sebelum kita mulai, berikut komponen utama LAMP yang akan diinstal:

  1. Linux: Sistem operasi yang akan kita gunakan adalah AlmaLinux.
  2. Apache: Web server populer yang akan menerima dan menangani permintaan HTTP.
  3. MariaDB: Sistem manajemen basis data yang kompatibel dengan MySQL.
  4. PHP: Bahasa pemrograman sisi server yang sering digunakan untuk membangun situs web dinamis.

Untuk memulai, pastikan Anda memiliki:


2. Persiapan Sistem

2.1. Perbarui Repositori dan Paket

Langkah pertama yang wajib dilakukan adalah memperbarui daftar repositori dan paket di AlmaLinux agar kita terhindar dari konflik dependensi. Gunakan perintah berikut:

sudo dnf update -y

Setelah proses update selesai, Anda dianjurkan untuk melakukan reboot terutama jika ada pembaruan kernel atau paket sistem inti:

sudo reboot

Ketika server sudah aktif kembali, silakan login lagi dan kita akan melanjutkan proses instalasi.


3. Instalasi dan Konfigurasi Apache

3.1. Menginstal Apache

Apache merupakan web server andal yang banyak digunakan di lingkungan produksi. Untuk memasang Apache di AlmaLinux, jalankan:

sudo dnf install httpd -y

3.2. Mengaktifkan dan Menjalankan Layanan Apache

Setelah instalasi, kita perlu mengaktifkan Apache agar ia otomatis berjalan saat sistem boot. Selain itu, kita juga harus segera memulainya:

sudo systemctl enable httpd
sudo systemctl start httpd

3.3. Mengecek Status Apache

Anda dapat memeriksa status Apache dengan:

systemctl status httpd

Apabila statusnya adalah “active (running)”, berarti Apache sudah berjalan tanpa masalah.

3.4. Konfigurasi Firewall (Opsional)

Jika sistem Anda menggunakan firewall aktif (seperti firewalld), pastikan untuk mengizinkan lalu lintas HTTP (port 80) dan HTTPS (port 443):

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

3.5. Pengujian Apache

Untuk memastikan Apache berjalan, buka browser dan masukkan alamat IP server atau nama domain Anda:

http://IP-Server-Anda/

Anda seharusnya melihat halaman default Apache atau halaman uji dengan keterangan seperti “Testing 123…”. Jika halaman ini muncul, instalasi Apache sudah sukses.


4. Instalasi dan Konfigurasi MariaDB

4.1. Menginstal MariaDB

MariaDB adalah turunan MySQL yang populer, ringan, dan kompatibel dengan banyak aplikasi. Untuk memasangnya di AlmaLinux:

sudo dnf install mariadb-server -y

4.2. Mengaktifkan dan Menjalankan Layanan MariaDB

Seperti halnya Apache, kita perlu mengaktifkan dan menjalankan MariaDB:

sudo systemctl enable mariadb
sudo systemctl start mariadb

4.3. Amankan Instalasi MariaDB

MariaDB menyediakan skrip bawaan untuk meningkatkan keamanan instalasi, termasuk pengaturan kata sandi, penghapusan user anonim, dan sebagainya. Jalankan perintah berikut:

sudo mysql_secure_installation

Anda akan ditanya beberapa hal:

  1. Set root password? Jika Anda belum membuat kata sandi untuk root database, pilih Y dan masukkan kata sandi yang kuat.
  2. Remove anonymous users? Disarankan menjawab Y supaya tidak ada akses anonim.
  3. Disallow root login remotely? Sebaiknya jawab Y, kecuali Anda benar-benar perlu mengelola database dari jarak jauh menggunakan akun root.
  4. Remove test database and access to it? Jawab Y agar basis data uji dihapus.
  5. Reload privilege tables now? Jawab Y untuk menerapkan seluruh perubahan.

4.4. Verifikasi Instalasi MariaDB

Untuk memastikan MariaDB berjalan, coba login ke konsol MariaDB:

mysql -u root -p

Masukkan kata sandi yang baru saja Anda atur. Jika berhasil, Anda akan masuk ke prompt MariaDB. Ketik exit; untuk keluar.


5. Instalasi PHP beserta Ekstensi Penting

5.1. Menginstal PHP

PHP adalah bahasa pemrograman dinamis yang dapat mengolah beragam permintaan, misalnya dari situs CMS (WordPress, Drupal, Joomla) atau aplikasi web kustom. Untuk memasang PHP di AlmaLinux, gunakan:

sudo dnf install php php-cli php-common -y

5.2. Menambahkan Ekstensi PHP

Agar PHP dapat terhubung dengan MariaDB dan menangani berbagai jenis data, kita perlu menambahkan beberapa ekstensi:

sudo dnf install php-mysqlnd php-xml php-gd php-mbstring php-json -y

Penjelasan singkat:

5.3. Restart Apache

Setelah semua paket PHP terinstal, kita perlu me-restart Apache agar perubahan dikonfirmasi:

sudo systemctl restart httpd

5.4. Mengecek Versi PHP

Periksa apakah PHP telah terpasang dengan benar:

php -v

Anda akan melihat versi PHP beserta informasi lainnya. Versi yang disertakan di AlmaLinux biasanya sudah cukup stabil untuk digunakan di lingkungan produksi.


6. Pengujian Integrasi Apache dan PHP

6.1. Buat File info.php

Untuk memastikan PHP terhubung dengan Apache, kita dapat membuat file PHP sederhana di direktori utama Apache. Secara default, direktori untuk file web berada di /var/www/html/. Jalankan:

sudo nano /var/www/html/info.php

Lalu isi file tersebut:


Simpan file dengan menekan Ctrl + O lalu Enter, dan keluar dari editor dengan Ctrl + X.

6.2. Akses File Melalui Browser

Buka browser dan ketik:

http://IP-Server-Anda/info.php

Jika halaman yang muncul memuat informasi mendetail mengenai versi dan konfigurasi PHP, maka instalasi dan integrasi antara PHP dan Apache telah berhasil.

Catatan: Demi keamanan, sebaiknya hapus atau ganti nama file info.php setelah pengujian. File tersebut mengungkapkan detail sensitif tentang konfigurasi server.


7. Konfigurasi Izin Folder dan SELinux

Di AlmaLinux, SELinux umumnya aktif secara default. Hal ini baik untuk keamanan, namun sering kali membingungkan pengguna yang baru pertama kali berurusan dengan SELinux. Berikut beberapa langkah opsional yang bisa Anda lakukan:

7.1. Izin Folder Web

Folder utama web biasanya berada di /var/www/html/. Jika Anda ingin membuat direktori khusus untuk proyek Anda, misalnya:

sudo mkdir /var/www/html/proyekku

Kemudian, atur kepemilikan direktori tersebut untuk user dan grup Apache (apache di AlmaLinux):

sudo chown -R apache:apache /var/www/html/proyekku
sudo chmod -R 755 /var/www/html/proyekku

7.2. Menyesuaikan Konteks SELinux

Untuk memastikan Apache tidak menolak akses ke folder yang baru kita buat:

sudo chcon -t httpd_sys_content_t /var/www/html/proyekku -R
sudo chcon -t httpd_sys_rw_content_t /var/www/html/proyekku -R

Langkah ini memberikan hak baca/tulis yang sesuai untuk Apache.


8. Konfigurasi Virtual Host (Opsional)

Jika Anda ingin menjalankan beberapa situs web atau aplikasi dalam satu server, Anda dapat menggunakan Virtual Host Apache.

  1. Buat Berkas Konfigurasi Baru
    sudo nano /etc/httpd/conf.d/namadomain.conf
    
  2. Tambahkan Konfigurasi Sederhana
    Berikut contoh minimal Virtual Host:
    
        ServerName namadomain.com
        DocumentRoot /var/www/html/namadomain
        
            AllowOverride All
            Require all granted
        
        ErrorLog /var/log/httpd/namadomain-error.log
        CustomLog /var/log/httpd/namadomain-access.log combined
    
    
  3. Simpan dan Tutup
    Lalu restart Apache:
    sudo systemctl restart httpd
    
  4. Uji di Browser
    Jika domain Anda sudah diarahkan (melalui DNS) ke IP server, Anda bisa mengakses http://namadomain.com untuk mengecek apakah situs sudah aktif.

9. Mengamankan Lalu Lintas (HTTPS)

Menggunakan HTTPS sangat penting untuk menjaga keamanan data, terutama untuk situs produksi. Anda bisa menggunakan sertifikat SSL/TLS berbayar atau memanfaatkan Let’s Encrypt (gratis). Berikut sekilas langkah-langkah memasang sertifikat dari Let’s Encrypt:

  1. Instal Certbot
    sudo dnf install certbot python3-certbot-apache -y
    
  2. Jalankan Certbot
    sudo certbot --apache
    
  3. Ikuti Instruksi
    Masukkan email, setujui Terms of Service, dan masukkan nama domain.
  4. Verifikasi
    Setelah proses selesai, Apache akan secara otomatis terkonfigurasi untuk menggunakan sertifikat SSL/TLS. Anda bisa mengakses situs dengan https://namadomain.com.

10. Tips Pemeliharaan dan Keamanan

  1. Lakukan Update Berkala
    Selalu perbarui paket di server dengan sudo dnf update untuk memastikan keamanan dan stabilitas.
  2. Konfigurasikan Backup Rutin
    Hindari kehilangan data berharga dengan menyiapkan backup, terutama untuk basis data MariaDB dan file web di /var/www/html/.
  3. Monitoring Layanan
    Gunakan perintah systemctl status httpd dan systemctl status mariadb untuk memantau kesehatan layanan. Jika terjadi kendala, periksa log di /var/log/httpd/ untuk Apache dan /var/log/mariadb/ untuk MariaDB.
  4. Amankan Akses Jarak Jauh
    Gunakan SSH key-based authentication dan nonaktifkan password login untuk meningkatkan keamanan.
  5. Aktifkan SELinux dan Firewall
    Walaupun terkadang agak merepotkan, SELinux dan firewall adalah lapisan keamanan penting yang sebaiknya dipelajari dan dikonfigurasikan dengan benar.

11. Kesimpulan

Dengan menyelesaikan langkah-langkah di atas, Anda kini telah memiliki server LAMP berbasiskan AlmaLinux yang siap digunakan untuk pengembangan maupun produksi. Anda dapat meng-host situs statis, aplikasi PHP, CMS populer seperti WordPress, atau bahkan membangun aplikasi web kustom.

Rangkuman Langkah:

  1. Perbarui Sistem: Pastikan server Anda mutakhir.
  2. Instal Apache: Web server andal, aktifkan dan jalankan.
  3. Instal MariaDB: Sistem basis data, amankan instalasinya.
  4. Instal PHP: Bahasa pemrograman sisi server, tambahkan ekstensi penting.
  5. Uji Integrasi: Gunakan file info.php untuk verifikasi konfigurasi.
  6. Atur Izin dan SELinux: Pastikan Apache memiliki akses yang diperlukan.
  7. Virtual Host (Opsional): Memisahkan beberapa situs atau aplikasi.
  8. SSL/TLS (Opsional): Gunakan Let’s Encrypt untuk mengamankan lalu lintas data.

Selanjutnya, Anda dapat mulai mengembangkan atau memigrasikan aplikasi berbasis PHP ke server ini. Jangan lupa untuk selalu menerapkan praktik keamanan yang baik dan melakukan pembaruan rutin agar server Anda tetap aman dan stabil.


Baca Juga :