Cara Menginstal LEMP Stack dengan PhpMyAdmin di Ubuntu 20.04


Bagi Anda yang belum tahu apa itu LEMP – ini adalah kombinasi paket perangkat lunak – Linux, Nginx (diucapkan EngineX), MariaDB dan PHP.

Anda dapat menggunakan LEMP untuk tujuan pengujian atau dalam lingkungan produksi nyata untuk menerapkan aplikasi web menggunakan kerangka kerja PHP seperti Laravel atau Yii, atau sistem pengelolaan konten seperti WordPress, Drupal , atau Joomla

Anda mungkin bertanya-tanya apa perbedaan antara LAMP dan LEMP. Satu-satunya perbedaan adalah server web yang disertakan – Apache (di LAMP) dan Nginx (di LEMP >). Kedua server web tersebut cukup bagus dan meskipun Apache adalah yang paling sering digunakan, Nginx tidak mundur sama sekali.

Aplikasi lain yang banyak digunakan yang biasanya dipasang bersama tumpukan LEMP adalah PhpMyAdmin – adalah alat berbasis web PHP untuk mengelola server basis data MySQL/MariaDB dari peramban web.

Jika Anda mencari pengaturan LAMP untuk Ubuntu 20.04 Anda, maka Anda harus membaca panduan pengaturan LAMP kami di Ubuntu 20.04.

Prasyarat:

  1. Panduan Instalasi Server Ubuntu 20.04

Dalam artikel ini, Anda akan mempelajari cara memasang dan mengonfigurasi tumpukan LEMP dengan PhpMyAdmin di server Ubuntu 20.04.

Langkah 1: Menginstal Nginx di Ubuntu 20.04

1. Nginx adalah server web modern cepat yang dirancang untuk melayani banyak koneksi bersamaan tanpa menghabiskan terlalu banyak sumber daya server. Inilah sebabnya mengapa ini sering kali menjadi pilihan utama di lingkungan perusahaan.

NGINX juga biasa digunakan sebagai penyeimbang beban dan cache konten web. Ini mendukung server virtual berbasis Nama dan berbasis IP (analog dengan host virtual di Apache).

Anda dapat menginstal Nginx di desktop atau server Ubuntu 20.04 Anda dengan menjalankan perintah berikut.

sudo apt update
sudo apt install nginx

File konfigurasi Nginx disimpan di direktori /etc/nginx dan file konfigurasi utamanya adalah /etc/nginx/nginx.conf. Yang penting, root dokumen default untuk menyimpan file web Anda adalah /usr/share/nginx/html/. Namun Anda dapat menggunakan /var/www/html standar yang harus dikonfigurasi di file konfigurasi blok server situs web atau aplikasi Anda.

2. Penginstal paket Ubuntu memicu systemd untuk memulai layanan Nginx dan mengaktifkannya untuk memulai secara otomatis setiap kali server di-boot ulang. Gunakan perintah systemctl berikut untuk mengonfirmasi bahwa layanan berjalan dan diaktifkan.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Sekarang saatnya memeriksa apakah instalasi Nginx berhasil dengan memanggil halaman Nginx melalui browser menggunakan Alamat IP server.

http://SERVER_IP

Jika Anda tidak mengetahui alamat IP server Anda, Anda dapat menemukannya menggunakan perintah IP seperti yang ditunjukkan.

ip addr show

Halaman web default NGINX akan dimuat seperti yang ditunjukkan pada tangkapan layar berikut, mengonfirmasi instalasi dan pengoperasian yang benar.

Langkah 2: Menginstal Basis Data MariaDB di Ubuntu 20.04

4. MariaDB adalah sistem pengelolaan basis data relasional yang relatif baru yang dirancang sebagai cabang komunitas MySQL setelah diakuisisi oleh Oracle.

Instalasi MariaDB sederhana dan dapat dimulai dengan perintah sebagai:

sudo apt install mariadb-server mariadb-client

5. Layanan MariaDB juga secara otomatis dimulai dan diaktifkan untuk selalu dimulai saat boot sistem dan Anda dapat mengonfirmasinya menggunakan perintah berikut.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6. Jika Anda ingin meningkatkan keamanan MariaDB, Anda dapat menjalankan perintah mysql_secure_installation, yang akan memberikan beberapa opsi dasar namun penting untuk dikonfigurasi :

sudo mysql_secure_installation

Kemudian pilih opsi untuk mengatur kata sandi pengguna root database (atau administrator) dan ikuti petunjuknya serta baca pertanyaan dengan cermat. Untuk mengamankan server database Anda, jawab pertanyaan seperti yang ditunjukkan pada tangkapan layar.

  • Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada): Enter
  • Tetapkan kata sandi root? [Y/n] y
  • Hapus pengguna anonim? [Y/n] y
  • Larang login root dari jarak jauh? [Y/n] y
  • Hapus database pengujian dan akses ke sana? [Y/n] y
  • Muat ulang tabel hak istimewa sekarang? [Y/n] y

7. Untuk membuat, mengelola, dan melakukan operasi basis data, Anda memerlukan perintah shell mysql dengan tanda -u untuk menentukan nama pengguna basis data dan -p untuk memberikan kata sandi pengguna.

Untuk terhubung sebagai pengguna root, gunakan perintah sudo (bahkan tanpa tanda -p) jika tidak, Anda akan menerima kesalahan yang disorot dalam tangkapan layar berikut.

mysql -u root -p
sudo mysql -u root

Langkah 3: Menginstal PHP di Ubuntu 20.04

