LEMP adalah sekumpulan teknologi yang digunakan untuk membuat halaman web aplikasi. Menggunakan Linux sebagai sistem operasi dengan Nginx sebagai web server, database menggunakan MySQL serta PHP untuk menangani pemrosesan data secara dinamis.

Pada tutorial ini, kita akan mempelajari bagaimana menginstall teknologi LEMP pada Ubuntu 16.04. Ubuntu merupakan bagian dari distro linux sebagai kebutuhan dasar untuk menjalankan komponen teknologi yang lain.

# 1 : Menginstall Nginx Web Server

Nginx saat ini merupakan teknologi web server yang sangat populer di dunia karena mempunyai kemampuan yang responsive untuk menangani trafic yang besar dan tinggi. Dibandingkan dengan web server yang lain seperti Apache, Nginx lebih resource-friendly dan dapat digunakan juga sebagai reverse-proxy.

Untuk dapat menginstall package nginx dilakukan dengan menjalankan perintah :

di Ubuntu 16.04, Nginx secara otomatis langsung running setelah selesai instalasi.

Catatan :

Jika sebelumnya kita sudah menginstall web server lain seperti Apache di mesin ubuntu server kita, maka kita tidak dapat menjalankan 2 web server secara bersamaan. Solusinya adalah dengan mematikan atau meng-uninstall web server tersebut atau mengganti port default web server (port 80) ke port lain.


Setelah selesai menginstall Nginx web server, coba untuk mengakses alamat domain atau IP mesin server ubuntu kita. Maka seharusnya akan muncul halaman default dari Nginx.

Jika telah berhasil melihat halaman “Welcome to Nginx”, kita telah berhasil menginstall Nginx

# 2 : Menginstall Database MySQL

Setelah memiliki Nginx web server, kita perlu menginstall MySQL sebuah database management system untuk mengelola basis data pada aplikasi kita.

untuk menginstall MySQL dilakukan dengan menjalankan perintah :

Pada saat menginstall, kita akan di minta untuk memasukkan password (root) yang akan di gunakan untuk mengakses MySQL sistem. Ketika MySQL database telah selesai diinstall, masih ada yang perlu dilakukan untuk meningkatkan keamanan dari sistem database kita dengan menjalankan perintah :

Baca petunjuk yang di berikan dan sesuaikan dengan konfigurasi sistem database yang kita perlukan. Setelah melewati tahap ini seharusnya database sistem sudah siap untuk digunakan.

# 3 : Menginstall PHP

Saat ini kita telah memiliki Nginx sebagai web server dan MySQL untuk mengelola database sistem. Kita masih memerlukan PHP untuk membuat konten dinamis pada aplikasi web kita. Sayangnya, Nginx tidak memiliki native PHP processing seperti web server lain yaitu sebuah modul untuk menangani PHP request pada pertukaran data. kita memerlukan modul tambahan yang disediakan php yaitu php-fpm dan php-mysql.

Untuk menginstall modul tersebut dilakukan dengan perintah :

Sekarang kita telah memiliki komponen PHP yang sudah di install, tetapi kita memerlukan konfigurasi lanjutan untuk membuatnya lebih aman.

Buka file konfigurasi php-fpm dengan perintah :

Kita akan melihat isi file dengan parameter cgi.fix_pathinfo yang masih dengan komentar (;) dan di “1” secara default.

Ini adalah sebuah setingan yang tidak aman, karena mengizinkan PHP untuk mengeksekusi file yang paling “mirip” jika request PHP yang diinginkan tidak ditemukan.

Kita akan mengubah konfigurasi file tersebut dengan menghapus komentar (;) dan menggantinya nilainya dengan “0”. Simpan dan tutup file tersebut. Selanjutnya restart PHP processor dengan perintah :

# 4 : Konfigurasi Nginx dengan PHP Processor

Setelah semua komponen selesai semua di install, kita masih memerlukan sebuah konfigurasi untuk menghubungkan Nginx supaya dapat mengeksekusi PHP processor untuk konten dinamis.

Kita akan melakukannya di Server Block level (kalau di Apache kita mengenalnya dengan Apache’s Virtual Host). Buka file default Nginx Server Block dengan perintah :

Kita akan banyak melihat file konfigurasi yang akan membuat bingung jika ini adalah pertama kalinya melakukan konfigurasi Nginx web server. Hapus semua isi file tersebut dan ikuti langkah-langkah konfigurasi berikut :

  • Kita perlu menambahkan index.php sebagai nilai pertama yang akan di eksekusi ketika terdapat request terhadap suatu folder sistem.
  • Kita akan memodifikasi server_name yang akan pointing ke domain server atau alamat IP server.
  • Pada blok bagian location ~ \.php$ kita akan menyisipkan konfigurasi fastcgi-php.conf dan file socket php-fpm
  • Nginx tidak menangani file .httaccess sehingga semua proses akan di abaikan

Hasil dari file konfigurasi nginx yang telah kita ubah akan menjadi seperti berikut :

Simpan file konfigurasi tersebut dan tes dengan perintah :

Jika masih ada error cek kembali konfigurasi yang telah kita buat sebelum lanjut.

Ketika telah siap, reload Nginx untuk membuatnya jalan dengan baik dengan perintah :

# 5 : Membuat file PHP untuk Tes Konfigurasi

Semua komponen dan konfigurasi LEMP seharusnya sudah selesai, kita hanya perlu melakukan tes untuk memastikan Nginx dapat berjalan dengan baik menangani file PHP.

Untuk melakukan testing, kita dapat melakukannya dengan membuat file info.php di document root web server dengan perintah :

Ketik kode PHP berikut pada file yang baru kita buat tersebut. Kode ini untuk menampilkan informasi mengenai server kita.

Simpan file tersebut kemudian selanjutnya akses melalui IP atau domain server kita di ikuti /info.php.

Kita akan melihat halaman web yang dibuat oleh PHP menampikan informasi tentang server kita.

Jika kita dapat melihat halaman seperti ini, maka konfigurasi Nginx dan PHP telah berhasil. Hapus file tersebut jika memang tidak di perlukan lagi.

Akhirnya kita telah selesai melakukan installasi dan konfigurasi teknologi LEMP di Ubuntu 16.04. Ini adalah fondasi yang baik untuk membangun web aplikasi yang stabil.

Selamat Ngoprek 😀

One Reply to “Cara Instal Linux, Nginx, MySQL, PHP (LEMP) di Ubuntu 16.04”

Leave a Reply

Your email address will not be published. Required fields are marked *