Cara Install LEMP - NimeTech.com

May 06, 2019 Hosting

Cara install LEMP di VPS [how to]

Apa itu LEMP ?

LEMP atau LEMP Stack adalah sebuah akronim untuk sebuah model dari web service, yang terdiri dari Linux (bisa Ubuntu, CentOS dan lainnya), Engine-X (NGINX) Web Server, MySQL atau MariaDB Database, dan PHP Programming Language. Model ini merupakan sebuah komponen kombinasi yang mana paling populer saat ini dan sering di gunakan untuk membuat web server pada Virtul Private Server (VPS) ataupun Dedicated Server

Bagi kalangan SysAdmin ataupun DevOps mungkin banyak yang menggunakan LEMP sebagai web server karena ketangguhan LEMP dalam menangani High Traffic sebuah website yang mana ini merupakan salah satu keunggulan dari LEMP. Selain itu LEMP juga memiliki keunggulan lainnya seperti bisa di gunakan sebagai Reverse Proxy/Load Balancing, Scalable, kemudahan dalam konfigurasi, dan lainnya.

Cara Install LEMP

Bagaimana cara install LEMP? karena LEMP terdiri dari Linux, NGINX, MySQL/MariaDB dan PHP maka pertama pastikan dahulu anda menggunakan server dengan Operating System Linux untuk Distronya bisa menggunakan Ubuntu ataupun CentOS. Selanjutnya untuk proses installasi bisa di mulai dari NGINX, MySQL atau MariaDB, dan yang terakhir PHP.

Install NGINX

Pada LEMP Stack untuk proses installasi pertama adalah NGINX (Engine-X) yang mana NGINX sebagai web server servicenya, untuk proses installasinya sebagai berikut ini :

  • CentOS
yum install -y epel-release nginx
systemctl enable nginx
systemctl start nginx
  • Ubuntu
sudo apt install -y nginx
sudo ufw allow 'Nginx HTTP'

Install MySQL

Setelah melakukan install NGINX selanjutnya ke proses installasi MySQL, yang mana digunakan sebagai database server servicenya. Disini kalian bisa memilih ingin menggunakan MySQL atau MariaDB, untuk proses installasinya sebagai berikut ini :

  • CentOS
yum install -y wget
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
yum update
yum install -y mysql-server
systemctl enable mysql
systemctl start mysql
  • Ubuntu
sudo apt update
sudo apt install mysql-server
sudo ufw allow mysql

Install PHP

Dan tahap proses installasi terakhir yaitu installasi PHP yang mana PHP ini digunakan untuk programming language dan agar web service bisa membaca script/code seperti PHP perlu di install dahulu packagenya, untuk proses installasinya sebagai berikut ini :

  • CentOS
yum install -y php php-mysql php-fpm
systemctl enable php-fpm
systemctl start php-fpm
  • Ubuntu
sudo apt install php-fpm php-mysql

Konfigurasi LEMP

Selanjutnya agar LEMP dapat bekerja lebih optimal dan dapat menjalankan script website anda nantinya perlu dilakukan konfigurasi basic terlebih dahulu seperti konfigurasi pada nginx.conf dan konfigurasi php-fpm pada www.confselain itu perlu juga melakukan hardening basic pada mysqlnya, untuk langkah-langkah konfigurasinya sebagai berikut ini :

  • Hardening MySQL

Untuk hardening MySQL kalian cukup jalankan command :

mysql_secure_installation

Dan output pada command tersebut kurang lebih seperti berikut ini :

[root@igneel ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

....
Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] n
... skipping.

....
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] n
... skipping.

....
Remove test database and access to it? [Y/n] Y
- Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
... Failed! Not critical, keep moving...
- 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!

All done! If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Cleaning up...
  • Konfigurasi nginx.conf

Untuk konfigurasi NGINX, kalian bisa edit file nginx.conf yang ada di folder /etc/nginx dengan command

vim /etc/nginx/nginx.conf

Kemudian pada baris server { .... } silakan kalian edit menjadi seperti ini :

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    root /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

}
  • Konfigurasi www.conf

Konfigurasi terakhir yaitu konfigurasi pada php-fpm pada file www.conf. PHP-FPM ini digunakan untuk daemon PHP yang mana untuk handle high load pada website ketika di akses. Untuk konfigurasi php-fpm pertama jalankan command

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

Setelah itu cari baris listen = 127.0.0.1:9000 dan hapus tanda ; untuk uncomment.

Jika sudah cari baris listen.owner =  nobody dan listen.group = nobody dan hapus tanda ; untuk uncomment lagi.

Kemudian yang terakhir cari baris user = apache dan group = apache ubah menjadi user = nginx dan group = nginx

Selanjutnya agar konfigurasi tersebut dapat terimplementasi ke NGINX dan PHP-FPM perlu dilakukan restart service terlebih dahulu dengan command

systemctl restart nginx
systemctl restart php-fpm

Pengujian LEMP

Untuk pengujian LEMP yang sudah kalian install pertama silakan coba akses http://ip_address_server jika tampilannya seperti berikut ini :

NGINX Homepage - NimeTech.com
NGINX Homepage – NimeTech.com

Artinya NGINX yang kalian install telah sukses terinstall dan kalian, selanjutnya pengujian untuk script phpnya cukup buat file info.phppada folder /usr/share/nginx/htmldan silakan isikan script code berikut ini :

<?php
phpinfo();
?>

Dan kemudian akses dengan url http://ip_address_server/info.php dan jika hasilnya menampilkan informasi dari PHPnya maka kalian telah berhasil menginstall dan menjalankan LEMP Stack

phpinfo - NimeTech.com
phpinfo – NimeTech.com

Kesimpulan

LEMP Stack merupakan sebuah model stack web server yang ringan dimana LEMP Stack ini mampu menghandle high traffic, mampu menjadi load balancer ataupun reverse proxy. Karena ketangguhannya inilah LEMP sering menjadi pilihan SysAdmin atau DevOps untuk sebuah production web server.

Kami NimeTech menggunakan LEMP Stack ini sebagai bentuk web server yang digunakan dalam pelayanan Jasa Manage Server