8. PHP adalah bahasa skrip sumber terbuka, fleksibel, dan dinamis yang populer untuk membangun situs web dan aplikasi web. Ini mendukung berbagai teknik pemrograman. Yang penting, komunitas PHP sangat besar dan beragam, terdiri dari perpustakaan, kerangka kerja, dan komponen berguna lainnya yang tak terhitung jumlahnya.

NGINX menggunakan FPM (FastCGI Process Manager) atau PHP-FPM, untuk memproses skrip PHP. PHP-FPM adalah implementasi PHP FastCGI alternatif yang banyak digunakan dan dilengkapi dengan banyak fitur tambahan dan digunakan untuk mendukung situs/aplikasi web dengan lalu lintas tinggi.

Untuk menginstal PHP dan PHP-FPM, jalankan perintah berikut yang juga akan menginstal beberapa paket tambahan yang diperlukan.

sudo apt install php php-mysql php-fpm

Karena PHP 7.4 adalah versi default PHP di Ubuntu 20.04, file konfigurasi PHP terletak di /etc/php/7.4 / dan file konfigurasi PHP-FPM disimpan di /etc/php/7.4/fpm.

9. Selanjutnya, periksa apakah layanan php7.4-fpm aktif dan berjalan dan apakah diaktifkan dengan perintah berikut.

sudo systemctl status php7.4-fpm
sudo systemctl is-enabled php7.4-fpm

Langkah 4: Mengonfigurasi Nginx agar berfungsi dengan PHP-FPM

10. Sekarang Anda perlu mengonfigurasi NGINX untuk memproksi permintaan klien ke PHP-FPM, yang secara default dikonfigurasi untuk mendengarkan di Soket UNIX seperti yang ditentukan oleh parameter mendengarkan di file konfigurasi kumpulan default /etc/php/7.4/fpm/pool.d/www.conf.

sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. Dalam file konfigurasi blok server default (/etc/nginx/sites-available/default), hapus komentar pada direktif lokasi untuk memproses PHP permintaan agar terlihat seperti yang ditunjukkan pada tangkapan layar berikut.

sudo vi /etc/nginx/sites-available/default

Simpan file dan keluar.

12. Kemudian uji sintaks konfigurasi NGINX untuk mengetahui kebenarannya. Jika sudah OK, restart layanan Nginx untuk menerapkan perubahan baru.

sudo nginx -t
sudo systemctl restart nginx

13. Sekarang uji apakah NGINX dapat bekerja bersama dengan PHP-FPM untuk memproses permintaan PHP. Buat halaman info.php sederhana di bawah direktori akar dokumen.

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. Di browser Anda, navigasikan menggunakan alamat berikut. Halaman konfigurasi PHP akan dimuat seperti yang ditunjukkan pada tangkapan layar berikut.

http://SERVER_IP/info.php

Langkah 5: Menginstal PhpMyAdmin di Ubuntu 20.04

15. PhpMyAdmin adalah aplikasi PHP berbasis web gratis dan sumber terbuka yang khusus dibuat untuk mengelola server basis data MySQL/MariaDB melalui browser web. Ini menyediakan antarmuka grafis yang intuitif dan mendukung berbagai fitur umum untuk tugas administrasi basis data.

sudo apt install phpmyadmin

16. Selama instalasi paket, Anda akan diminta untuk mengonfigurasi beberapa aspek paket PhpMyAdmin. Pertama, akan diminta untuk memilih server web default untuk menjalankannya. Tekan Esc karena NGINX tidak ada dalam daftar yang disediakan.

17. Selanjutnya, PhpMyAdmin memerlukan database untuk digunakan. Dalam perintah konfigurasi paket ini, pilih Yes untuk mengonfigurasi database untuk PhpMyAdmin dengan paket dbconfig-common.

18. Pada perintah berikutnya, Anda perlu memberikan kata sandi untuk PhpMyAdmin untuk mendaftar ke database MariaDB. Masukkan kata sandi yang aman dan klik Enter.

Langkah 6: Mengonfigurasi NGINX untuk Melayani Situs PhpMyAdmin

19. Agar NGINX dapat melayani situs PhpMyAdmin yang terletak di /usr/share/phpmyadmin, buatlah symlink untuk direktori ini berada di bawah document root, lalu atur perizinan dan kepemilikan yang benar pada direktori PHPMyAdmin seperti berikut.

sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo chmod 775 -R /usr/share/phpmyadmin/
sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Selain itu, pastikan bahwa arahan indeks dalam konfigurasi blok server default (/etc/nginx/sites-available/default) menyertakan index.php seperti yang ditunjukkan pada tangkapan layar berikut.

21. Selanjutnya, restart layanan Nginx sekali lagi untuk menerapkan perubahan di atas.

sudo systemctl restart nginx

22. Sekarang akses situs PhpMyAdmin dari browser menggunakan alamat berikut.

http://SERVER_IP/phpmyadmin

Pada halaman login, autentikasi dengan nama pengguna dan kata sandi PHPMyAdmin. Ingat login pengguna root jarak jauh dinonaktifkan kecuali Anda mengakses PHPMyAdmin di localhost tempat database MariaDB diinstal, akses root tidak akan berfungsi.

Yang terakhir, amankan instalasi PhpMyAdmin Anda menggunakan panduan kami: 4 Tips Berguna untuk Mengamankan Antarmuka Web PhpMyAdmin.

Kesimpulan

Penyiapan LEMP Anda kini telah selesai dan Anda dapat mulai membuat aplikasi web atau cukup bermain dengan layanan Nginx dan MariaDB yang baru saja Anda instal. Ini banyak digunakan dan mendapatkan lebih banyak pengetahuan di dalamnya sangat disarankan bagi administrator sistem.