Cara Memasang LEMP Stack (Linux Nginx MySQL PHP) di Ubuntu 24.04 LTS | UNIX LINUX EXPLORE
Edit

Cara Memasang LEMP Stack (Linux Nginx MySQL PHP) di Ubuntu 24.04 LTS

2024/08/20
Tumpukan LEMP (Linux, Nginx, MySQL, dan PHP) adalah kumpulan perangkat lunak yang terdiri dari aplikasi sumber terbuka yang digunakan untuk pengembangan dan hosting web. LEMP Stack ini mencakup empat komponen utama: Linux, Nginx, MySQL, dan PHP. Setiap komponen memiliki tujuan khusus dalam mendukung situs web dan aplikasi web yang dinamis.
  • Linux adalah sistem operasi yang berfungsi sebagai fondasi tumpukan LEMP. Dalam hal ini, Ubuntu adalah distribusi Linux yang dikenal karena stabilitas, keamanan, dan kegunaannya.
  • Nginx yang diucapkan sebagai “Engine-X” adalah server web berkinerja tinggi dan server proxy terbalik. Nginx terkenal karena kemampuannya menangani koneksi bersamaan dan menyajikan konten statis dan dinamis secara efisien. Dalam tumpukan LEMP, Nginx berfungsi sebagai server web front-end, menangani permintaan web yang masuk dan meneruskannya ke komponen backend yang sesuai.
  • MySQL adalah sistem manajemen basis data relasional (RDBMS) sumber terbuka yang populer. Sistem ini menyediakan platform yang stabil dan dapat diskalakan untuk menyimpan dan mengelola data terstruktur. MySQL berfungsi sebagai server basis data dalam tumpukan LEMP, menyimpan dan mengambil data untuk aplikasi web.
  • PHP adalah bahasa skrip sisi server yang dibuat untuk pengembangan web. Bahasa ini memungkinkan server untuk menjalankan kode dinamis, membuat halaman HTML, dan berinteraksi dengan basis data. PHP adalah bahasa skrip yang digunakan untuk membuat aplikasi web dinamis saat digunakan dengan Nginx dan MySQL.
Komponen-komponen ini bekerja sama untuk membentuk tumpukan yang kuat dan fleksibel untuk menghosting dan mengembangkan aplikasi web. Sistem operasi yang mendasarinya adalah Linux, server web adalah Nginx, operasi basis data ditangani oleh MySQL, dan PHP mendukung pembuatan konten web yang dinamis.

Anda dapat membuat lingkungan yang kuat dan efisien untuk menghosting dan mengembangkan aplikasi web dengan menginstal dan mengonfigurasi tumpukan LEMP di Ubuntu 24.04 LTS.

Dalam tutorial ini, kami akan menunjukkan cara menginstal LEMP Stack di Ubuntu 24.04 LTS. Artikel ini mengasumsikan anda memiliki setidaknya pengetahuan dasar tentang Linux, tahu cara menggunakan perintah shell. Instalasinya cukup sederhana dan kami sarankan menjalankan akun root, jika tidak anda mungkin perlu menambahkan 'sudo' ke perintah untuk mendapatkan hak akses root. Kami akan menunjukkan kepada anda proses instalasi LEMP Stack langkah demi langkah di Ubuntu. Tutorial ini juga bisa anda terapkan pada distribusi Linux berbasis Debian lainnya seperti Linux Mint, Elementary OS, Pop!_OS, dan lainnya.


1. Perbarui paket Ubuntu

Langkah pertama adalah memperbarui sistem. Sebaiknya perbarui repositori paket sistem dan tingkatkan paket yang ada ke versi terbaru sebelum menginstal paket apa pun. Buka jendela terminal dan masukkan perintah berikut.

Update apt
$ sudo apt update
$ sudo apt upgrade
Karena kompleksitas dan cakupan perubahan yang diterapkan, proses pemutakhiran sering kali memerlukan waktu beberapa menit atau bahkan bisa agak lama, jika jaringan internet anda lambat.


2. Install Web Server Nginx

Nginx, server web berkinerja tinggi, akan digunakan untuk menampilkan halaman web kepada pengunjung situs anda. Karena kita menggunakan Ubuntu, kita akan menggunakan apt untuk menginstal Nginx sebagai layanan tumpukan LEMP pertama kita.

Install NGINX
$ sudo apt install nginx
Tekan Y dan ENTER untuk mengonfirmasi bahwa Anda ingin menginstal Nginx. Setelah instalasi, jalankan perintah berikut untuk memulai Nginx dan mengaktifkannya untuk memulai saat boot.

Jalankan NGINX
$ sudo systemctl start nginx
$ sudo systemctl enable nginx
Saat anda mengaktifkan layanan, systemd akan memulainya secara otomatis saat boot atau saat sistem memasuki target atau runlevel tertentu. Ini memastikan bahwa layanan penting tersedia dan beroperasi tanpa perlu intervensi manual. Untuk memverifikasi apakah Nginx berhasil diinstal pada server Ubuntu Anda, masukkan alamat IP server Anda ke browser web untuk mengakses halaman awal Nginx.





