Cara Install LEMP Stack di Server dengan Ubuntu 18.04

Hosting atau server adalah tempat yang digunakan untuk menyimpan data pada website. Biasanya, data ini dikelola menggunakan control panel. Namun, bagaimana jika kamu memutuskan untuk menggunakan cara yang lebih manual dengan menggunakan stacks seperti LEMP Stack? Simak artikel berikut untuk mempelajari cara install LEMP Stack di server Ubuntu 18.04.

LEMP Stack

LEMP (Linux, Nginx, MariaDB, PHP) Stack adalah salah satu stack yang diciptakan untuk memenuhi kebutuhan dalam melakukan deployment website ke server tanpa menggunakan control panel. Artinya, tidak ada Graphic User Interface (GUI) yang bisa menampilkan aplikasi untuk mengelola website, melainkan hanya menggunakan command atau perintah LEMP Stack.

Baca Juga: LAMP atau LEMP, Manakah yang Lebih Baik?

Cara Install LEMP Stack di Ubuntu 18.04

Sebelum memulai cara install LEMP Stack di Ubuntu 18.04, kamu perlu mempersiapkan beberapa hal berikut:

  • VPS dengan OS Ubuntu 18.04.
  • Domain yang sudah diarahkan ke IP VPS.
  • Akses ke root sebagai Administrator.

Berikut ini adalah beberapa langkah utama yang akan kita lakukan dalam cara install LEMP Stack di Ubuntu.

  • Update Server
  • Install Firewall
  • Install Nginx Web Server
  • Install MariaDB Database Server
  • Install PHP 7.2
  • Configure PHP.ini
  • Setting Nginx Server Block Config
  • Testing

Setelah itu, simak penjelasan langkah-langkahnya berikut ini.

Update Server

Login sebagai root ke server, kemudian perbarui server dan reboot.

$ apt-get update -y

$ reboot

 

Instal package yang dibutuhkan.

$ apt-get install perl git nano wget -y

 

Install Firewall

Firewall yang digunakan dalam instalasi ini adalah Config Security & Firewall (CSF).

$ cd /usr/src

$ wget https://download.configserver.com/csf.tgz 

$ tar -xzf csf.tgz

$ cd csf/

$ install.sh

 

Edit csf.conf lalu ubah value make TESTING menjadi 0.

$ nano /etc/csf/csf.conf

make TESTING=’0’

 

Simpan dan keluar. Setelah itu, muat ulang CSF dengan perintah di bawah ini.

$ csf -r

 

Install Nginx Web Server

Mengingat stack yang digunakan adalah LEMP Stack, maka kita menggunakan Nginx sebagai web server.

$ apt-get install nginx -y

 

Mulai dan aktifkan on-boot untuk layanan Nginx.

$ systemctl enable nginx

$ systemctl start nginx

 

Cek status Nginx, apakah sudah aktif atau belum.

$ 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: en

   Active: active (running) since Sat 2020-09-26 16:34:50 UTC; 54min ago

     Docs: man:nginx(8)

 Main PID: 2701 (nginx)

    Tasks: 2 (limit: 1152)

   CGroup: /system.slice/nginx.service

           ├─2701 nginx: master process /usr/sbin/nginx -g daemon on; master_pro

           └─2704 nginx: worker process

 

Install MariaDB Database User

Saat ini, MariaDB adalah sistem pengelola database yang paling up-to-date dan cukup kompatibel untuk kamu gunakan. Ikuti perintah berikut untuk menginstal MariaDB.

$ apt-get install mariadb-server mariadb-client -y

 

Mulai dan aktifkan on-boot untuk layanan MariaDB dan lakukan secure installation dengan cara berikut.

$ systemctl enable mariadb

$ systemctl start mariadb




$ mysql_secure_installation




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 authorisation.




Set root password? [Y/n] y

New password: 

Re-enter new password: 

Password updated successfully!

Reloading privilege tables..

 ... Success!




Remove anonymous users? [Y/n] y

 ... Success!




Disallow root login remotely? [Y/n] y

 ... Success!




Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!




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!

 

Kamu bisa langsung menekan Enter pada current password for root, kemudian pilih Y pada set root password dan terus pilih Y hingga proses pengamanan selesai. Setelah itu, cek apakah MariaDB sudah aktif atau belum.

