LEMP Stack
LEMP Stack (Linux, Nginx, MariaDB, PHP) adalah sebuah stack yang dirancang untuk memenuhi kebutuhan dalam menyebarkan website ke server tanpa harus mengandalkan panel kontrol. Ini berarti tidak ada Graphic User Interfac (GUI) yang dapat digunakan untuk mengelola website, melainkan hanya memanfaatkan perintah dalam LEMP Stack.
Cara Install LEMP Stack di Ubuntu 18.04
Sebelum memulai proses instalasi LEMP Stack di Ubuntu 18.04, ada beberapa hal yang harus disiapkan oleh Anda sebagai berikut:
- VPS yang menjalankan OS Ubuntu 18.04.
- Domain yang sudah terhubung ke IP VPS.
- Akses ke root sebagai Administrator.
Berikut ini 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, perhatikan penjelasan untuk setiap langkah yang akan diuraikan berikut ini:
1. 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
2. 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
3. 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
4. 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
5. 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
6. 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.
7. 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.hostekoweb.net.
$ nano /etc/nginx/sites-available/lempubuntu.hostekoweb.net
server { listen 80; listen [::]:80; server_name lempubuntu.hostekoweb.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 domain Anda.
$ ln -s /etc/nginx/sites-available/lempubuntu.hostekoweb.net /etc/nginx/sites-enabled/lempubuntu.hostekoweb.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
8. 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.
Kesimpulan
Setelah menyelesaikan pemasangan LEMP Stack, kamu dapat melanjutkan dengan instalasi aplikasi website lain, seperti WordPress, Joomla, Drupal, atau CMS yang kamu pilih. Jangan khawatir, proses instalasi aplikasi website berikutnya dapat dilakukan langsung melalui LEMP Stack, silakan lihat panduan dari artikel “Panduan Install WordPress dengan LEMP Stack”.
Inilah artikel mengenai metode instalasi LAMP Stack di Ubuntu 18.04, semoga dapat membantu Anda dalam menambah pengetahuan :). Untuk artikel lain Anda bisa menunjungi blog Hosteko.com