Cara Install dan Konfigurasi LEMP di Debian 8 (Jessie)


Salah satu alasan paling umum untuk menyiapkan sistem Linux adalah untuk keperluan hosting situs web. Menurut survei NetCraft.com pada bulan Februari 2016 terhadap 1 juta situs web tersibuk di dunia, sekitar 15,60% di antaranya berjalan di Nginx.

Dikombinasikan dengan kemungkinan besar bahwa ada semacam konten dinamis yang disajikan serta semacam database back-end untuk situs web, kemampuan administrator untuk dapat mengatur server LEMP sangat bermanfaat bagi pencari kerja dan pemberi kerja!

Tutorial ini akan menjelaskan dasar-dasar instalasi dan konfigurasi server Linux (khususnya Debian 8 Jessie) agar berfungsi sebagai server LEMP.

Apa itu Server LEMP?

Pertanyaan bagus! Seperti kebanyakan hal di dunia komputasi, LEMP adalah singkatan dari Linux, Nginx, MySQL, dan PHP.

Akronim ini biasanya digunakan untuk merujuk pada kumpulan perangkat lunak di server web. Tutorial ini pertama-tama akan menjelaskan penyiapan LEMP, khususnya MySQL dan PHP.

Sebelum membahas aspek konfigurasi sistem, penting untuk mengetahui tentang Nginx.

Apa itu Nginx?

Nginx memulai kehidupannya pada tahun 2002 ketika dunia komputasi mulai menyadari bahwa situs web dengan sepuluh ribu atau lebih koneksi bersamaan adalah sebuah kemungkinan yang sangat nyata dan sebagai hasilnya Nginx diciptakan dari awal untuk mengatasi masalah ini.

Menginstal dan Mengkonfigurasi MySQL dan PHP

1. Bagian pertama ini akan membahas Debian sebagai server MySQL dan PHP. Bagian Linux dari server LEMP seharusnya sudah selesai dengan menginstal Debian! Namun jika diperlukan panduan cara instalasi Debian, silakan baca artikel berikut di TecMint:

  1. Instalasi Debian 8 Jessie

Setelah Debian siap dijalankan, proses instalasi perangkat lunak lain yang diperlukan dapat diselesaikan dengan satu perintah cepat menggunakan meta-packager 'apt'.

apt-get install mysql-server-5.5 php5-mysql php5

Tergantung pada perangkat keras sistem dan koneksi Internet, proses ini mungkin memerlukan waktu. Saat tulisan ini dibuat, instalasi baru Debian Jessie dengan semua pembaruan yang diterapkan memerlukan sekitar 70MB arsip dari repositori (tidak terlalu buruk mengingat apa yang akan dilakukan server setelah semuanya selesai)! Selama proses instalasi, sistem mungkin meminta pengguna untuk menetapkan kata sandi pengguna root SQL. Ini berbeda dari kata sandi pengguna root sebenarnya dan demi keamanan, mungkin harus tetap berbeda.

2. Setelah apt selesai menginstal semua perangkat lunak, layanan dasar akan aktif dan berjalan. Namun, berhenti di sini akan membuat tutorial menjadi sangat singkat! Jadi mari selami lebih jauh konfigurasi setiap perangkat lunak yang diinstal mulai dari MySQL.

3. Setelah instalasi MySQL, sering kali disarankan agar server SQL melakukan beberapa pekerjaan dasar pada instalasi default. Hal ini mudah dilakukan dengan utilitas mysql_secure_installation.

Perintah ini hanya dijalankan dari baris perintah dan akan meminta pengguna untuk menghapus hal-hal seperti pengguna anonim, menguji database, dan menghapus kemampuan login pengguna root jarak jauh ke database SQL.

mysql_secure_installation

Perintah ini akan memulai prompt interaktif yang akan menanyakan pertanyaan mengenai topik di atas. Karena apt sudah meminta kata sandi root MySQL, kata sandi tersebut harus dimasukkan untuk melakukan perubahan. Karena kata sandi root telah ditetapkan, No dapat menjadi jawaban atas pertanyaan tentang mengubah kata sandi root di server MySQL.

4. Rangkaian pertanyaan berikutnya adalah mengenai pengguna anonim, database 'pengujian', dan akses root ke database dari jarak jauh. Biasanya aman untuk menjawab Ya pada semua perintah ini kecuali ada alasan tertentu mengapa penyiapan memerlukan salah satu opsi ini dibiarkan utuh.

CATATAN: Mungkin ada kesalahan tentang kegagalan menghapus database yang disebut 'test', jangan khawatir tentang hal ini karena database mungkin atau mungkin tidak ada dan skrip akan terus melakukan apa yang diperlukan.

Pada titik ini MySQL siap digunakan. Tanpa mengetahui database atau pengguna apa yang dibutuhkan, sulit untuk melakukan lebih banyak konfigurasi. Namun, sebagian besar situs web sering kali secara otomatis membuat database dan pengguna yang diperlukan saat perangkat lunak diinstal. Namun hal ini sangat bergantung pada perangkat lunak dan memerlukan pandangan sekilas terhadap file README perangkat lunak atau petunjuk pemasangannya.

5. Sekarang setelah MySQL dikonfigurasi, mari lanjutkan dan siapkan beberapa pengaturan dasar PHP untuk server khusus ini. Meskipun ada banyak sekali pengaturan yang dapat dimanipulasi untuk PHP, hanya ada beberapa pengaturan dasar yang hampir selalu harus diubah. File konfigurasi php terletak di /etc/php5/fpm/php.ini. Buka file ini dengan editor teks apa pun.

nano /etc/php5/fpm/php.ini

