“LAMP” stack adalah sekelompok perangkat lunak open-source yang biasanya dipasang bersama untuk memungkinkan server meng-host situs web dan aplikasi web yang dinamis.
Istilah ini sebenarnya adalah akronim yang mewakili sistem operasi Linux, dengan server web Apache. Data situs disimpan dalam database MySQL, dan konten dinamis diproses oleh PHP. Singkatnya LAMP merupakan gabungan antara Linux, Apache, MySQL, PHP
Dalam panduan ini, kami akan menginstal LAMP stack pada server Ubuntu 18.04.
Sebelum Memulai
Untuk menyelesaikan tutorial ini, Anda harus memiliki server Ubuntu 18.04 dengan akun pengguna yang memiliki wewenang sudo non-root dan firewall dasar. Ini dapat dikonfigurasi menggunakan panduan pengaturan server awal untuk Ubuntu 18.04.
Langkah 1 — Install Apache dan Update Firewall
Server web Apache adalah salah satu server web paling populer di dunia. Apache didokumentasikan dengan sangat baik dan telah digunakan secara luas untuk sebagian besar situs web, yang menjadikannya pilihan default yang bagus untuk hosting situs web. Instal Apache menggunakan Ubuntu package manager, apt:
sudo apt update sudo apt install apache2
Sesuaikan Firewall untuk Mengizinkan Web Traffic
Selanjutnya, dengan asumsi bahwa Anda telah mengikuti instruksi pengaturan server awal dan mengaktifkan firewall UFW, pastikan bahwa firewall Anda memungkinkan lalu lintas HTTP dan HTTPS. Anda dapat memeriksa bahwa UFW memiliki profil aplikasi untuk Apache seperti:
sudo ufw app list
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Jika Anda melihat Apache Full
, berarti menunjukkan bahwa UFW memungkinkan lalu lintas ke port 80
dan 443
:
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
Izinkan lalu lintas HTTP dan HTTPS yang masuk untuk profil ini:
sudo ufw allow in "Apache Full"
Anda dapat melakukan pemeriksaan langsung untuk memverifikasi bahwa semuanya berjalan sesuai rencana dengan mengunjungi alamat IP publik server Anda di browser web Anda.
http://server_ip_atau_domain
Anda akan melihat halaman web default Ubuntu 18.04 Apache, yang ada untuk tujuan informasi dan pengujian. Seharusnya terlihat seperti ini:
Jika Anda melihat halaman ini, maka server web Anda sekarang terpasang dengan benar dan dapat diakses melalui firewall Anda.
Cara Menemukan Alamat IP Publik Server Anda
Jika Anda tidak tahu apa alamat IP publik server Anda, ada sejumlah cara untuk menemukannya. Gunakan perintah berikut ini untuk menampilkan Alamat IP publik di Server Anda
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Perintah di atas akan memberi Anda dua atau tiga baris output. Semua itu adalah alamat yang benar, tetapi komputer Anda mungkin hanya dapat menggunakan salah satunya, jadi silakan mencoba masing-masing.
Metode alternatif adalah dengan menggunakan utilitas curl
untuk menghubungi pihak luar untuk memberi tahu Anda bagaimana ia “melihat” server Anda. Singkatnya cara ini Anda bertanya pada server tertentu dan menanyakan apa alamat IP Anda:
sudo apt install curl
curl http://icanhazip.com
Apa pun metode yang Anda gunakan untuk mendapatkan alamat IP, ketikkan di bilah alamat browser web Anda untuk melihat halaman Apache default.
Langkah 2 — Install MySQL
Sekarang server web Anda sudah aktif dan berjalan, sekarang saatnya untuk menginstal MySQL. MySQL adalah sistem manajemen basis data. Pada dasarnya, MySQL akan mengatur dan menyediakan akses ke database tempat situs Anda dapat menyimpan informasi.
Sekali lagi, gunakan apt untuk download dan menginstal perangkat lunak ini:
sudo apt install mysql-server
Pada titik ini, sistem basis data Anda sekarang telah diatur dan Anda dapat melanjutkan untuk menginstal PHP, komponen terakhir dari LAMP stack.
Langkah 3 — Instal PHP
PHP adalah komponen yang akan memproses kode untuk menampilkan konten dinamis. PHP dapat menjalankan skrip dan terhubung ke database MySQL Anda untuk mendapatkan informasi, dan menyerahkan konten yang diproses ke server web Anda untuk ditampilkan.
Sekali lagi, manfaatkan sistem apt
untuk menginstal PHP. Selain itu, sertakan beberapa paket pembantu kali ini sehingga kode PHP dapat berjalan di bawah server Apache dan berkomunikasi dengan database MySQL :
sudo apt install php libapache2-mod-php php-mysql
Dalam kebanyakan kasus, Anda akan ingin memodifikasi cara Apache melayani file ketika direktori diminta. Saat ini, jika pengguna meminta direktori dari server, Apache akan mencari file bernama index.html terlebih dahulu. Kami ingin memberi tahu server web untuk lebih memilih file PHP daripada yang lain, jadi buat Apache mencari file index.php terlebih dahulu.
Untuk melakukan ini, ketik perintah ini untuk membuka file dir.conf
dalam editor teks dengan hak akses root:
sudo nano /etc/apache2/mods-enabled/dir.conf
output dari perintah diatas adalah :
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm </IfModule>
pindahkah index.php ke posisi pertama setelah DirectoryIndex
, contohnya seperti berikut :
<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 Y dan kemudian tekan ENTER untuk memverifikasi lokasi penyimpanan file.
Setelah ini, mulai ulang server web Apache agar perubahan Anda dikenali. Lakukan ini dengan mengetik ini:
sudo systemctl restart apache2
Anda juga dapat memeriksa status apache2
dengan menggunakan perintah systemctl
:
sudo systemctl status apache2
Sample Output
● apache2.service - LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Tue 2018-04-23 14:28:43 EDT; 45s ago Docs: man:systemd-sysv-generator(8) Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS) Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS) Tasks: 6 (limit: 512) CGroup: /system.slice/apache2.service ├─13623 /usr/sbin/apache2 -k start ├─13626 /usr/sbin/apache2 -k start ├─13627 /usr/sbin/apache2 -k start ├─13628 /usr/sbin/apache2 -k start ├─13629 /usr/sbin/apache2 -k start └─13630 /usr/sbin/apache2 -k start
Tekan Q
untuk keluar dari output status ini.
Install PHP Modul
Untuk meningkatkan fungsionalitas PHP, Anda memiliki opsi untuk menginstal beberapa modul tambahan. Untuk melihat opsi yang tersedia untuk modul dan libraries PHP :
apt search php- | less
Gunakan tombol panah untuk menggulir ke atas dan ke bawah, dan tekan Q untuk berhenti.
Hasilnya adalah semua komponen opsional yang dapat Anda instal. Ini akan memberi Anda deskripsi singkat untuk masing-masing:
bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64 Tracks usage of TCP/IP and builds html files with graphs bluefish/bionic 2.2.10-1 amd64 advanced Gtk+ text editor for web and software development cacti/bionic 1.1.38+ds1-1 all web interface for graphing of monitoring systems ganglia-webfrontend/bionic 3.6.1-3 all cluster monitoring toolkit - web front-end golang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all PHP-like Compression and Archive Extensions in Go haserl/bionic 0.9.35-2 amd64 CGI scripting program for embedded environments kdevelop-php-docs/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php kdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php-l10n … :
Untuk mempelajari lebih lanjut tentang apa yang dilakukan setiap modul, Anda dapat mencari di internet untuk informasi lebih lanjut tentang mereka. Atau, lihat deskripsi panjang paket dengan mengetik:
apt show <nama_package>
Akan ada banyak output, dengan satu bidang yang disebut Description
yang akan memiliki penjelasan yang panjang tentang fungsi yang disediakan modul.
Misalnya, untuk mengetahui apa yang dilakukan modul php-cli, Anda bisa mengetik ini:
apt show php-cli
Seiring dengan sejumlah besar informasi lain, Anda akan menemukan sesuatu yang terlihat seperti ini:
… Description: command-line interpreter for the PHP scripting language (default) This package provides the /usr/bin/php command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . This package is a dependency package, which depends on Ubuntu's default PHP version (currently 7.2). …
Jika, setelah meneliti, Anda memutuskan untuk menginstal paket, Anda dapat melakukannya dengan menggunakan perintah apt install seperti yang telah Anda lakukan untuk perangkat lunak lain.
Jika Anda memutuskan bahwa php-cli adalah sesuatu yang Anda butuhkan, Anda dapat mengetik:
sudo apt install php-cli
Jika Anda ingin menginstal lebih dari satu modul, Anda dapat melakukannya dengan me-listing masing-masing, dipisahkan oleh spasi, mengikuti perintah apt install, seperti ini:
sudo apt install package1 package2
Pada titik ini, LAMP Stack telah diinstal dan dikonfigurasi. Namun, sebelum melakukan perubahan atau menggunakan aplikasi, akan sangat membantu untuk menguji secara proaktif konfigurasi PHP Anda jika ada masalah yang harus diatasi.
Langkah 4 — Testing PHP di Web Server
Untuk menguji apakah sistem Anda dikonfigurasi dengan benar untuk PHP, buat skrip PHP yang sangat mendasar yang disebut info.php. Agar Apache 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
Perintah diatas akan membuka file kosong. Tambahkan teks berikut, yang merupakan kode PHP yang valid, di dalam file:
info.php
<?php phpinfo(); ?>
Setelah selesai, simpan dan tutup file.
Sekarang Anda dapat menguji apakah server web Anda dapat menampilkan konten yang dihasilkan oleh skrip PHP ini dengan benar. Untuk mencoba ini, kunjungi halaman ini di browser web Anda. Anda akan memerlukan alamat IP publik server Anda lagi.
Alamat yang ingin Anda kunjungi adalah:
http://your_server_ip/info.php
Halaman yang Anda datangi akan terlihat seperti ini:
Halaman ini menyediakan beberapa informasi dasar tentang server Anda dari perspektif PHP. Ini berguna untuk debugging dan untuk memastikan bahwa pengaturan Anda diterapkan dengan benar.
Demi keamanan, Anda mungkin ingin menghapus file ini setelah tes ini karena sebenarnya bisa memberikan informasi tentang server Anda kepada pengguna yang tidak sah. Untuk melakukan ini, jalankan perintah berikut:
sudo rm /var/www/html/info.php
Anda selalu dapat membuat kembali halaman info.php ini jika Anda perlu mengakses informasinya lagi nanti.
Kesimpulan
Sekarang Anda memiliki LAMP stack yang diinstal, Anda memiliki banyak pilihan untuk apa yang harus dilakukan selanjutnya. Pada dasarnya, Anda telah menginstal platform yang memungkinkan Anda menginstal sebagian besar situs web dan perangkat lunak web di server Anda.
Sebagai langkah selanjutnya, Anda harus memastikan bahwa koneksi ke web server Anda diamankan, dengan melayani mereka melalui HTTPS. Opsi termudah di sini adalah menggunakan Let’s Encrypt untuk mengamankan situs Anda dengan sertifikat TLS / SSL gratis.