Cara Install Server LAMP Stack di Debian 9 ‘Stretch’

Tulisan ini juga tersedia dalam Bahasa Inggris

Internet merupakan gabungan dari jaringan-jaringan yang saling terhubung satu sama lain. Dalam internet ada istilah server dan hostServer bertugas melayani segala macam permintaan yang diminta oleh host, secara lebih ringkas, ada server yang melayani bagian surat menyurat, ada yang tugasnya melayani basisdata, ada pula yang melayani urusan web, LAMP salah satunya.

LAMP merupakan kumpulan dari masing-masing tugas yang dimiliki oleh sebuah server untuk melayani perusahaan web hosting, para pengembang web dan lain-lain. LAMP sendiri merupakan kepanjangan dari Linux, Apache, MySQL(MariaDB), dan PHP.

  1. Linux (Kita akan menggunakan Debian 9 Stretch).
  2. Apache sebagai Web Server.
  3. MySQL/MariaDB. (Debian 9 menjadikan MariaDB sebagai basisdata default)
  4. PHP. (Beberapa orang lebih memilih Python atau Perl)

1. Linux

Linux yang akan digunakan pada percobaan kali ini adalah Distro Linux Debian sebagai server. Debian dikenal dengan Distro Linux yang rock-solid. Debian tidak mengikuti siklus rilis enam bulan sekali seperti kebanyakan distro-distro Linux lainnya, Debian hanya akan rilis apabila kumpulan aplikasi yang berada di dalam repo sudah benar-benar dalam status stabil.

Silahkan baca postingan @jekisatria tentang How to Install Linux Debian 9 Stretch Gnome. Apabila proses pemasangan telah berhasil, jangan lupa untuk melakukan update dan upgrade patches jika ada dengan menjalankan perintah;

$ sudo apt update && sudo apt upgrade

asciicast


2. Apache Sebagai Web Server

Langkah kedua adalah melakukan pemasangan Apache web server. Ini dapat dilakukan dengan perintah;

$ sudo apt -y install apache2

asciicast

Untuk memulai server Apache, jalankan perintah;

$ systemctl start apache2.service

untuk menghetikan server Apache, jalankan perintah;

$ systemctl stop apache2.service

untuk memulai kembali, jalankan perintah;

$ systemctl restart apache2.service

jika ingin memeriksa apakah servis apache2 sudah berjalan atau tidak, dapat dilakukan dengan perintah;

$ systemctl status apache2.service

status.apache_001.png

kadang dalam sebuah jaringan terdapat firewall, nah untuk mengizin HTTP Apache server untuk dapat diakses melalui firewall, maka jalankan perintah berikut ini;

ufw status
ufw allow 80/tcp
ufw allow 443/tcp
ufw reload
ufw enable

Jika semua proses pemasangan berhasil dan berjalan lancar, langkah berikutnya adalah mencoba Apache web server. Buka peramban web apa saja yang jadi favorit Anda, lalu di URL tuliskan;

http://localhost/

Apache2 Debian Default Page: It works - Mozilla Firefox_002.png

atau

http://ip-addres-milikanda/

Anda akan diarahkan ke halaman default “Apache2 Debian”, ini menandakan kalau web server yang kita buat sudah berjalan.

Anda dapat mengubah halaman default tersebut dengan mengedit berkas index.html yang terletak di direktory /var/www/html, misalkan;

$ sudo nano /var/www/html/index.html.

Untuk berkas konfigurasi utamanya terdapat di /etc/apache2/apache2.conf.


3. MariaDB

Sejak Debian 9 dirilis, para pengembang Debian menggunakan MariaDB sebagai ganti dari MySQL server yang telah diakuisisi oleh Oracle. MariaDB merupakan salah satu server basisdata yang sangat populer. Dibuat oleh para pembuat MySQL dengan jaminan akan selalu menjadi Open Source. Untuk memasang server MariaDB, jalankan perintah berikut ini;

$ sudo apt -y install default-mysql-server

atau

$ sudo apt -y install mariadb-server

asciicast

Biasanya, pada tahap pemasangan ini, akan muncul informasi berkas apa saja yang akan dipasang beserta ukuran berkasnya, lalu tekan tombol yatau yes untuk melanjutkan. Nah, parameter -y di atas bertujuan agar aplikasi yang ingin dipasang langsung diunduh dan dipasang tanpa harus menunggu masukan y atau yes dari si pengguna.

Langkah berikutnya adalah menjadikan MariaDB menjadi lebih aman dengan menjalankan perintah mysql_secure_installation. Ini bertujuan untuk memperbaiki keamanan basisdata MariaDB yang secara bawaan masih kurang maksimal, diantaranya adalah;

  • Mengatur kata sandi root untuk basis data.
  • Membatasi akun root hanya pada localhost saja.
  • Menghapus anonymous user.
  • Tidak membolehkan akun root untuk mempunyai akses secara remote.
  • Menghapus basisdata test dan segala izin yang berkaitan dengan test_.

sebelum melanjutkan, pastikan servis MySQL sudah berjalan dengan menjalankan perintah;

$ /etc/init.d/mysql start

[ ok ] Starting mysql (via systemctl): mysql.service.

$ sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
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!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
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!

Sekarang kita coba lihat hasilnya, jalankan perintah;

$ sudo mysql -u root -p

user@debian: ~_003.png


4. PHP Versi 7

Sekarang kita akan pasang PHP versi 7 bersamaan dengan beberapa modul PHP pada server Debian kita.

$ sudo apt install php7.0 libapache2-mod-php7.0 php7.0-mysql php7.0-gd php7.0-opcache

asciicast

Jika proses pemasangan berhasil, kita perlu melakukan restart Apache server kita dengan menjalankan perintah;

$ systemctl restart apache2.service.

untuk mencoba pemasangan PHP, buat sebuah berkas skrip dengan nama coba.php di dalam /var/www/html/coba.php, lalu sisipkan baris code baris kode berikut;

<?php
phpinfo();
?>

asciicast

jangan lupa untuk memulai kembali Apache server.

phpinfo.png

Sekarang Anda telah berhasil melakukan pemasangan LAMP Stack Server pada Debian 9 Stretch. Semoga tulisan ini dapat membantu, jika ada saran, silahkan tinggalkan komentar.