3. Install database MySQL

Setelah berhasil memasang server web, langkah selanjutnya adalah memasang sistem basis data untuk menangani penyimpanan dan pengelolaan data untuk situs web anda. MySQL adalah sistem administrasi basis data relasional yang terkenal. Jalankan perintah berikut untuk memasang MySQL, layanan tumpukan LEMP kedua kita.

Install MySQL
$ sudo apt install mysql-server
Setelah penginstalan selesai, sebaiknya anda menjalankan skrip keamanan yang disertakan dengan MySQL. Skrip ini akan menonaktifkan akses ke sistem basis data anda dan menghapus beberapa pengaturan default yang tidak aman. Jalankan perintah berikut untuk meluncurkan skrip keamanan interaktif.

Jalankan mysql_secure_installation
$ sudo mysql_secure_installation
Setelah anda menjalankan perintah di atas, akan mucul beberapa perintah. Anda dapat melanjutkan dengan menekan tombol "Y".

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

Sekarang Anda harus memilih tingkat kesulitan kata sandi,  anda pilih saja angka 1.

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Setelah itu ketikkan password yang anda butuhkan untuk Login ke MySQL server.

Please set the password for root here.

New password:

Untuk pertanyaan yang tersisa, tekan Y lalu ENTER pada setiap prompt. Ini akan menghapus beberapa pengguna anonim dan basis data pengujian, menonaktifkan login root jarak jauh, dan memuat aturan baru ini sehingga MySQL mengenali perubahan yang telah Anda buat segera.

Setelah instalasi, jalankan perintah berikut untuk memulai MySQL dan mengaktifkannya untuk memulai saat boot.

Jalankan MySQL
$ sudo systemctl start mysql
$ sudo systemctl enable mysql
Menjalankan sudo mysql memberi anda akses administratif ke server MySQL, yang memungkinkan anda melakukan tugas-tugas administratif seperti membuat atau memodifikasi basis data, mengelola pengguna dan izin, menjalankan kueri SQL, dan melakukan tindakan administratif lainnya.


3. Install dependensi PHP

PHP adalah bahasa skrip sisi server yang umum digunakan untuk membuat konten web yang dinamis. Anda telah menyiapkan Nginx untuk menyajikan konten dan MySQL untuk menyimpan dan mengelola data anda. 

Secara default, PHP telah tersedia di repositori dasar Ubuntu. Namun semua dependensi yang kita butuhkan terkadang tidak lengkap. Untuk memastikan semua dependensi yang kita butuhkan tersedia di repositori Ubuntu, jalankan perintah berikut di bawah ini untuk menambahkan PPA Ondrej ke sistem Ubuntu anda.

Tambahkan repositori PHP
$ sudo add-apt-repository ppa:ondrej/php
Setelah itu anda jalankan perintah update repositori danmulai install PHP berikut dependensinya.

Install PHP dan dependensi PHP
$ sudo apt update
$ sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-common php8.1-cli php8.1-common php8.1-opcache php8.1-readline php8.1-mbstring php8.1-xml php8.1-gd php8.1-curl libapache2-mod-php8.1
Untuk memeriksa versi PHP yang terinstall, jalankan perintah berikut.

Cek versi PHP
$ php --version
Setelah instalasi berhasil, aktifkan php-fpm (untuk memulai secara otomatis saat sistem boot), mulai, dan verifikasi status menggunakan perintah di bawah ini.

Aktifkan PHP-FPM
$ sudo systemctl enable php8.1-fpm
$ sudo systemctl start php8.1-fpm
$ sudo systemctl status php8.1-fpm
Selanjutnya, konfigurasikan PHP-FPM dengan mengedit nilai-nilai berikut dalam file php.ini untuk mendapatkan kinerja yang lebih baik. Buka file php.ini menggunakan editor nano sebagai berikut.

Edit php.ini
$ sudo nano /etc/php/8.1/fpm/php.ini
Kemudian anda ubah beberapa script php.ini, seperti contoh berikut:

upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

Anda perlu membuat perubahan pada berkas virtualhost Nginx default untuk mengonfigurasi Nginx agar mulai menggunakan PHP. Edit file default Nginx dengan perintah nano.

Edit file default Nginx
$ sudo nano /etc/nginx/sites-enabled/default
Kemudian anda ubah beberapa script dari file "default" Nginx, seperti contoh berikut.

Contoh script file default Nginx
server {
listen 80;

root /var/www/html;

index index.php;

server_name example.com www.example.com;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}

}
Jalankan Nginx dan PHP-FPM.

Jalankan Nginx dan PHP-FPM
$ sudo systemctl restart nginx php8.1-fpm
Anda telah berhasil memasang LEMP Stack (Linux, Nginx, MySQL, dan PHP) di Ubuntu. Kombinasi hebat ini menciptakan lingkungan yang handal dan efisien untuk menghosting dan mengembangkan aplikasi web. Dengan LEMP Stack yang terpasang, anda dapat dengan mudah membuka keterampilan pengembangan web dan membuat situs web dan aplikasi web yang dinamis. Selamat bersenang-senang membuat kode!..