Didalam dunia web kita sering mendengar istilah “LAMP Stack” adalah grup perangkat lunak open source yang umumnya dipasang untuk membangun dan menangani aplikasi berbasis web. Istilah ini sesungguhnya merupakan akronim yang mewakili sistem operasi L inux, dengan web server A pache. Data web site disimpan dalam database M ySQL, dan konten dinamis diproses oleh P HP.

Untuk memasang kumpulan aplikasi ini dapat dilakukan bersama dengan mendownload xampp atau lamp stack lainnya seperti wamp dan mamp, akan tetapi di artikel ini kita bakal jalankan pemasangan dari masing-masing aplikasi.
Dalam panduan ini, kita bakal memasang LAMP di Ubuntu 18.04.

Langkah 1 – Menginstal Apache dan Memperbarui Firewall

Web Server Apache adalah salah satu web server paling populer di dunia. Ini terdokumentasi dengan baik dan telah digunakan secara luas untuk beberapa web besar, yang menjadikannya pilihan default yang bagus untuk hosting web site web.

Install Apache pakai manajer paket Ubuntu, apt:

$ sudo apt update
$ sudo apt install apache2

Karena ini adalah perintahsudo, operasi ini dilakukan bersama dengan hak akses root. Sehingga akan dimintakan password kala menjalankannya.

Setelah Anda memasukkan kata sandi, aptakan berikan penjelasan paket apa yang akan dipasang dan berapa banyak ruang disk yang akan mereka gunakan. Tekan Y dan tekan ENTER untuk melanjutkan, dan instalasi akan dilanjutkan.

Jika telah selesai kita bisa cek apakah konfigurasi Apache berjalan sengan baik apa tidak. Bisa dicek dengan syntax berikut.

$ sudo apache2ctl configtest

Pada output yang dihasilkan terkandung pesan warning bahwa kita tidak pilih ‘ServerName’ yang kita gunakan. Untuk mengatasinya kita dapat beri tambahan konfigurasi pada apache2.

$ sudo nano /etc/apache2/apache2.conf
Tambahkan perintah ini pada akhir baris, ip address bisa diisi dengan 127.0.0.1 atau ip statis server.
ServerName server_domain_or_IP

Kemudian kembali jalankan perintah configtest dan restart apache.

$ sudo apache2ctl configtest
output
Syntax OK
$ sudo systemctl restart apache2

Sesuaikan Firewall untuk Izinkan Lalu Lintas Web


Selanjutnya, sekarang kita akan melakukan konfigurasi pengaturan server awal dan mengaktifkan firewall UFW, pastikan bahwa firewall kita megizinkan akses HTTP dan HTTPS. 

$ sudo ufw app list
Output:
Available applications:
  Apache
  Apache Full
  Apache Secure
  CUPS

Dari output diatas keluar apache punyai 3 daftar yaitu Apache (untuk mengaktifkan http saja), Apache Full (untuk mengaktifkan https dan http), Apache Secure (untuk mengaktifkan https). 

$ sudo ufw app info "Apache Full"
Output
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
  80,443/tcp

Karena kita akan mengaktifkan HTTP dan HTTPS maka kita akan mengizinkan fasilitas Apache Full pada UFW Firewall.

$ sudo ufw allow in "Apache Full"

Kita dapat melakukan pemeriksaan langsung untuk memverifikasi bahwa semuanya berjalan sesuai rencana dengan mengunjungi alamat IP publik server kita di browser kita.

http://your_server_ip
contoh : http://localhost
Apache Ubuntu

Langkah 2 – Memasang MySQL

Sekarang setelah server web Anda aktif dan berjalan, saat ini saatnya untuk menginstal MySQL. MySQL adalah proses manajemen basis data. Pada dasarnya, ini dapat sesuaikan dan sediakan akses ke database di mana web kita dapat menaruh informasi.

$ sudo apt install mysql-server

Selama proses instalasi anda akan diminta untuk mengisi password pada root user, pastikan password yang anda masukkan itu unik, merupakan kombinasi dan angka sehingga tidak mudah untuk ditebak. Root user disini berbeda dengan root user pada proses linux.

Ketika sudah selesai anda dapat melakukan konfigurasi untuk mengamankan MySQL secara default dengan menggerakkan perintah ini.

$ sudo mysql_secure_installation

Ini akan menanyakan apakah Anda ingin mengonfigurasi VALIDATE PASSWORD PLUGIN.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

