Cara Instal LEMP Stack (Nginx, MySQL, PHP) di Ubuntu - Kang Sunu
News Update
Loading...

Tuesday, February 4, 2020

Cara Instal LEMP Stack (Nginx, MySQL, PHP) di Ubuntu

Bagi teman-teman yang merupakan web developer, pasti sudah tidak asing dengan istilah LEMP. LEMP adalah singkatan dari Linux, NGINX, MySQL dan PHP. Jadi LEMP stack adalah seperangkat aplikasi yang digunakan secara bersamaan untuk menjalankan web server pada sistem operasi Linux. LEMP sendiri bagi saya sangat bermanfaat dalam development aplikasi PHP. Pada operasi sistem Windows, biasa kita kenal pada aplikasi yang bernama XAMPP yang mana pada aplikasi tersebut sudah mencantumkan Apache sebagai web server, MariaDB / MySQL sebagai database, dan PHP sebagai bahasa pemrograman.
Pada tutorial kali ini saya berbagi tutorial tentang cara instal LEMP Stack di Linux yang mana saya menggunakan Ubuntu 18.04 dan PHP 7.3, sedangkan untuk versi lain bisa menyesuaikan.
Langkah-langkah yang akan kita lakukan dalam instalasi LEMP (Nginx, MySQL, PHP) di Ubuntu yaitu:
  1. Instal Nginx
  2. Instal PHP 7.3
  3. Instal MySQL
  4. Instal phpMyAdmin
  5. Konfigurasi Nginx
  6. Konfigurasi MySQL
Langsung saja kita lakukan cara instalasi LEMP di Ubuntu 18.04 dengan PHP versi 7.3.
Instalasi Nginx
sudo apt install nginx

Instalasi PHP 7.3
sudo add-apt-repository ppa:ondrej/php
Install beberapa php-extension dengan command berikut:
sudo apt install php7.3-fpm php7.3-cli php7.3-mysql php7.3-gd php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc

Instalasi MySQL
sudo apt install mysql-server mysql-client

Instalasi phpMyAdmin
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip
unzip phpmyadmin.zip
sudo mv phpMyAdmin-*-all-languages /usr/share/phpmyadmin
sudo chmod -R 0755 /usr/share/phpmyadmin
sudo mkdir /usr/share/phpmyadmin/tmp/
sudo chown -R www-data:www-data /usr/share/phpmyadmin/tmp/
sudo ln -s /usr/share/phpmyadmin /var/www/html

Konfigurasi Nginx
Backup terlebih dahulu konfigurasi bawaan Nginx kita dengan cara berikut:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
Kemudian kita buka file konfigurasi dari Nginx kita:
sudo nano /etc/nginx/sites-available/default
Tambahkan index.php pada baris berikut:
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
Sehingga menjadi:
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;

Kemudian, uncomment konfigurasi PHP-nya sehingga menjadi seperti ini:
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php-fpm (or other unix sockets):
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
#       # With php-cgi (or other tcp sockets):
#       fastcgi_pass 127.0.0.1:9000;
}
Karena pada tulisan ini kita menggunakan PHP 7.3, maka ganti
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
menjadi
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;

Kemudian tambahkan kode konfigurasi berikut:
location /phpmyadmin {
     index index.php index.html index.htm;
     root /usr/share;
}

Sehingga konfigurasi akhirnya akan seperti ini:
server {
 listen 80 default_server;
 listen [::]:80 default_server;

 # include snippets/snakeoil.conf;

 root /var/www/html;

 # Add index.php to the list if you are using PHP
 index index.html index.htm index.nginx-debian.html index.php;

 server_name _;

 location / {
  # First attempt to serve request as file, then
  # as directory, then fall back to displaying a 404.
  try_files $uri $uri/ =404;
 }

 location /phpmyadmin {
  index index.php index.html index.htm;
  root /usr/share;
 }

 # pass PHP scripts to FastCGI server
 #
 location ~ \.php$ {
  include snippets/fastcgi-php.conf;
 
  # With php-fpm (or other unix sockets):
  fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
  # With php-cgi (or other tcp sockets):
  ##fastcgi_pass 127.0.0.1:9000;
 }
}

Konfigurasi MySQL
Konfigurasi MySQL ini akan kita gunakan untuk mengakses phpMyAdmin yang telah kita instal tadi.
sudo mysql
CREATE USER 'usernamekamu'@'localhost' IDENTIFIED BY 'passwordkamu';
GRANT ALL PRIVILEGES ON * . * TO 'usernamekamu'@'localhost';
FLUSH PRIVILEGES;

Baik, setelah semua telah terkonfigurasi, masukkan perintah berikut:
sudo service nginx restart; sudo service php7.3-fpm start; sudo service mysql start;

Demikian adalah cara instal LEMP Stack di Ubuntu. Semoga tulisan ini bermanfaat bagi teman-teman developer yang sedang mencari artikel untuk menginstal LEMP.

*Diperbaharui pada 13 Maret 2020

Share with your friends

Give us your opinion

Notification
This is just an example, you can fill it later with your own note.
Done