Cara Mengatur LEMP Stack (Nginx, MariaDB, PHP 7.2) di Ubuntu 18.04

Dalam artikel kami sebelumnya, kami membahas cara mengatur LAMP Stack di Ubuntu 18.04. Nah, sekali lagi kami di sini untuk memandu Anda tentang cara mengatur LEMP Stack di Ubuntu 18.04.

Instal dan Atur LEMP Stack di Ubuntu 18.04

Instal Server Web Nginx

Nginx, biasanya diucapkan sebagai Engine-X, tersedia di repositori Ubuntu secara default. Dengan asumsi indeks paket Anda mutakhir, jalankan perintah di bawah ini untuk menginstal Nginx.

apt install nginx -y

Mulai dan Aktifkan Nginx untuk dijalankan pada sistem reboot

Perhatikan bahwa Nginx diatur untuk berjalan setelah instalasi secara default di Ubuntu 18.04. Anda dapat memverifikasi hal yang sama dengan menjalankan perintah;

systemctl status nginx 

nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-11-05 21:35:24 EAT; 1min 45s ago Docs: man:nginx(8) Process: 1974 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 1961 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0

Sekarang Nginx sedang berjalan, jalankan perintah di bawah ini untuk mengaktifkannya, mulai saat reboot sistem;

systemctl enable nginx

Jika UFW sedang berjalan, aktifkan Nginx melaluinya. Anda dapat menjalankan perintah di bawah ini untuk membuat daftar profil aplikasi sehingga Anda dapat mengaktifkan profil khusus untuk Nginx.

ufw app list | grep -i nginx Nginx Full Nginx HTTP Nginx HTTPS

Dalam hal ini, Anda dapat mengizinkan salah satu profil Nginx di atas tergantung pada kebutuhan lalu lintas Anda saat ini, Misalnya, untuk mengizinkan lalu lintas pada port 80 (HTTP), jalankan saja perintah;

ufw allow "Nginx HTTP" ufw reload

Anda sekarang dapat menguji server web Anda dengan menavigasi ke browser web Anda dan memasukkan alamat IP server Anda. Jika Anda melihat halaman di bawah ini, maka Nginx berjalan dengan baik.

LEMP Stack halaman pengujian nginx Ubuntu 18.04

Instal MariaDB RDBMS

Server MariaDB adalah garpu sumber terbuka dari sistem manajemen basis data relasional MySQL . Jalankan perintah di bawah ini untuk menginstal server MariaDB.

apt install mariadb-server -y

Sama seperti Nginx, MariaDB diatur untuk berjalan secara default setelah instalasi. Sekali lagi, Anda dapat menjalankan perintah, systemctl status mariadb. Anda juga dapat mengaturnya untuk dijalankan pada boot sistem dengan menjalankan, systemctl enable mariadb.

Anda mungkin ingin menggunakan server MySQL daripada MariaDB. Jika sudah, jalankan perintah di bawah ini untuk menginstal server MySQL.

apt install mysql-server -y

Setelah instalasi selesai, Anda dapat menjalankan skrip keamanan di bawah ini untuk melakukan konfigurasi keamanan server database awal.

mysql_secure_installation
...output snipped... Enter current password for root (enter for none): ENTER OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y New password: ENTER YOUR PASSWORD Re-enter new password: CONFIRM YOUR PASSWORD Password updated successfully! Reloading privilege tables..... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database...... Success! - Removing privileges on test database...... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!

Catatan, Anda dapat menekan Enter untuk menerima default Yes.

Instal PHP

PHP, Hypertext Preprocessor, adalah bahasa skrip sisi server yang dirancang untuk pengembangan Web, tetapi juga digunakan sebagai bahasa pemrograman tujuan umum. Jalankan perintah berikut untuk menginstal modul PHP dan PHP untuk Apache dan MySQL.

apt install php php-fpm php-mysql -y

Jika Anda ingin menginstal lebih banyak modul PHP, Anda bisa mencari modul yang Anda inginkan dari repo Ubuntu dan menginstalnya seperti yang ditunjukkan di bawah ini.

apt-cache search php- | more
libnet-libidn-perl - Perl bindings for GNU Libidn php-all-dev - package depending on all supported PHP development packages php-cgi - server-side, HTML-embedded scripting language (CGI binary) (default) php-cli - command-line interpreter for the PHP scripting language (default) php-common - Common files for PHP packages php-curl - CURL module for PHP [default] php-dev - Files for PHP module development (default) php-gd - GD module for PHP [default] php-gmp - GMP module for PHP [default] php-ldap - LDAP module for PHP [default] --More--

Jadi jika Anda ingin menginstal modul GD misalnya, jalankan perintah di bawah ini;

apt install php-gd -y

Perhatikan bahwa Ubuntu 18.04 dikirimkan dengan PHP versi terbaru, PHP 7.2.

Mengkonfigurasi Nginx untuk Memproses Halaman PHP

Setelah instalasi selesai, Anda perlu mengkonfigurasi Nginx untuk dapat memproses halaman PHP.

Untuk mencapai ini, edit file konfigurasi blok server default Nginx, /etc/nginx/sites-available/default;

  • cari direktori root server web dan tambahkan index.php ke daftar file yang akan diproses
... root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html index.php;..
  • temukan location blok mendefinisikan skrip PHP untuk diteruskan ke server FastCGI dan membuat perubahan sedemikian rupa sehingga konfigurasi terlihat seperti;
# pass PHP scripts to FastCGI server # location ~.php$ {  include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; }

Setelah Anda selesai mengedit, simpan konfigurasi dan keluar.

Mulai ulang Nginx

Agar perubahan diterapkan, mulai ulang Nginx. Namun sebelum Anda dapat melakukannya, pastikan konfigurasi tidak memiliki error sintaks.

nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Jika semuanya baik-baik saja, lanjutkan d
an mulai ulang Nginx

systemctl restart nginx

Uji apakah PHP benar-benar berfungsi dengan membuat file php uji misalnya, index.php di bawah folder dokumen root web Nginx, /var/www/html dan letakkan konten berikut.

vim /var/www/html/index.php
<?php phpinfo(); ?>

Setelah itu, simpan file dan keluar. Mulai ulang service Apache untuk melakukan perubahan.

systemctl restart nginx

Sekarang, untuk menguji pemrosesan PHP, navigasikan ke browser Anda dan masukkan URL berikut di bilah alamat Anda.

http://your-server-IP/index.php

Anda seharusnya dapat melihat halaman yang mirip dengan yang ditunjukkan di bawah ini.

LEMP Stack di Ubuntu 18.04 php-test-page

Anda dapat memeriksa versi PHP yang diinstal dengan perintah berikut;

php -v PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS ) Copyright (c) 1997-2018 PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Sekarang semuanya tampak baik-baik saja, hapus file konfigurasi pengujian PHP untuk menghindari pembuatan permukaan serangan.

rm -rf /var/www/html/index.php

Selamat! Anda telah berhasil menginstal dan mengonfigurasi stack LEMP di Ubuntu 18.04 (LTS).

Author: fungsi