$ systemctl status mariadb
  •  mariadb.service - MariaDB 10.1.44 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:

   Active: active (running) since Sat 2020-09-26 16:39:36 UTC; 51min ago

     Docs: man:mysqld(8)

           https://mariadb.com/kb/en/library/systemd/

 Main PID: 3929 (mysqld)

   Status: "Taking your SQL requests now..."

    Tasks: 27 (limit: 1152)

   CGroup: /system.slice/mariadb.service

           └─3929 /usr/sbin/mysqld

 

Install PHP 7.2

Kami menggunakan PHP versi 7.2 untuk cara install LEMP Stack di Ubuntu 18.04 ini. Oleh karena itu, kamu perlu menginstal PHP 7.2 serta beberapa ekstensi yang dibutuhkan dengan cara berikut.

$ apt-get install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl -y

 

Mulai dan aktifkan on-boot untuk PHP 7.2-FPM.

$ systemctl enable php7.2-fpm

$ systemctl start php7.2-fpm

 

Cek apakah status php7.2-fpm sudah aktif atau belum:

$ systemctl status php7.2-fpm
  •  php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor prese

   Active: active (running) since Sat 2020-09-26 16:58:05 UTC; 33min ago

     Docs: man:php-fpm7.2(8)

 Main PID: 14983 (php-fpm7.2)

   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se

    Tasks: 3 (limit: 1152)

   CGroup: /system.slice/php7.2-fpm.service

           ├─14983 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)

           ├─15000 php-fpm: pool www

           └─15001 php-fpm: pool www

 

Configure PHP.ini

Buka file php.ini dan php-fpm configuration. Ubah konfigurasi sesuai di bawah ini.

$ nano /etc/php/7.2/fpm/php.ini

;cgi.fix_pathinfo=1 menjadi cgi.fix_pathinfo=0




$ nano /etc/php/7.2/cli/php.ini

;cgi.fix_pathinfo=1 menjadi cgi.fix_pathinfo=0

 

Jika sudah, simpan lalu keluar.

 

Setting Nginx Server Block Config

Nginx server block sama seperti virtual host di Apache, path-nya ada pada “/etc/nginx/sites-available/”. Buat file baru dengan nama domain yang kamu gunakan, misalnya dalam artikel ini kami menggunakan lempubuntu.dewiweb.net.

$ nano /etc/nginx/sites-available/lempubuntu.dewiweb.net

 

server {

  listen 80;

  listen [::]:80;

  server_name lempubuntu.dewiweb.net;

  root /var/www/html/;

  index index.php index.html index.htm index.nginx-debian.html;




  location / {

    try_files $uri $uri/ /index.php;

  }




  location ~ \.php$ {

    fastcgi_pass unix:/run/php/php7.2-fpm.sock;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include fastcgi_params;

    include snippets/fastcgi-php.conf;

  }




 # A long browser cache lifetime can speed up repeat visits to your page

  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {

       access_log        off;

       log_not_found     off;

       expires           360d;

  }




  # disable access to hidden files

  location ~ /\.ht {

      access_log off;

      log_not_found off;

      deny all;

  }

}

 

Arahkan hasil konfigurasi tersebut ke sites-enabled dengan perintah berikut. Ingat, ubah nama domainnya sesuai dengan nama domainmu.

$ ln -s /etc/nginx/sites-available/lempubuntu.dewiweb.net /etc/nginx/sites-enabled/lempubuntu.dewiweb.net

 

Cek konfigurasi yang sudah kamu lakukan, apakah ada syntax error atau tidak:

$ nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

 

Muat ulang atau reload Nginx dengan:

$ systemctl reload nginx

 

Testing

Gunakan file info.php pada path directory yang kamu atur di Nginx server block sebelumnya.

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

 

Masukkan script di bawah ini:

<?php phpinfo(); ?>

 

Simpan dan keluar, lalu akses domainmu. Jika tampilannya sudah seperti pada gambar berikut, berarti kamu telah berhasil melakukan cara install LEMP Stack di Ubuntu 18.04.

cara install lemp stack di ubuntu 18.04 berhasil

Baca Juga: Cara Install LEMP Stack di CentOS 7

Simpulan

Usai meng-install LEMP Stack, kamu bisa menginstal aplikasi website lainnya, seperti WordPress, Joomla, Drupal, atau CMS pilihanmu. Tak perlu khawatir, instalasi aplikasi website selanjutnya bisa langsung dilakukan melalui LEMP Stack, simak caranya dari artikel “Cara Install WordPress dengan LEMP Stack“.

Demikian artikel tentang cara install LAMP Stack di Ubuntu 18.04 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya! Semoga kamu berhasil mencoba, Sahabat Dewaweb. Salam sukses online!