Dalam panduan ini, kita akan membahas langkah-langkah konfigurasi LEMP (Linux, Nginx, MySQL, PHP) di VPS Ubuntu 20.04.
LEMP merupakan gabungan dari sistem operasi Linux, server web Nginx, database MySQL, dan bahasa pemrograman PHP yang digunakan untuk menjalankan aplikasi web.
Dengan mengikuti panduan ini, Anda akan mempelajari cara mengonfigurasi LEMP di VPS Anda dan menjalankan aplikasi web dengan sukses.
1. Langkah Awal
Sebelum memulai konfigurasi LEMP di VPS, ada beberapa langkah persiapan yang perlu Anda lakukan.
Pertama, Anda harus memilih VPS yang sesuai dengan kebutuhan Anda. Pastikan VPS memiliki spesifikasi yang memadai untuk menjalankan aplikasi web yang Anda inginkan.
Setelah itu, Anda perlu mengakses VPS melalui SSH untuk melakukan konfigurasi.
Memilih VPS yang Tepat
Ketika memilih VPS, pertimbangkan faktor seperti kapasitas penyimpanan, RAM, dan bandwidth yang diperlukan.
Pastikan juga VPS memiliki sistem operasi Linux yang kompatibel dengan LEMP.
Mengakses VPS melalui SSH
Untuk mengakses VPS melalui SSH, Anda akan memerlukan klien SSH seperti PuTTY (untuk Windows) atau Terminal (untuk Linux/Mac).
Gunakan kredensial yang diberikan oleh penyedia VPS untuk masuk ke VPS Anda.
2. Instalasi dan Konfigurasi Nginx
Nginx adalah server web yang akan kita gunakan untuk menjalankan aplikasi web di VPS. Berikut adalah langkah-langkah untuk menginstal dan mengkonfigurasi Nginx.
Mengupdate Paket Sistem
Sebelum menginstal Nginx, pastikan paket sistem di VPS Anda diperbarui dengan menjalankan perintah berikut:
sudo apt update
sudo apt upgrade
Instalasi Nginx
Untuk menginstal Nginx, jalankan perintah berikut:
sudo apt install nginx
Konfigurasi Firewall untuk Nginx
Untuk mengizinkan akses ke Nginx melalui firewall, jalankan perintah berikut:
sudo ufw allow 'Nginx HTTP'
Mengkonfigurasi Nginx Virtual Host
Nginx menggunakan konsep Virtual Host untuk mengatur situs web yang berbeda. Anda dapat membuat konfigurasi Virtual Host baru dengan membuat file konfigurasi baru di direktori /etc/nginx/sites-available/
. Berikut adalah contoh konfigurasi Virtual Host:
server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.html index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
Catatan: Pastikan Anda mengganti example.com
dengan nama domain atau alamat IP Anda.
3. Instalasi dan Konfigurasi MySQL
MySQL adalah sistem manajemen basis data yang akan kita gunakan untuk menyimpan data aplikasi web. Berikut adalah langkah-langkah untuk menginstal dan mengkonfigurasi MySQL.
Instalasi MySQL
Untuk menginstal MySQL, jalankan perintah berikut:
sudo apt install mysql-server
Konfigurasi Keamanan MySQL
Setelah menginstal MySQL, Anda perlu menjalankan skrip keamanan yang disediakan oleh MySQL untuk mengamankan instalasi Anda:
sudo mysql_secure_installation
Uji Koneksi ke MySQL
Untuk menguji koneksi ke MySQL, jalankan perintah berikut:
mysql -u root -p
Jika Anda berhasil masuk ke MySQL shell, koneksi ke MySQL berhasil.
4. Instalasi dan Konfigurasi PHP
PHP adalah bahasa pemrograman yang akan kita gunakan untuk membuat aplikasi web. Berikut adalah langkah-langkah untuk menginstal dan mengkonfigurasi PHP.
Instalasi PHP
Untuk menginstal PHP, jalankan perintah berikut:
sudo apt install php-fpm php-mysql
Konfigurasi PHP untuk Nginx
Anda perlu mengedit file konfigurasi Nginx Virtual Host untuk mengaktifkan dukungan PHP. Buka file konfigurasi Nginx Virtual Host yang telah Anda buat sebelumnya dan tambahkan blok konfigurasi berikut:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
Uji Konfigurasi PHP
Untuk menguji konfigurasi PHP, buat file info.php
di direktori root Virtual Host Anda dengan isi berikut:
<?php
phpinfo();
Buka browser dan akses http://example.com/info.php
. Jika Anda melihat informasi PHP yang ditampilkan, konfigurasi PHP berhasil.
5. Menghubungkan Nginx, MySQL, dan PHP
Setelah menginstal Nginx, MySQL, dan PHP, kita perlu menghubungkannya agar dapat berfungsi bersama. Berikut adalah langkah-langkah untuk menghubungkan Nginx, MySQL, dan PHP.
Mengkonfigurasi Nginx untuk Menggunakan PHP
Buka file konfigurasi Nginx Virtual Host yang telah Anda buat sebelumnya. Pastikan blok konfigurasi PHP telah ditambahkan seperti yang dijelaskan pada langkah sebelumnya.
Uji Koneksi antara Nginx, MySQL, dan PHP
Untuk menguji koneksi antara Nginx, MySQL, dan PHP, buat file test.php
di direktori root Virtual Host Anda dengan isi berikut:
<?php
$conn = mysqli_connect("localhost", "username", "password");
if ($conn) {
echo "Koneksi ke MySQL berhasil!";
} else {
echo "Koneksi ke MySQL gagal!";
}
Buka browser dan akses http://example.com/test.php
. Jika Anda melihat pesan “Koneksi ke MySQL berhasil!”, koneksi antara Nginx, MySQL, dan PHP berhasil.
6. Membuat dan Mengelola Database
Setelah menghubungkan Nginx, MySQL, dan PHP, kita dapat membuat dan mengelola database untuk aplikasi web kita. Berikut adalah langkah-langkah untuk membuat dan mengelola database.
Membuat Database MySQL
Untuk membuat database MySQL, jalankan perintah berikut di MySQL shell:
CREATE DATABASE nama_database;
Membuat Pengguna MySQL
Untuk membuat pengguna MySQL, jalankan perintah berikut di MySQL shell:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON nama_database.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
Pastikan Anda mengganti nama_database
, username
, dan password
sesuai kebutuhan Anda.
Mengelola Database dengan phpMyAdmin
Untuk mengelola database dengan antarmuka grafis, Anda dapat menginstal phpMyAdmin dengan menjalankan perintah berikut:
sudo apt install phpmyadmin
7. Mengunggah dan Mengelola Aplikasi Web
Setelah mengkonfigurasi LEMP dan membuat database, kita dapat mengunggah dan mengelola aplikasi web di VPS. Berikut adalah langkah-langkah untuk mengunggah dan mengelola aplikasi web.
Mengunggah Aplikasi Web ke VPS
Anda dapat mengunggah aplikasi web menggunakan protokol FTP atau SCP ke direktori root Virtual Host Anda.
Mengkonfigurasi Aplikasi Web
Setiap aplikasi web memiliki konfigurasi masing-masing. Pastikan Anda membaca dokumentasi aplikasi web yang ingin Anda jalankan dan mengkonfigurasinya sesuai kebutuhan.
8. Mengamankan Konfigurasi LEMP
Setelah mengkonfigurasi LEMP dan mengunggah aplikasi web, penting untuk mengamankan konfigurasi LEMP Anda. Berikut adalah beberapa langkah untuk mengamankan konfigurasi LEMP.
Mengamankan Nginx dengan SSL
Anda dapat mengamankan Nginx dengan menggunakan sertifikat SSL. Anda dapat membeli sertifikat SSL dari penyedia sertifikat atau menggunakan sertifikat SSL gratis dari Let’s Encrypt.
Memperkuat Keamanan MySQL
Pastikan untuk mengubah kata sandi pengguna root MySQL dan menghapus pengguna MySQL yang tidak diperlukan.
Mengamankan Konfigurasi PHP
Pastikan untuk membatasi akses ke file konfigurasi PHP dan memeriksa pengaturan PHP yang mempengaruhi keamanan.
9. Mengelola Layanan LEMP
Setelah mengkonfigurasi LEMP, Anda perlu tahu cara memulai, menghentikan, dan merestart layanan LEMP. Berikut adalah beberapa perintah yang berguna:
- Untuk memulai Nginx:
sudo systemctl start nginx
- Untuk menghentikan Nginx:
sudo systemctl stop nginx
- Untuk merestart Nginx:
sudo systemctl restart nginx
- Untuk memulai MySQL:
sudo systemctl start mysql
- Untuk menghentikan MySQL:
sudo systemctl stop mysql
- Untuk merestart MySQL:
sudo systemctl restart mysql
- Untuk memulai PHP-FPM:
sudo systemctl start php7.4-fpm
- Untuk menghentikan PHP-FPM:
sudo systemctl stop php7.4-fpm
- Untuk merestart PHP-FPM:
sudo systemctl restart php7.4-fpm
10. Membesarkan Skala LEMP
Ketika aplikasi web Anda berkembang, Anda mungkin perlu membesarkan skala LEMP Anda untuk menangani lonjakan lalu lintas atau mengoptimalkan kinerja. Berikut adalah beberapa langkah untuk membesarkan skala LEMP.
Menangani Lonjakan Lalu Lintas
Anda dapat menggunakan layanan CDN (Content Delivery Network) atau memperbarui spesifikasi VPS Anda untuk menangani lonjakan lalu lintas.
Mengoptimalkan Kinerja LEMP
Anda dapat mengoptimalkan kinerja LEMP dengan mengonfigurasi cache, kompresi, dan tuning server.
Akhir Kata
Dalam panduan ini, kita telah membahas langkah-langkah konfigurasi LEMP di VPS menggunakan bahasa Indonesia. Dari memilih VPS yang tepat hingga mengelola layanan LEMP, Anda sekarang memiliki pengetahuan yang cukup untuk mengonfigurasi LEMP di VPS Anda. Selamat mencoba!
Terrific entry. It’s extremely well-written and full of useful details. Many thanks for providing this post.
Appreciated this post. It’s so well-researched and packed with useful details. Many thanks for offering such valuable information.
Excellent post. I thought the information highly beneficial. Appreciated the method you explained the content.
This post offered fantastic information. I truly liked perusing it. Your information is extremely arranged and straightforward to understand.
This post is truly amazing! The information provided is very beneficial, and it’s articulate. Thanks for putting in the work to create this.
d0wjjz
Excellent entry. I discovered the information extremely beneficial. Adored the way you explained everything.