Tuesday, March 26, 2019

Cara Install LEMP Stack di VPS CentOS 7 64 bit

Pada post kali ini saya akan membagikan sebuah tutorial bagaimana cara install LEMP Stack di VPS CentOS 7 64 bit.

Cara Install LEMP Stack di VPS CentOS 7 64 bit


LEMP stack adalah kumpulan perangkat lunak yang terdiri dari Linux, Nginx, MySQL dan PHP.

LEMP stack berfungsi untuk membangun sebuah web server di mana website akan ditempatkan.

Selain LEMP stack ada juga yang disebut LAMP stack. LAMP stack menggunakan web server Apache, berbeda dengan LEMP stack yang menggunakan Nginx.

Tutorial kali ini saya praktekkan pada VPS Digital Ocean dengan sistem operasi CentOS 7 64 bit. Tetapi seharusnya dapat diterapkan juga pada VPS dari provider lain.

Syarat


Berikut adalah syarat yang harus disiapkan sebelum mengikuti tutorial ini.


  • Siapkan sebuah VPS dengan sistem operasi CentOS 7 32 bit atau 64 bit. Kondisi VPS wajib masih fresh, belum diinstall aplikasi lain.


Persiapan


Sebelum masuk ke proses install LEMP stack, terlebih dahulu kita harus menambahkan CentOS 7 EPEL repositori dan menginstall nano. Sebenarnya menggunakan vi juga bisa, tetapi karena beberapa alasan saya akan menggunakan nano.

1. Lakukan koneksi SSH ke VPS dengan user root via aplikasi terminal seperti Putty (Windows) atau JuiceSSH (Android).

2. Tambahkan CentOS 7 EPEL repositori dengan perintah berikut

yum install -y epel-release


3. Install nano dengan perintah berikut

yum install -y nano


Install Nginx


Nginx adalah sebuah web server yang saat ini, hingga artikel ini ditulis, merupakan web server yang paling banyak digunakan. Nginx adalah web server yang modern dan efisien.

Jalankan perintah berikut untuk menginstall Nginx

yum install -y nginx


Start Nginx dengan perintah

systemctl start nginx


Untuk mengetahui apakah Nginx terinstall dengan baik, cobalah untuk mengakses IP VPS Anda di browser. Seharusnya akan tampil seperti gambar berikut.

Cara Install LEMP Stack di VPS CentOS 7 64 bit
Welcome to nginx


Jalankan perintah berikut agar Nginx bisa start waktu boot

systemctl enable nginx


Install MySQL (MariaDB)


MariaDB adalah sebuah aplikasi manajemen database yang merupakan fork dari MySQL.

Jalankan perintah berikut untuk menginstall MariaDB dan paket pembantu.

yum install -y mariadb-server mariadb


Start MariaDB dengan perintah berikut

systemctl start mariadb


Jalankan perintah berikut untuk membuat sistem database menjadi lebih aman.

mysql_secure_installation



Ketika muncul pertanyaan Enter current password for root jawab dengan menekan tombol enter.

Cara Install LEMP Stack di VPS CentOS 7 64 bit


Ketika muncul pertanyaan Set root password? jawab dengan mengetikkan y lalu enter.

Cara Install LEMP Stack di VPS CentOS 7 64 bit


Ketika muncul prompt New password: jawab dengan mengetikkan password yang Anda inginkan.

Ketika muncul prompt Re-enter new password: jawab dengan mengetikkan password lagi, sama persis seperti di atas.

Cara Install LEMP Stack di VPS CentOS 7 64 bit


Ketika muncul pertanyaan Remove anonymous users? jawab dengan mengetikkan y lalu enter.

Cara Install LEMP Stack di VPS CentOS 7 64 bit


Ketika muncul pertanyaan Disallow root login remotely? jawab dengan mengetikkan y lalu enter.

Cara Install LEMP Stack di VPS CentOS 7 64 bit


Ketika muncul pertanyaan Remove test database and access to it? Jawab dengan mengetikkan y lalu enter.

Cara Install LEMP Stack di VPS CentOS 7 64 bit


Ketika muncul pertanyaan Reload privilege tables now? Jawab dengan mengetikkan y lalu enter.

Cara Install LEMP Stack di VPS CentOS 7 64 bit


Jalankan perintah berikut agar MariaDB start waktu boot.

systemctl enable mariadb


Install PHP


PHP adalah sebuah aplikasi yang akan memproses kode untuk menampilkan konten dinamis. PHP dapat menjalankan script dan melakukan koneksi ke database MySQL.

Jalankan perintah berikut untuk menginstall PHP dan beberapa paket penting lainnya.

yum install -y php php-mysql php-fpm


Konfigurasi PHP


Berikut adalah beberapa konfigurasi PHP yang harus dilakukan agar PHP menjadi lebih aman.

1. Edit file /etc/php.ini dengan perintah berikut

nano /etc/php.ini


Cari baris berikut

;cgi.fix_pathinfo=1


Ubah menjadi

cgi.fix_pathinfo=0


Simpan file dengan cara menekan tombol Ctrl x lalu y kemudian enter.

2. Edit file /etc/php-fpm.d/www.conf dengan perintah berikut

nano /etc/php-fpm.d/www.conf


Cari baris berikut

listen = 127.0.0.1:9000


Ubah menjadi

listen = /var/run/php-fpm/php-fpm.sock


Kemudian cari baris berikut

;listen.owner = nobody
;listen.group = nobody

Ubah menjadi

listen.owner = nobody
listen.group = nobody

Kemudian cari baris berikut

user = apache


Ubah menjadi

user = nginx


Kemudian cari baris berikut

group = apache


Ubah menjadi

group = nginx


Simpan file dengan cara menekan tombol Ctrl x lalu y kemudian enter.

Jalankan perintah berikut untuk start PHP processor.

systemctl start php-fpm


Jalankan perintah berikut untuk start php-fpm saat boot.

systemctl enable php-fpm


Konfigurasi Nginx untuk Memproses Halaman PHP


Kita akan melakukan konfigurasi untuk mengatur agar Nginx menggunakan PHP processor untuk menangani konten dinamis.

Edit file /etc/nginx/conf.d/default.conf dengan perintah berikut.

nano /etc/nginx/conf.d/default.conf


Isi dengan kode-kode berikut

server {
    listen       80;
    server_name  server_domain_name_or_IP;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Catatan :

Ubah server_domain_name_or_IP dengan domain Anda atau IP VPS Anda

Simpan file dengan cara menekan tombol Ctrl x lalu y kemudian enter.

Restart Nginx dengan perintah berikut agar konfigurasi di atas bisa diaplikasikan.

systemctl restart nginx


Tes PHP


Untuk mengetahui apakah PHP sudah terinstall dengan baik, kita akan membuat sebuah file dengan nama info.php.

Jalankan perintah berikut untuk membuat file info.php.

nano /usr/share/nginx/html/info.php


Isi dengan kode berikut

<?php phpinfo(); ?>


Simpan file dengan cara menekan tombol Ctrl x lalu y kemudian enter.

Kemudian bukalah alamat berikut di browser

http://IP_VPS_Anda/info.php

Jika tampil seperti gambar berikut, itu tandanya PHP sudah terinstall dan berfungsi dengan baik.

Cara Install LEMP Stack di VPS CentOS 7 64 bit
info.php


Terakhir, hapus file info.php dengan perintah berikut.

rm -f /usr/share/nginx/html/info.php


Demikianlah telah saya uraikan bagaimana cara install LEMP stack di VPS CentOS 7 64 bit. Semoga artikel ini bermanfaat.

Comments


EmoticonEmoticon