Web server adalah perangkat keras atau perangkat lunak yang menyimpan, mengelola, dan menyampaikan halaman web kepada pengguna melalui internet. Ini merupakan bagian integral dari infrastruktur internet yang memungkinkan kita mengakses berbagai situs web, aplikasi, dan layanan online. Ubuntu, sebagai salah satu distribusi Linux yang paling populer, seringkali menjadi pilihan utama bagi para administrator sistem dan pengembang web untuk menjalankan web server. Dalam artikel ini, kita akan membahas langkah-langkah dasar dalam membangun web server menggunakan Ubuntu.
Panduan Membangun Web Server Menggunakan Ubuntu
Dalam artikel ini, kita akan membahas langkah-langkah instalasi Ubuntu Server untuk membangun web server menggunakan Ubuntu dengan stack LEMP (Linux, Nginx, MySQL, PHP). Berikut adalah langkah – langkahnya. Pastikan anda terhubung ke internet untuk proses instalasi stack LEMP nya.
Persiapan Media Instalasi
- Unduh image ISO Ubuntu Server terbaru dari situs resmi Ubuntu (https://ubuntu.com/download/server).
- Buat media instalasi seperti USB bootable atau DVD menggunakan perangkat lunak seperti Rufus (untuk Windows) atau dd (untuk Linux). Jika anda menggunakan MacOS bisa mencoba Balena Etcher.
Instalasi Ubuntu Server
- Boot dari media instalasi yang telah dibuat.
- Pilih opsi “Install Ubuntu Server” pada layar awal.
- Ikuti panduan instalasi, termasuk pemilihan bahasa, zona waktu, dan konfigurasi keyboard.
- Pada langkah “Partitioning,” pilih opsi “Guided – use entire disk” dan pilih disk SSD yang anda miliki untuk instalasi sistem.
- Setelah selesai, tentukan username dan password untuk akun administrator.
Update Sistem dan Instalasi Perangkat Lunak Pendukung
- Setelah instalasi selesai, jalankan perintah berikut untuk memastikan sistem diperbarui:
sudo apt update && sudo apt upgrade
- Instal perangkat lunak pendukung LEMP:
sudo apt install nginx mysql-server php-fpm php-mysql
Setting Firewall
Dalam membangun webserver menggunakan ubuntu, firewal menjadi relatif penting untuk sebuah server. Sebelum melakukan testing di NginX, kita perlu melakukan setting firewall ubuntu terlebih dahulu. Di Nginx, firewal diregistrasikan dalam bentu kode yaitu ufw. Jadi setiap kita akan melakukan setting firewall, kita perlu menambahkan ufw di depannya. Berikut adalah script untuk mengetahui aplikasi apa saja yang saat ini diperbolehkan melewati firewall.
sudo ufw app list
Dari script di atas, akan muncul beberapa list seperti di bawah ini
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
- Nginx Full merepresentasikan bahwa profil ini memberikan akses ke port 80 dan 443.
- Nginx HTTP merepresentasikan profil ini memerbolehkan akses hanya ke port 80.
- Nginx HTTPS merepresentasikan bahwa akses port yang diijinkan adalah hanya port 443.
Konfigurasi Nginx
- Buka file konfigurasi Nginx:
sudo nano /etc/nginx/sites-available/default
- Sesuaikan konfigurasi server blok dengan menambahkan konfigurasi PHP-FPM:
server {
listen 80;
kangmus.net;
root /var/www/html;
index index.php index.html index.htm;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
- Simpan perubahan dan restart Nginx:
sudo service nginx restart
Konfigurasi MySQL Di Ubuntu Server
Jalankan perintah keamanan MySQL dengan mengetikkan script di bawah ini:
sudo mysql_secure_installation
Ikuti panduan untuk mengamankan instalasi MySQL dan setel password root.
Membuat Database dan Pengguna MySQL di Ubuntu Server
- Masuk ke MySQL dengan mengetik script berikut ini di terminal:
sudo mysql -u nama_akun -p
- Tekan enter dan masukkan password yang anda miliki.
- Buat user dan database baru dengan mengetik script di bawah ini:
CREATE DATABASE nama_database;
CREATE USER 'nama_akun@'localhost' IDENTIFIED BY 'password_anda';
GRANT ALL PRIVILEGES ON nama_database.* TO 'nama_akun'@'localhost';
FLUSH PRIVILEGES;
Uji PHP dengan Nginx
- Buat file info.php:
sudo nano /var/www/html/info.php
- Ketikkan script berikut:
<?php
phpinfo();
- Simpan dengan cara menekan Ctrl+X kemudian tekan enter.
- Buka browser dan akses
http://nama_domain.com/info.php
. Jika konfigurasi PHP berfungsi, Anda akan melihat informasi PHP yang terinstall di server beserta komponennya.
Keuntungan Membangun Webserver Menggunakan Ubuntu
Membangun web server menggunakan Ubuntu memiliki beberapa keuntungan. Berikut adalah beberapa di antaranya:
- Open Source: Ubuntu adalah sistem operasi open source, yang berarti Anda dapat mengunduh, menggunakan, dan memodifikasinya tanpa biaya.
- Stabilitas dan Keamanan: Ubuntu dikenal karena kestabilan dan keamanannya. Distribusi LTS (Long-Term Support) memberikan pembaruan keamanan dan dukungan jangka panjang, yang sangat penting untuk server yang harus berjalan tanpa henti dan terlindungi dari ancaman keamanan.
- Komunitas yang Aktif: Ubuntu memiliki komunitas yang besar dan aktif.
- Paket Manajemen APT: Advanced Package Tool (APT) memudahkan instalasi, pembaruan, dan pengelolaan paket perangkat lunak.
- Dukungan Cloud: Ubuntu umumnya didukung oleh penyedia layanan cloud utama seperti Amazon Web Services (AWS), Google Cloud Platform (GCP), dan Microsoft Azure. Ini membuatnya mudah untuk mengimplementasikan web server di lingkungan cloud.
- Kemudahan Penggunaan: Ubuntu dirancang dengan antarmuka pengguna yang ramah dan mudah digunakan. Ini dapat mempercepat proses konfigurasi dan administrasi server, bahkan bagi mereka yang baru memulai dengan administrasi sistem.
- Lingkungan Desktop Opsional: Jika Anda memerlukan antarmuka desktop untuk tugas administratif atau keperluan lainnya, Ubuntu menyediakan versi desktop dan server. Ini memberi fleksibilitas dalam penanganan server, terutama dalam pengaturan awal dan pengembangan.
- Kompatibilitas dengan Berbagai Aplikasi: Ubuntu mendukung berbagai perangkat lunak dan aplikasi server populer seperti Apache, Nginx, MySQL, dan PHP (LAMP stack). Ini memudahkan integrasi dan konfigurasi aplikasi server web yang umum digunakan.
Selamat, Anda telah berhasil membangun web server menggunakan Ubuntu dengan LEMP stack. Gunakan langkah-langkah ini sebagai panduan dasar dan sesuaikan dengan kebutuhan spesifik proyek web Anda.
Dengan menjalankan web server, organisasi dan pengembang dapat menyajikan situs web, aplikasi web, atau layanan web kepada pengguna di seluruh dunia, membuat informasi dan layanan lebih mudah diakses melalui internet.