Jika Anda menjawab “ya”, Anda akan diminta untuk pilih tingkat validasi kata sandi. Perlu diingat bahwa kalau Anda masuk 2ke level terkuat, Anda akan menerima kekeliruan selagi mencoba mengatur kata sandi apa pun yang tidak memiliki kandungan angka, huruf besar dan kecil, dan ciri-ciri khusus, atau yang didasarkan pada kalimat kamus password.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Jika kamu mengaktifkan password validation, maka kamu bakal diminta ulang untuk mengganti password root user yang telah dimasukkan. Tekan ’n’ jika tidak ingin melakukannya.

Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

Untuk sisa pertanyaan yang ada, pastika anda menekan ‘Y’ dan ‘Enter’. Hal ini dapat menghapus anonymous user dan test database, menonaktifkan remote root login, dan melaksanakan konfigurasi ulang terhadap MySQL.

Jika udah selesai, anda bisa masuk ke MySQL bersama dengan meggunakan perintah.

$ mysql -u root -p

Selanjutnya, periksa metode otentikasi mana yang digunakan akun pengguna MySQL Anda dengan perintah berikut:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Output:
+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *C5A31B4B200B514F1893847662DBF12AC1073E58 | mysql_native_password | localhost |
| phpmyadmin       | *BAC8EE076AD2BFF084A5D638E5A48542B5C83B70 | mysql_native_password | localhost |
| afif             | *608A1849D7D164AA7ACF61197CF5900BE01E5807 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
6 rows in set (0.03 sec)

Anda dapat melihat dalam contoh ini, output yang digunakan pengguna MySQL root mengotentikasi menggunakan kata sandi. Setelah Anda mengkonfirmasi ini di server Anda sendiri, Anda dapat keluar dari shell MySQL:

mysql> exit

Langkah 3 – Memasang PHP

PHP adalah komponen dari pengaturan Anda yang akan memproses kode untuk menampilkan konten dinamis. Ini dapat menjalankan skrip, terhubung ke database MySQL menjadikan bahasa pemrograman ini menjadi pilihan bagi banyak orang untuk memulai terjun di dunia pengembangan web.

Sekali lagi, manfaatkan aptsistem untuk menginstal PHP. Selain itu, sertakan beberapa paket helper kali ini agar kode PHP dapat dengan mudah di integrasikan dengan Apache dan MySQL:

$ sudo apt install php libapache2-mod-php php-mysql

Pada kebanyakan kita bakal melakukan konfigurasi pada apache supaya pada sementara seseorang melakukan request ke situs server yang pertama kali dipanggil adalah file index.php.

Untuk melakukan ini, ketik perintah ini untuk membuka dir.conffile dalam editor teks dengan hak akses root:

$ sudo nano /etc/apache2/mods-enabled/dir.conf

Sebelum diubah:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Setelah diubah:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Setelah selesai, simpan dan tutup file dengan menekan CTRL+X. Konfirmasikan penyimpanan dengan mengetik Ydan kemudian tekan ENTERuntuk memverifikasi lokasi penyimpanan file.

Setelah ini, restart server web Apache agar perubahan Anda disimpan. Lakukan ini dengan mengetik ini:

$ sudo systemctl restart apache2

Anda juga dapat memeriksa status apache2layanan menggunakan systemctl:

$ sudo systemctl status apache2

Langkah 4 – Menguji Pengolahan PHP di Web Server

Untuk menguji apakah sistem Anda dikonfigurasi dengan benar untuk PHP, buat skrip PHP yang sangat dasar yang disebut info.php. Agar Apache dapat menemukan file ini dan menyajikannya dengan benar, itu harus disimpan ke direktori yang sangat spesifik, yang disebut “root web”.

Di Ubuntu 18.04, direktori ini terletak di /var/www/html/. Buat file di lokasi itu dengan menjalankan:

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

Ini akan membuka file kosong. Tambahkan teks berikut, yang merupakan kode PHP yang valid, di dalam file:

<?php
phpinfo();
?>

Setelah selesai, simpan dan tutup file.

Sekarang kita akan menguji apakah web server dan PHP yang kita konfigurasi telah benar dengan mengakses ke URL alamat berikut.

http://your_server_ip/info.php
atau 
http://localhost/info.php
PhpInfo

Jika Anda dapat melihat halaman ini di browser Anda, maka PHP Anda berfungsi seperti yang diharapkan.

Anda mungkin ingin menghapus file ini setelah tes ini karena benar-benar dapat memberikan informasi tentang server Anda kepada pengguna yang tidak sah. Untuk melakukan ini, jalankan perintah berikut:

$ sudo rm /var/www/html/info.php

Anda dapat membuat ulang halaman ini jika Anda perlu mengakses informasi itu lagi nanti.

Kesimpulan

Dalam posting ini kami belajar cara memasang LAMP di Ubuntu 18.04.

Saya harap Anda menikmati posting ini dan itu membantu.

Kalau begitu silakan bagikan dan komentar di bawah.

3 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here