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:
- Linux: Sistem operasi yang akan kita gunakan adalah AlmaLinux.
- Apache: Web server populer yang akan menerima dan menangani permintaan HTTP.
- MariaDB: Sistem manajemen basis data yang kompatibel dengan MySQL.
- PHP: Bahasa pemrograman sisi server yang sering digunakan untuk membangun situs web dinamis.
Untuk memulai, pastikan Anda memiliki:
- Akses ke server AlmaLinux (fisik atau virtual).
- Koneksi internet yang stabil.
- Hak akses root atau sudo pada server tersebut.
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:
- Set root password? Jika Anda belum membuat kata sandi untuk root database, pilih Y dan masukkan kata sandi yang kuat.
- Remove anonymous users? Disarankan menjawab Y supaya tidak ada akses anonim.
- Disallow root login remotely? Sebaiknya jawab Y, kecuali Anda benar-benar perlu mengelola database dari jarak jauh menggunakan akun root.
- Remove test database and access to it? Jawab Y agar basis data uji dihapus.
- 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:
- php-mysqlnd: Menyediakan driver MySQL Native untuk MariaDB/MySQL.
- php-xml: Bekerja dengan data XML.
- php-gd: Memungkinkan manipulasi gambar.
- php-mbstring: Mendukung karakter multibyte (penting untuk bahasa non-ASCII).
- php-json: Untuk menangani format data JSON.
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.
- Buat Berkas Konfigurasi Baru
sudo nano /etc/httpd/conf.d/namadomain.conf
- 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
- Simpan dan Tutup
Lalu restart Apache:sudo systemctl restart httpd
- Uji di Browser
Jika domain Anda sudah diarahkan (melalui DNS) ke IP server, Anda bisa mengakseshttp://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:
- Instal Certbot
sudo dnf install certbot python3-certbot-apache -y
- Jalankan Certbot
sudo certbot --apache
- Ikuti Instruksi
Masukkan email, setujui Terms of Service, dan masukkan nama domain. - Verifikasi
Setelah proses selesai, Apache akan secara otomatis terkonfigurasi untuk menggunakan sertifikat SSL/TLS. Anda bisa mengakses situs denganhttps://namadomain.com
.
10. Tips Pemeliharaan dan Keamanan
- Lakukan Update Berkala
Selalu perbarui paket di server dengansudo dnf update
untuk memastikan keamanan dan stabilitas. - Konfigurasikan Backup Rutin
Hindari kehilangan data berharga dengan menyiapkan backup, terutama untuk basis data MariaDB dan file web di/var/www/html/
. - Monitoring Layanan
Gunakan perintahsystemctl status httpd
dansystemctl status mariadb
untuk memantau kesehatan layanan. Jika terjadi kendala, periksa log di/var/log/httpd/
untuk Apache dan/var/log/mariadb/
untuk MariaDB. - Amankan Akses Jarak Jauh
Gunakan SSH key-based authentication dan nonaktifkan password login untuk meningkatkan keamanan. - 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:
- Perbarui Sistem: Pastikan server Anda mutakhir.
- Instal Apache: Web server andal, aktifkan dan jalankan.
- Instal MariaDB: Sistem basis data, amankan instalasinya.
- Instal PHP: Bahasa pemrograman sisi server, tambahkan ekstensi penting.
- Uji Integrasi: Gunakan file
info.php
untuk verifikasi konfigurasi. - Atur Izin dan SELinux: Pastikan Apache memiliki akses yang diperlukan.
- Virtual Host (Opsional): Memisahkan beberapa situs atau aplikasi.
- 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 :