LEMP merupakan sekumpulan perangkat lunak open source yang paling populer untuk membangun sebuah Web Server di Linux. LEMP terdiri dari  Linux (sistem operasi server), ENginX / Nginx (aplikasi server web), MySQL (sistem manajemen basis data) dan PHP (bahasa scripting).

Sebelum anda memulai untuk menginstal LEMP, pastikan server atau VPS anda berjalan pada CentOS 7. Jika anda menggunakan paket Hostinger VPS, lakukan instal CentOS dari tab hPanel.

Berikut cara Install LEMP

Pastikan anda memiliki akses root dan menggunakan klien SSH seperti Putty (Windows) atau terminal shell (Linux, macOS) untuk terhubung ke VPS anda.

1. Install Nginx pada CentOS 7

  1. Karena Nginx tidak tersedia dalam repositori CentOS default, maka anda perlu menginstal repository EPEL dengan cara ketikkan perintah berikut:
    yum install epel-release -y
    
  1. Install Nginx
    yum install nginx -y
    
  1. Setelah anda berhasil menginstal Nginx, ketikkan baris berikut satu per satu untuk mengaktifkan Nginx:
    systemctl start nginx
    systemctl enable nginx
    
  1. Cek apakah Nginx berjalan atau tidak dengan mengunjungi alamat IP publik Server anda.
    Sehingga akan muncul halaman seperti berikut ini:

Catatan: Gunakan perintah sudo jika anda tidak memiliki akses root

 

2. Install MySQL (MariaDB)

Disini akan dijelaskan cara install MySQL menggunakan MariaDB.

  1. Karena MariaDB termasuk dalam repositori CentOS default, cukup jalankan perintah yum untuk menginstalnya.
    yum install mariadb-server mariadb -y
    
  1. Setelah proses instal selesai, aktifkan dan jalankan MariaDB dengan cara berikut
    systemctl start mariadb
    systemctl enable mariadb
    
  2. Jalankan perintah berikut, untuk mengamankan instalansi
    mysql_secure_installation
    

    Disini, MariDB akan menanyakan kata sandi root yang tidak anda miliki, karena anda baru saja menginstal MySQL. Sehingga cukup tekan ENTER saja.

  3. Selanjutnya anda akan diberi pertanyaan, apakah anda ingin mengatur kata sandi root. Silahkan masukkan Y dan ikuti perintah berikut:
    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 MariaDB
    root user without the proper authorization.
    New password:
    Re-enter new password:
    Password updated successfully!
    Reloading privilege tables..
    ... Success!
    
  1. Script akan mengembalikan beberapa pertanyaan keamanan. Kami sarankan anda menekan Y untuk keseluruhan.
    Remove anonymous users? [Y/n]
    Disallow root login remotely? [Y/n]
    Remove test database and access to it? [Y/n]
    Reload privilege tables now? [Y/n]
    

    Setelah anda menyelesaikan pengaturan, silahkan untuk lanjut ke instalansi PHP

3. Install PHP v7.3

  1. Untuk menginstal PHP v7.3, sebelumnya anda harus download dan install repositori CentOS tambahan yang berisi paket-paket yang diperlukan untuk PHP v7.3. Jalankan perintah berikut satu per satu
    wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
    rpm -Uvh remi-release-7.rpm
    
  2. Aktifkan repositori php73, yang dinonaktifkan secara default:
    yum install yum-utils -y
    yum-config-manager --enable remi-php73
    
  1. Setelah itu, instal paket PHP:
    yum --enablerepo=remi,remi-php73 install php-fpm php-common
    

    Ketika dimintai untuk melakukan izin instalasi, cukup tekan Y.

  1. Sekarang, instal modul PHP umum untuk memastikan layanan berfungsi dengan baik:
    yum --enablerepo=remi,remi-php73 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
    

 

4. Konfigurasikan Nginx agar berfungsi dengan PHP 7

  1. Buatlah file konfigurasi Nginx baru dengan menjalankan editor teks nano:
    nano /etc/nginx/conf.d/default.conf
    

    Kemudian masukkan Code berikut

    server {
        listen   80;
        server_name  your_server_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;
        }
    }
    

PENTING : Ganti your_server_ip dengan IP server anda yang sebenarnya.

  1. Simpan file dengan menekan CTRL + X (atau CMD + X untuk pengguna Mac). Selanjutnya, mulai ulang Nginx agar perubahan dapat diterapkan:
    systemctl restart nginx
    
  1. Buka konfigurasi PHP-FPM:
    nano /etc/php-fpm.d/www.conf
    

    Temukan dan ubah baris ini:

  • user = apache diubah ke user = nginx
  • group = apache diubah ke group = nginx
  • owner = nobody diubah ke listen.owner = nginx
  • group = nobody diubah ke listen.group = nginx
  1. Setelah selesai, tambahkan baris berikut di bawah ;listen = 127.0.0.1:9000
    listen = /var/run/php-fpm/php-fpm.soc
    
  2. Simpan file dengan menekan CTRL + X dan terakhir, mulai PHP-FPM dan aktifkan saat boot:
    systemctl start php-fpm.service
    systemctl enable php-fpm.service
    

 

Selamat Mencoba