Menggunakan kemampuan pencarian nano ctrl+w cari string “memory_limit ” (tanpa tanda kutip). Pada instalasi default, baris ini sudah disetel ke 128M namun jika aplikasi memerlukan lebih banyak, baris ini dapat diubah untuk mengakomodasi kebutuhan.

Opsi penting lainnya yang perlu diperiksa adalah “max_execution_time ” dan sekali lagi secara default akan disetel ke 30. Jika suatu aplikasi memerlukan lebih banyak opsi ini dapat diubah. Beberapa orang lebih suka mengatur logging php ke file/direktori khusus juga. Jika ini merupakan persyaratan, cari string “error_log = ” lalu batalkan komentar pada baris tersebut dengan menghapus titik koma yang biasanya ada di sana secara default.

Pada titik ini nilai untuk file log dapat ditambahkan ke akhir baris. Pastikan jalurnya ada di sistem. Setelah selesai melakukan perubahan apa pun yang diperlukan pada file php.ini, simpan perubahan tersebut dan keluar dari editor teks. Pada titik ini, MySQL dan PHP5 siap untuk mulai menghosting situs. Sekarang saatnya mengkonfigurasi Nginx.

Menginstal dan Mengkonfigurasi Nginx

6. Nginx (mesin X) adalah server web alternatif dan sangat kuat. Bagian tutorial ini akan membahas pengaturan halaman web untuk dihosting Nginx. Langkah pertama untuk mengonfigurasi Nginx adalah menginstal paket yang diperlukan menggunakan utilitas 'apt'.

apt-get install nginx

Dengan asumsi semua dependensi terpenuhi, menavigasi ke alamat IP server di browser web akan menghasilkan situs web Nginx default.

CATATAN: Ada kalanya setelah menginstal Nginx, server tidak dimulai secara otomatis. Jika navigasi ke alamat IP server di browser web tidak menghasilkan halaman di bawah ini, jalankan perintah berikut untuk memastikan bahwa Nginx telah dimulai.

service nginx start

Nginx sekarang berhasil menghosting halaman default. Meskipun halaman default Debian adalah situs web yang mencolok, sebagian besar pengguna ingin menghosting sesuatu yang khusus.

7. Langkah selanjutnya adalah menyiapkan Nginx untuk menghosting situs web yang berbeda. Nginx, seperti halnya Apache 2, memiliki direktori konfigurasinya sendiri yang terletak di /etc/nginx. Beralih ke direktori ini menggunakan utilitas cd.

cd /etc/nginx

Untuk tutorial kali ini ada beberapa file dan direktori penting untuk setting website menggunakan Nginx. Dua direktori pertama yang penting adalah direktori 'situs-tersedia' dan 'situs-aktif'. Sama seperti Apache 2, Nginx menggunakan file konfigurasi untuk setiap situs di direktori sites-available yang ketika aktif akan ditautkan secara simbolis ke direktori sites-enabled.

Hal pertama yang diperlukan untuk menghilangkan situs default adalah menghapus tautan simbolis di situs yang mendukung.

rm sites-enabled/default

8. Sekarang file konfigurasi situs baru perlu dibuat dan ditautkan agar Nginx dapat menyajikan halaman tersebut. Membuat file konfigurasi situs dapat disederhanakan dengan menyalin dan memodifikasi konfigurasi situs default.

cp sites-available/default sites-available/tecmint-test

Ini akan membuat file konfigurasi situs baru untuk digunakan. Buka file ini di editor teks untuk mengubah jalur Nginx yang akan menyajikan file.

nano sites-available tecmint-test

Di dalam file ini ada beberapa opsi penting yang perlu diubah agar Nginx dapat melayani situs. Yang pertama adalah baris yang dimulai dengan ‘root‘ karena baris ini menentukan di mana Nginx harus menyajikan file untuk situs tertentu.

Tutorial ini akan membiarkannya sebagai default '/var/www/html' dan cukup letakkan file html untuk disajikan di direktori ini. Namun, pastikan untuk mengubah jalur ini jika ada beberapa situs atau konfigurasi khusus di server ini.

Baris penting berikutnya adalah baris 'indeks'. Karena artikel ini membahas tentang instalasi LEMP dan sebuah situs berpotensi menyajikan halaman php, Nginx perlu diberitahu bahwa halaman default mungkin adalah halaman php. Untuk melakukannya, cukup tambahkan 'index.php' di akhir daftar indeks file.

Sebelum mengaktifkan situs baru, perlu ada sesuatu yang bisa dilayani oleh Nginx. Halaman indeks default sudah ada tetapi untuk mengonfirmasi bahwa situs lain berfungsi, mari ganti konten halaman default dengan yang lain.

echo “It's ALIVE!” > /var/www/html/index.html

9. Langkah selanjutnya adalah mengaktifkan situs baru dengan menautkan file konfigurasi yang baru saja dibuat ke direktori sites-enabled. Hal ini mudah dilakukan dengan menggunakan perintah ln dan kemudian memuat ulang konfigurasi Nginx dengan utilitas layanan.

ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
service nginx reload

Pada titik ini Nginx seharusnya menyajikan halaman web 'sederhana' yang baru. Hal ini dapat dikonfirmasi dengan menavigasi ke alamat IP server melalui browser web!

Sekali lagi, artikel ini dimaksudkan sebagai konfigurasi LEMP yang sangat sederhana. Sebagian besar situs memerlukan konfigurasi lebih lanjut untuk semua bagian yang terlibat tetapi opsi konfigurasinya bisa mencapai ribuan! Semoga berhasil dalam pengaturan apa pun yang dipilih untuk meng-host situs web.