3 min read

Cloud Server Wordpress : Install LEMP Stack di Ubuntu 18.04

Iman Sugirman

LEMP Stack adalah sekelompok perangkat lunak yang dapat digunakan untuk melayani halaman web dan aplikasi web yang dinamis. Ini adalah akronim yang menjelaskan sistem operasi Linux, dengan server web Nginx (diucapkan seperti "Engine-X"). Data backend disimpan dalam database MySQL dan pemrosesan dinamis ditangani oleh PHP.

Mari Kita Mulai,

Menginstall Nginx

Karena ini adalah pertama kalinya saya menggunakan apt untuk sesi ini, ada baiknya mengupdate server dan modul kamu. Setelah itu bisa install nginx :

sudo apt update
sudo apt install nginx

Jika Anda menjalankan ufw firewall, sebagaimana diuraikan dalam panduan pengaturan awal, Anda harus mengizinkan koneksi ke Nginx. Nginx mendaftar sendiri dengan ufw saat instalasi, jadi prosedurnya cukup mudah.

Cara mengaktifkan UFW Firewall :

sudo ufw allow 'Nginx HTTP'

Anda dapat memverifikasi perubahan dengan menjalankan:

sudo ufw status

Maka Output yang dihasilkan :

### Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx HTTP                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Untuk melihat tampilan depan, mari kita lihat dulu berapa IP kamu :

curl -4 icanhazip.com

Dan sekarang akses di browser chrome atau mozila firefox untuk melihat tampilan depannya, coba akses IP yang muncul tadi :

### Output
http://server_domain_or_IP

Kamu akan melihat tulisan Welcome to Nginx dan itu artinya instalasi Nginx Berhasil.

Install Mysql Untuk Memanage Database

Sekarang kamu memiliki server web, Kamu perlu menginstal MySQL (sistem manajemen basis data) untuk menyimpan dan mengelola data untuk situs Kamu.

Install Mysql

sudo apt install mysql-server

MySQL sekarang sudah terinstall, tetapi konfigurasinya belum lengkap. Terus sekarang kita akan mengkonfigurasinya dengan keamanan standard.

sudo mysql_secure_installation

Jika Menjalankan perintah diatas maka akan muncul lagi beberapa pertanyaan :

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

Jawab Y jika ingin menggunakan Password kombinasi. atau masukan Tombol lain jika hanya ingin password standard pilihan anda.

Catatan : Biasanya saya hanya memasukan password yang sudah saya pastikan aman. jadi saya pilih No dan sekarang kita akan melanjutkan setup mysql nya

Dan Pertanyaan selanjutnya saya pilih Yes sampai selesai. Sekarang kita akan cek untuk mysql apakah bisa digunakan atau tidak.

sudo mysql

Dan masukan perintah :

SELECT user,authentication_string,plugin,host FROM mysql.user;

Dan Hasil Outputnya :

### Output
+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Menginstall PHP beserta Konfigurasi Nginx Sebagai PHP Prosesor

Kita telah menginstal Nginx untuk menghandle halaman Kamu dan MySQL diinstal untuk menyimpan dan mengelola data Kamu. Namun, Kamu masih belum memiliki apa pun yang dapat menghasilkan konten dinamis. Di sinilah PHP berperan.

Karena Nginx tidak mengandung pemrosesan PHP asli seperti beberapa server web lainnya, Kamu perlu menginstal php-fpm, yang merupakan kependekan dari "fastCGI process manager". Kita akan memberi tahu Nginx untuk mengirimkan permintaan PHP ke perangkat lunak ini untuk diproses.

Masukan beberapa pengaturan untuk itu maka masukan perintah :

sudo add-apt-repository universe

Dan masukan perintah :

sudo apt install php-fpm php-mysql

Nah sekarang sudah siap saatnya untuk Mengubah Konfigurasi kembali Nginx server kamu.

sudo nano /etc/nginx/sites-available/example.com

Ubah Pengaturan Nginx seperti ini untuk idealnya :

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name example.com;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}

Setelah menambahkan konten ini, simpan dan tutup file. Aktifkan blok server baru Kamu dengan membuat tautan simbolik dari file konfigurasi blok server baru Kamu (di /etc/nginx/sites-available/) ke direktori /etc/nginx/sites-enabled/:

Masukan perintah :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Jika ingin Mengunlink bisa juga anda memasukan :

sudo unlink /etc/nginx/sites-enabled/default

Cek Konfigurasi Nginx Kamu dengan masukan perintah :

sudo nginx -t

Dan sekarang coba reload untuk Nginx kamu :

sudo systemctl reload nginx

Test Membuat File PHP

sudo nano /var/www/html/info.php

Dan isikan kode berikut :

<?php
phpinfo();

Saatnya simpan lalu coba Akses info.php tadi dengan akses di browser :

http://your_server_domain_or_IP/info.php