A. Tujuan
Mengerti fungsi web server dan database server.
Mengerti fungsi database server.
Mengerti fungsi PHP sebagai adalah bahasa pemrograman script server-side yang
digunakan dalam pengembangan web.
Mengerti fungsi Webmin dalam melakukan pengelolaan server.
B. Alat pendukung
Multimedia Proyektor.
Whiteboard.
Spidol.
VMWare.
Linux Ubuntu Server 22.04
Webmin
C. Indikator Pencapaian
Teori
Pengertian Umum
Web server
Sebuah web server merupakan perangkat lunak yang beroperasi di dalam server, bertujuan untuk
menyediakan layanan berbasis data melalui protokol HTTP atau HTTPS. Fungsinya adalah
melayani permintaan dari klien, seperti web browser Mozilla Firefox, Google Chrome, Opera, dan
Internet Explorer. Saat pengguna mengakses layanan ini, web server mengirimkan berkas-berkas
data kepada mereka. Contohnya, berkas ini dapat berupa dokumen HTML yang membentuk
struktur dasar halaman web.
Halaman web yang diakses melalui web server dapat berisi berbagai jenis konten. Ini bisa termasuk
teks yang membentuk konten utama, video untuk elemen visual bergerak, gambar untuk ilustrasi
visual, serta berkas-berkas lain seperti file unduhan. Semua elemen ini dikirim oleh web server
kepada pengguna yang meminta halaman web tersebut.
Dengan kata lain, web server adalah aplikasi yang mengatur lalu lintas data antara server
tempatnya berada dan pengguna yang mengaksesnya melalui browser. Ini memungkinkan
pengguna untuk mengakses dan berinteraksi dengan berbagai jenis konten yang di-hosting di
server tersebut.
Apache
Nginx
Internet Information Services (IIS)
Caddy
Lighttpd.
Database Server
Database Server merupakan sebuah perangkat lunak yang berjalan di dalam server dengan tujuan
mengelola dan menyimpan berbagai informasi serta menyediakan layanan basis data melalui
sistem model klien-server. Dalam konsep ini, klien (seperti aplikasi atau pengguna) mengirim
permintaan ke server database untuk mengakses atau memanipulasi data, dan server merespons
dengan memberikan data yang diminta.
Ada beragam aplikasi basis data yang dapat digunakan, dan di antaranya adalah:
JSON: Format penyimpanan data yang populer dengan struktur berbasis teks yang mudah
dibaca oleh manusia dan sering digunakan untuk pertukaran data.
XML: Format markup untuk penyimpanan dan pertukaran data yang dapat digunakan oleh
berbagai aplikasi.
MySQL: Sistem basis data relasional yang umum digunakan untuk mengelola data
terstruktur.
MongoDB: Basis data NoSQL yang menyimpan data dalam bentuk dokumen, cocok untuk
pengelolaan data semi-struktur.
MariaDB: Fork dari MySQL dengan fitur dan kinerja yang ditingkatkan.
Postgre SQL: Sistem basis data relasional open-source dengan penekanan pada keakuratan
dan keamanan data.
Oracle Database: Sistem basis data kuat yang cocok untuk aplikasi bisnis besar dan kritis.
SAP HANA: Platform in-memory database yang dioptimalkan untuk kinerja tinggi dan
analisis data real-time.
MemSQL: Basis data in-memory untuk pengolahan data cepat.
IBM Db2: Basis data relasional yang dapat diintegrasikan dengan berbagai platform.
Firebird dan Interbase: Basis data open-source yang ringan dan cepat.
Database Warehouse (DW atau DWH): Basis data yang dioptimalkan untuk analisis dan
pelaporan data bisnis.
Microsoft SQL Server: Sistem basis data relasional dari Microsoft dengan berbagai fitur
bisnis.
Microsoft (Office) Access: Aplikasi basis data desktop untuk mengelola data dengan skala
kecil hingga menengah.
SQLite: Basis data berbasis berkas yang bersifat self-contained dan tidak memerlukan
server terpisah.
Dalam konteks ini, Database Server berperan penting dalam menjaga integritas dan ketersediaan
data, serta memfasilitasi pengaksesan data oleh aplikasi dan pengguna secara efisien.
PHP
PHP adalah sebuah bahasa pemrograman skrip atau skrip yang bekerja di sisi server yang
dimanfaatkan untuk mengembangkan halaman web. Penggunaan PHP memungkinkan pembuatan
aplikasi web yang memiliki sifat dinamis, yang berarti kemampuan untuk menghasilkan konten
yang bervariasi berdasarkan permintaan dan interaksi pengguna, berbeda dengan penggunaan kode
HTML dasar yang bersifat statis.
Dalam konteks ini, PHP berfungsi sebagai alat yang kuat untuk mengolah data secara dinamis pada
halaman web. Dengan menyisipkan kode PHP ke dalam halaman HTML, kita dapat menghasilkan
respons yang berbeda berdasarkan data yang diterima dari pengguna atau berdasarkan berbagai
kondisi yang diatur oleh program. Misalnya, PHP memungkinkan kita untuk mengakses basis data,
mengambil informasi dari formulir yang diisi pengguna, atau menghasilkan halaman berdasarkan
logika bisnis tertentu.
Jadi, penggunaan PHP memberikan fleksibilitas yang jauh lebih besar dalam pembuatan situs web
yang dinamis dan interaktif, karena konten dan perilaku halaman tidak lagi terbatas pada struktur
statis yang ditetapkan sebelumnya, melainkan dapat beradaptasi dan berubah sesuai dengan situasi
dan kebutuhan yang berbeda.
Beberapa paket perangkat lunak berbasis open source yang terkenal dan banyak digunakan dalam
mengembangkan layanan web termasuk yang berikut:
1. LAMP
LAMP merupakan singkatan dari Linux, Apache, MySQL/MariaDB, dan PHP. Ini adalah suatu
paket perangkat lunak terintegrasi yang didasarkan pada prinsip open source, dan dapat
digunakan secara bebas untuk menjalankan aplikasi web dengan komponen yang lengkap.
Linux: Sistem operasi open source yang membentuk dasar dari lingkungan server.
Apache HTTP Server: Web server yang populer dan kital untuk mengirimkan halaman
web kepada pengguna yang memintanya.
MariaDB atau MySQL: Sistem basis data yang menyimpan dan mengelola data yang
diperlukan oleh aplikasi web.
PHP, Perl, atau Python: Bahasa pemrograman yang digunakan untuk mengembangkan
aplikasi web yang dinamis dan interaktif.
Secara menyeluruh, paket LAMP telah menunjukkan keberhasilannya sebagai solusi yang efisien
dan terkenal dalam domain pengembangan web berbasis open source, karena menyajikan elemen-
elemen penting yang diperlukan untuk menciptakan layanan web yang tangguh dan dinamis.
2. LEMP
LEMP adalah suatu kumpulan aplikasi yang digunakan untuk menjalankan server web, mirip
dengan LAMP. Perbedaannya terletak pada penggunaan EngineX (Nginx) sebagai web server,
sementara LAMP menggunakan Apache. LEMP merupakan singkatan dari Linux, NginX,
MySQL/MariaDB, dan PHP.
Nginx adalah suatu aplikasi web server berbasis open source yang memiliki keunggulan sendiri
bila dibandingkan dengan Apache. Kelebihan utamanya adalah dalam hal kinerja dan
penggunaan memori yang lebih efisien.
Dengan menyusun paket LEMP ini, kita memiliki alat yang lengkap untuk membangun dan
mengoperasikan server web. Linux sebagai dasar sistem operasi, Nginx sebagai server web,
MariaDB atau MySQL untuk basis data, dan PHP, Perl, atau Python sebagai bahasa
pemrograman, semuanya bekerja bersama untuk menciptakan lingkungan yang mampu
menjalankan aplikasi web yang efisien dan dinamis.
Skenario Praktikum
Catatan Pendahuluan
Skenario Praktikum ini ada hubungan dengan materi sebelumnya, yaitu Instalasi Linux Ubuntu
dan DNS Server.
Melihat IP Address
Setelah menyelesaikan proses instalasi Linux Ubuntu Server, langkah berikutnya adalah
memasuki antarmuka baris perintah (CLI) pada Mesin Virtual untuk mengidentifikasi alamat IP
dari server. Silakan masukkan perintah berikut:
ifconfig –a
sudo su
Isikan kata sandi atau password yang diminta, lalu tekan tombol "Enter".
Mengubah IP Address
nano /etc/netplan/00-installer-config.yaml
Atur alamat IP pada server sesuai dengan konfigurasi yang diterapkan dalam jaringan kita, sebagai
contoh:
Untuk menyimpan perubahan, tekan tombol "Ctrl + X", lalu tekan "Y", dan akhiri dengan menekan
tombol "Enter".
Lakukan uji ping ke google.com untuk memverifikasi apakah server kita dapat terhubung dengan
internet.
ping google.com
Setelah itu, buka Command Prompt pada komputer kita dan lakukan ping terhadap alamat IP
tersebut. Jika kita menerima balasan (reply), itu menkitakan bahwa Server Ubuntu yang diinstal
pada Mesin Virtual telah berhasil terhubung dengan komputer kita.
Langkah berikutnya adalah mengonfigurasi server menggunakan Putty. Buka aplikasi Putty pada
komputer Kita, kemudian masukkan alamat IP 192.168.195.147 dan pilih port 22. Setelah itu, klik
tombol "Open". Jika Kita melihat peringatan keamanan dari Putty, pilih opsi "Yes" untuk
melanjutkan. Kemudian, masukkan nama pengguna (username) dan kata sandi (password).
sudo su
apt-get update
Edit hostname
Hostname adalah label atau nama yang diberikan kepada suatu perangkat dalam jaringan, seperti
server atau komputer, untuk mengidentifikasinya secara unik dalam lingkup jaringan. Hostname
digunakan untuk mengidentifikasi perangkat di dalam jaringan dan memudahkan komunikasi antar
perangkat. Biasanya, hostname disusun dalam bentuk teks yang mudah diingat, seperti "server1"
atau "komputer-utama". Hostname ini dapat digunakan untuk mengakses perangkat dalam jaringan
menggunakan nama alih-alih harus mengingat alamat IP yang kompleks.
nano /etc/hosts
127.0.0.1 localhost
192.168.195.147 svr svr.uigm.local
Editing Resolver
Resolver adalah bagian dari sistem operasi atau aplikasi yang bertanggung jawab untuk
menerjemahkan nama domain (seperti www.contoh.com) menjadi alamat IP yang sesuai. Ketika
Kita memasukkan suatu nama domain ke dalam peramban web atau aplikasi lainnya, resolver akan
melakukan proses pencarian DNS (Domain Name System) untuk mengonversi nama domain
tersebut menjadi alamat IP yang diperlukan untuk mengarahkan permintaan ke server yang tepat.
Dalam konteks sistem operasi, resolver adalah komponen yang mengelola permintaan DNS.
Ketika aplikasi di sistem mengeluarkan permintaan untuk mengecek alamat IP dari suatu nama
domain, resolver akan berkomunikasi dengan server DNS untuk mendapatkan informasi yang
diperlukan dan mengirimkan hasilnya kembali ke aplikasi.
Resolver memainkan peran penting dalam komunikasi jaringan karena membantu dalam
menghubungkan nama domain yang mudah diingat dengan alamat IP yang digunakan dalam
komunikasi data di jaringan internet.
nano /etc/resolv.conf
Setelah proses instalasi selesai, Kita dapat memulai Nginx dan mengaktifkannya agar tetap
berjalan setiap kali server di-restart dengan langkah berikut:
Konfigurasi Firewall
Uncomplicated Firewall (UFW) adalah antarmuka firewall pada sistem operasi berbasis Linux.
UFW mempermudah pengelolaan konfigurasi firewall yang sebelumnya rumit, membuat tugas ini
lebih sederhana bagi para administrator sistem. Penting untuk mengaktifkan firewall pada server
untuk meningkatkan keamanan.
Untuk menambahkan port layanan SSH (port 22) dan HTTP (port 80) ke konfigurasi firewall, Kita
dapat menjalankan perintah UFW seperti yang diberikan di bawah ini:
Untuk memulai firewall UFW dan mengaktifkannya agar tetap berjalan setiap kali sistem direstart,
ikuti langkah-langkah berikut:
ufw enable
MariaDB Database Server adalah sebuah sistem manajemen basis data (DBMS) yang merupakan
cabang atau fork dari MySQL. MariaDB dikembangkan sebagai alternatif open source untuk
MySQL setelah Oracle mengakuisisi MySQL. Keduanya memiliki sejarah dan karakteristik yang
mirip, sehingga aplikasi yang diarahkan untuk MySQL juga dapat berjalan pada MariaDB tanpa
banyak perubahan.
2. Open Source: MariaDB bersifat open source, artinya kita dapat mengunduh, menginstal,
dan menggunakannya secara gratis serta mengubah kode sumber sesuai kebutuhan.
3. High Performance: MariaDB memiliki fokus pada kinerja tinggi dan efisiensi, sehingga
cocok untuk mengelola aplikasi yang membutuhkan pemrosesan data yang cepat dan
responsif.
4. Compatibility with MySQL: Kode sumber MySQL dan MariaDB memiliki kesamaan,
sehingga aplikasi yang dirancang untuk MySQL dapat dengan mudah berjalan pada
MariaDB.
5. Security: MariaDB menyediakan fitur keamanan seperti enkripsi data, autentikasi yang
kuat, dan manajemen akses yang cermat.
Berikut adalah langkah-langkah instalasi MariaDB Database Server pada sistem Linux (misalnya
Ubuntu):
Pada saat instalasi MariaDB, Kita akan diminta untuk mengatur password untuk akun root.
Pastikan Kita mengingat password ini dengan baik karena akan digunakan untuk mengakses dan
mengelola database.
Setelah instalasi selesai, Kita dapat melakukan langkah-langkah berikut untuk memastikan
MariaDB tetap berjalan setiap kali server direstart:
Instalasi PHP-FPM
PHP-FPM (PHP FastCGI Process Manager) adalah suatu metode pengelolaan proses PHP yang
dikhususkan untuk digunakan dengan server web seperti Nginx atau Apache yang menggunakan
protokol FastCGI. PHP-FPM berfungsi sebagai penghubung antara server web dan interpreter PHP
untuk menjalankan kode PHP pada permintaan yang masuk.
1. FastCGI: PHP-FPM adalah implementasi FastCGI khusus untuk PHP. FastCGI adalah
protokol yang memungkinkan server web untuk berkomunikasi dengan interpreter PHP
sebagai proses yang terpisah, menghindari overhead dari memulai dan menghentikan
proses PHP setiap kali permintaan datang.
3. Isolasi: Dalam arsitektur PHP-FPM, setiap permintaan PHP dijalankan dalam konteks
proses yang terisolasi. Ini berarti jika ada masalah pada satu permintaan, tidak akan
mempengaruhi permintaan lainnya.
5. Skalabilitas: Dengan manajemen proses yang efisien dan kemampuan untuk mengatur
konfigurasi secara terpisah, PHP-FPM cocok untuk lingkungan yang memerlukan
skalabilitas tinggi, seperti server web dengan lalu lintas tinggi.
Dalam kombinasi dengan server web seperti Nginx atau Apache, PHP-FPM memungkinkan
pengembang untuk menjalankan aplikasi web PHP yang cepat, efisien, dan dinamis dengan baik.
Berikut adalah langkah-langkah instalasi PHP-FPM (PHP FastCGI Process Manager) pada sistem
Linux (misalnya Ubuntu):
Edit php.ini
`php.ini` adalah berkas konfigurasi utama untuk interpreter PHP. Ini adalah berkas teks yang berisi
berbagai opsi dan pengaturan yang mengontrol perilaku dan fungsi PHP di server. Setiap kali skrip
PHP dijalankan, interpreter akan merujuk ke `php.ini` untuk mengetahui pengaturan yang harus
diterapkan.
`php.ini` adalah bagian penting dalam mengatur lingkungan PHP. Setiap kali kita merubah
pengaturan dalam `php.ini`, Kita perlu me-restart server web atau layanan PHP (seperti PHP-FPM)
agar perubahan tersebut diterapkan.
nano /etc/php/8.1/fpm/php.ini
Setelah membuka berkas, tekan tombol Ctrl dan huruf "W" bersamaan, lalu masukkan
"cgi.fix_pathinfo" untuk mencari pengaturan tersebut. Selanjutnya, hapus tkita titik koma (;) pada
awal baris dan ganti angka 1 dengan angka 0.
cgi.fix_pathinfo=0
Dengan mengubah pengaturan cgi.fix_pathinfo menjadi 0, kita dapat meningkatkan keamanan
server dengan mematikan fitur yang potensial memiliki risiko keamanan.
Restart php8.1
Perlu diingat bahwa setiap perubahan pada php.ini memerlukan restart layanan PHP-FPM agar
perubahan tersebut berlaku.
Tujuan dari mengkonfigurasi Nginx agar bisa menggunakan PHP adalah untuk memungkinkan
server web Nginx menjalankan skrip PHP dan menghasilkan halaman web dinamis. PHP adalah
bahasa pemrograman yang umum digunakan untuk mengembangkan halaman web interaktif dan
dinamis. Dengan mengintegrasikan Nginx dengan PHP, kita dapat membuat situs web yang dapat
menghasilkan konten yang disesuaikan dengan permintaan pengguna.
Dalam konteks ini, Nginx bertindak sebagai server web yang menerima permintaan dari peramban
web. Permintaan tersebut kemudian diteruskan ke interpreter PHP (dalam hal ini, PHP-FPM) yang
menjalankan kode PHP di dalam halaman web. Hasil dari eksekusi PHP dikembalikan ke Nginx,
yang kemudian mengirimkan halaman web yang telah dihasilkan kembali kepada peramban
pengguna.
Dengan mengkonfigurasi Nginx agar menggunakan PHP, kita dapat membuat situs web yang lebih
interaktif dan dinamis, termasuk berbagai fitur seperti formulir interaktif, pengolahan data dari
basis data, serta halaman yang menghasilkan konten yang disesuaikan dengan input pengguna atau
berbagai kondisi.
Buka berkas konfigurasi default dari server block Nginx dengan menggunakan editor teks "nano".
Jalankan perintah berikut:
nano /etc/nginx/sites-available/default
1. Listen Directives:
“listen 80 default_server;”: Mengatur server untuk mendengarkan pada port 80.
“listen [::]:80 default_server;’: Mengatur server untuk mendengarkan pada IPv6 untuk
port 80.
2. Root Directive:
“root /var/www/html;”: Mengarahkan ke direktori root untuk halaman web.
3. Index Directive:
“index index.php index.html index.htm index.nginx-debian.html;”: Daftar file yang
akan dianggap sebagai indeks dan akan ditampilkan jika permintaan hanya
mencantumkan direktori.
5. Location Blocks:
“location / { ... }”: Mengonfigurasi bagaimana Nginx akan menangani permintaan pada
akar situs.
“location ~ \.php$ { ... }”: Mengonfigurasi bagaimana Nginx akan menangani
permintaan untuk file PHP, menjalankan PHP-FPM untuk mengolahnya.
“location ~ /\.ht { ... }”: Mengatur penolakan akses untuk file konfigurasi Nginx.
Konfigurasi ini menghubungkan server Nginx dengan PHP-FPM (dalam hal ini, PHP versi 8.1)
melalui socket Unix. Pada blok `location ~ \.php$`, direktif `fastcgi_pass` menunjukkan socket
PHP-FPM yang akan digunakan untuk menjalankan skrip PHP.
Pastikan konfigurasi sesuai dengan kebutuhan kita dan perhatikan versi PHP-FPM yang digunakan
sesuai dengan instalasi server. Sebelum menerapkan perubahan, selalu lakukan verifikasi sintaks
dan restart layanan Nginx.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name 192.168.195.147;
location / {
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Untuk memastikan bahwa konfigurasi Nginx yang kita buat benar dan tidak mengandung
kesalahan sintaks, jalankan perintah berikut:
nginx –t
Restart Nginx
Pastikan untuk melakukan restart setelah mengubah konfigurasi agar perubahan dapat diterapkan.
Untuk menguji konfigurasi Nginx dengan PHP, kita dapat membuat file PHP sederhana dan
mengaksesnya melalui peramban web. Hal ini dilakukan untuk menguji konfigurasi Nginx dan
memastikan bahwa server kita dapat menjalankan skrip PHP dengan benar.
nano /var/www/html/info.php
Jika kita telah membuat file info.php langkah selanjutnya buka web browser, akses URL
http://192.168.195.147/info.php tekan “Enter”.
Jika semuanya sudah benar, kita akan melihat halaman yang berisi informasi detil tentang
konfigurasi PHP di server kita.
Instalasi Webmin
Webmin adalah antarmuka berbasis web yang digunakan untuk mengelola dan mengkonfigurasi
server Linux. Dengan Webmin, pengguna dapat melakukan berbagai tugas administratif pada
server melalui browser, tanpa perlu masuk ke dalam terminal atau antarmuka baris perintah.
1. Antarmuka Pengguna yang Mudah: Webmin menyediakan antarmuka grafis yang mudah
digunakan dan intuitif, membuatnya cocok bagi administrator yang tidak terbiasa dengan
perintah baris.
2. Manajemen Pengguna: Kita dapat mengelola akun pengguna, grup, serta hak akses mereka
ke berbagai fitur sistem.
3. Manajemen Layanan: Melalui Webmin, kita dapat mengontrol dan mengelola layanan
server seperti Apache, MySQL, DNS, FTP, SSH, dan banyak lagi.
5. Manajemen Paket: Kita dapat menginstal, menghapus, dan memperbarui paket perangkat
lunak melalui antarmuka Webmin.
6. Manajemen Berkas: Mengelola dan mengedit berkas dan direktori, mengunggah dan
mengunduh berkas melalui browser.
8. Manajemen Sistem: Mengelola perangkat keras, informasi sistem, log, tugas penjadwalan
(cron jobs), dan lain-lain.
Webmin membantu menyederhanakan tugas administratif pada server Linux, terutama bagi
pengguna yang tidak memiliki pengetahuan mendalam tentang baris perintah. Namun, seiring
dengan penggunaan Webmin, penting untuk memahami konfigurasi yang kita lakukan dan
mengikuti praktik keamanan yang direkomendasikan untuk memastikan server tetap aman dan
stabil.
Download Webmin.
Kita dapat mengunduh dan menginstal Webmin dengan mengikuti langkah-langkah berikut:
wget http://prdownloads.sourceforge.net/webadmin/webmin_2.010_all.deb
Saat menginstal Webmin di server Linux kita, proses instalasi biasanya memerlukan dependensi
yang diperlukan. "Dependencies" (dependensi) adalah perangkat lunak atau komponen lain yang
diperlukan oleh suatu program untuk dapat berfungsi dengan baik. Dalam konteks instalasi
perangkat lunak, "dependencies file" mengacu pada daftar komponen atau perangkat lunak lain
yang diperlukan oleh suatu program tertentu agar dapat dijalankan atau beroperasi dengan benar.
Ketika Kita menginstal suatu perangkat lunak, terkadang perangkat lunak tersebut membutuhkan
library, paket, atau komponen lain yang tidak terdapat di dalamnya. Dependensi ini harus dipenuhi
agar perangkat lunak yang diinstal dapat berfungsi dengan benar.
Penting untuk memahami dan memenuhi dependensi saat menginstal perangkat lunak, karena
ketidakpenuhan dependensi dapat mengakibatkan masalah dalam menjalankan atau menggunakan
perangkat lunak tersebut.
Install Webmin
Perintah dpkg --install webmin_2.010_all.deb, digunakan untuk menginstal paket Webmin dari
file DEB yang sudah di-download sebelumnya.
Maka akan terlihat bahwa port yang kita izinkan sekarang tercantum dalam daftar aturan.
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
10000/tcp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
10000/tcp (v6) ALLOW Anywhere (v6)
Dengan langkah-langkah di atas, kita telah mengizinkan akses ke Webmin melalui firewall UFW.
Sekarang Kita dapat mengakses Webmin melalui browser dengan mengunjungi alamat
https://192.168.195.147:10000, masukkan username dan password, kemudian login.
Langkah selanjutnya adalah mengakses pengaturan modul pada antarmuka Webmin. Di bawah
ini adalah panduan lebih lanjut untuk langkah-langkah tersebut:
Dalam "Webmin Modules", kita dapat mengonfigurasi modul-modul yang aktif, menonaktifkan
modul yang tidak diperlukan, dan mengatur preferensi modul sesuai kebutuhan Kita. Modul-modul
ini mewakili berbagai fitur dan layanan yang dapat dikelola melalui antarmuka Webmin.
1. Setelah kita menginstal modul Nginx dan mengaktifkannya seperti yang dijelaskan
sebelumnya, cari tombol atau tautan yang bertuliskan "Return to Webmin Configuration"
(Kembali ke Konfigurasi Webmin) pada halaman yang kita sedang berada. Klik tombol ini
untuk kembali ke menu konfigurasi Webmin.
2. Setelah Kita kembali ke menu konfigurasi Webmin, cari opsi yang bertuliskan "Refresh
Modules" (Segarkan Modul) atau serupa. Klik opsi ini untuk menyegarkan daftar modul
dalam antarmuka Webmin.
Dengan melakukan langkah-langkah di atas, kita akan memastikan bahwa perubahan yang Kita
lakukan, seperti instalasi dan pengaktifan modul Nginx, telah diterapkan dengan benar dalam
antarmuka Webmin.
Kita dapat melanjutkan untuk mengonfigurasi dan mengelola server web Nginx melalui antarmuka
Webmin sesuai dengan kebutuhan kita. Kemudian klik Servers.
Selanjutnya kita akan membuka berkas konfigurasi utama Nginx yang disebut "nginx.conf"
menggunakan editor teks Nano di terminal. Kita akan melakukan pengeditan dan konfigurasi pada
berkas ini. Ikuti langkah-langkah berikut:
1. Buka Terminal di Putty: Buka terminal atau antarmuka baris perintah pada Putty di
komputer Kita.
2. Ketik Perintah untuk Membuka Berkas Nginx Config:
sudo nano /etc/nginx/nginx.conf
3. Ini akan membuka berkas "nginx.conf" dengan editor teks Nano, dan kita dapat melihat
dan mengedit konfigurasi Nginx.
4. Kita dapat menggunakan tombol panah untuk berpindah ke bagian yang ingin diedit.
Lakukan pengeditan konfigurasi sesuai kebutuhan kita.
`keepalive_timeout` adalah pengaturan dalam konfigurasi Nginx yang mengontrol berapa lama
koneksi antara server Nginx dan klien harus tetap terbuka setelah suatu respons telah dikirim.
Dalam kata lain, ini mengatur berapa lama koneksi harus "tetap hidup" agar klien dapat
menggunakan kembali koneksi yang sama untuk permintaan berikutnya tanpa harus membuka
koneksi baru.
Tujuan utama dari `keepalive_timeout` adalah untuk meningkatkan efisiensi kinerja server Nginx
dan mengurangi latensi. Ketika koneksi tetap terbuka, klien dapat mengirim permintaan tambahan
melalui koneksi yang sama tanpa harus melakukan negosiasi pembukaan koneksi baru. Hal ini
mengurangi overhead yang terkait dengan membuka dan menutup koneksi secara berulang-ulang.
keepalive_timeout 2;
Namun, penting untuk memahami bahwa pengaturan yang terlalu lama untuk `keepalive_timeout`
dapat menyebabkan penggunaan sumber daya server yang tidak efisien, terutama jika banyak
koneksi terbuka secara bersamaan. Pengaturan yang terlalu pendek juga dapat mengakibatkan
overhead membuka dan menutup koneksi yang lebih sering.
Pada akhirnya, tujuan dari `keepalive_timeout` adalah untuk menemukan keseimbangan antara
mengurangi latensi dengan menjaga efisiensi penggunaan sumber daya. Nilai yang
direkomendasikan dapat bervariasi tergantung pada karakteristik lalu lintas dan kebutuhan server
kita.
Restart Nginx
Untuk me-restart layanan Nginx, Kita dapat menggunakan perintah berikut di terminal:
systemctl reload nginx
Setelah menjalankan perintah ini, layanan Nginx akan dihentikan dan kemudian dijalankan
kembali dengan pengaturan yang diperbarui. Ini memungkinkan perubahan konfigurasi terbaru
diterapkan dan berlaku pada server Nginx.
Sebelum membuat halaman web, kita perlu lagi mengakses DNS Server yang sudah dibuat pada
materi sebelumnya guna adalah menambahkan A Record pada DNS Server. Akses pengaturan
zona di DNS Server dan tambahkan entri A Record untuk domain `www.uigm.local`. Berikut
adalah langkah-langkah umumnya:
Buka berkas konfigurasi zona untuk domain uigm.local di server DNS Kita. Biasanya, berkas ini
dapat ditemukan di direktori /var/lib/bind/ atau lokasi yang sesuai tergantung pada distribusi Linux
yang kita gunakan.
nano /var/lib/bind/uigm.local.hosts
Tambahkan A Record
Dalam berkas konfigurasi zona, tambahkan baris berikut untuk menambahkan A Record. Di sini,
www adalah subdomain yang ingin kita arahkan ke alamat IP 192.168.195.147.
$ttl 3600
uigm.local. IN SOA ns1.uigm. local. root.uigm. local. (
1570947547
10800
3600
604800
38400 )
uigm.local. IN NS ns1.uigm.local.
ns1.uigm.local. IN A 192.168.195.141
sk.uigm.local. IN A 192.168.195.141
himaster.uigm.local. IN CNAME sk.uigm.local.
www.uigm.local. IN A 192.168.195.147
Restart BIND
Setelah menambahkan entri A Record, simpan perubahan yang telah Kita buat pada berkas
konfigurasi zona. Restart layanan DNS Server (BIND) agar perubahan yang kita buat diterapkan:
/etc/init.d/bind9 restart
Secara umum, virtual host adalah cara untuk memanfaatkan sumber daya server secara efisien dan
menyediakan hosting multi-situs dengan menggunakan satu server fisik.
Untuk membuat Virtual Host pada Nginx, kita perlu membuat konfigurasi tambahan untuk setiap
situs web yang ingin Kita layani.
Kembali ke web server yang sudah kita buat, berikut adalah langkah-langkah selanjutnya:
nano /etc/nginx/sites-available/www.uigm.local
server {
listen 80;
listen [::]:80;
root /var/www/html/www.uigm.local;
server_name www.uigm.local;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
1. Tambahkan konfigurasi untuk virtual host.
2. Setelah Kita selesai mengedit konfigurasi virtual host, tekan `Ctrl + O` untuk menyimpan
perubahan, lalu tekan `Ctrl + X` untuk keluar dari editor Nano.
3. Buat tautan simbolis dari berkas konfigurasi yang Kita buat ke direktori `sites-enabled`
dengan perintah:
sudo ln -s /etc/nginx/sites-available/www.uigm.local /etc/nginx/sites-enabled/
Dengan langkah-langkah ini, kita telah berhasil membuat virtual host pada server Nginx. Setiap
virtual host dapat memiliki konfigurasi yang berbeda, memungkinkan kita untuk menyajikan
beberapa situs web dari satu server menggunakan nama domain yang berbeda.
Buka Webmin dan pastikan virtual host yang dibuat sudah ada pada dashboard. Klik Apply
Changes.
Pada komputer kita buka web browser dan buka halaman web https://id.wordpress.org/download/,
Kemudian copy link download https://id.wordpress.org/latest-id_ID.zip
cd /var/www/html
wget https://id.wordpress.org/latest-id_ID.zip
unzip latest-id_ID.zip
Jalankan perintah ls –la untuk menampilkan daftar file dan folder dalam suatu direktori.
ls –la
mv wordpress www.uigm.local
Ubah permission folder www.uigm.local dengan owner www-data dan group www-data.
Restart Nginx
Kembali ke Webmin, pilih MySQL Database Server, pada bagian MySQL Databases, klik Create
New Database, buat nama database dengan wwwuigmlocal, kemudian klik Create.
Pada bagian Global Options, klik User Permissions, klik Create New User. Buat Username
dengan nama yang kita inginkan misal: useruigmlocal, password 123456, dan untuk Hosts
ketikkan localhost, klik Create. setelah kembali ke halaman User Permissions kemudian klik
Return to database list.
Masih pada Global Options, klik Database Permissions, klik Create New Database Permissions.
Pada databases centang Selected dan pilih iftedc, pada Username ketik adminiftedc, dan pada
Hosts ketik localhost. Untuk Permission, sambil menekan tombol shift, pilih semua permissions.
Klik Create, kemudian klik Return to database list.
Pada Windows XP, buka web browser ketik http://www.uigm.local, pilih bahasa Indonesia, klik
lanjutkan.
Masukkan nama basis Data, nama pengguna, kata sandi yang telah dibuat pada Webmin. Host dan
Prefix biarkan secara default. Ikuti langkah selanjutnya.
Buat Judul Situs, Nama Pengguna, sandi, dan email. Nama pengguna dan sandi disini digunakan
untuk login ke dasbor web.
Masuk ke Dashboard
Untuk memperindah tampilan web, klik Sesuaikan Situs Kita. Lakukan kustomisasi dengan
theme yang ada. Setelah selesai, logout dari dasbor.
Inilah tampilan web yang sudah dibuat. Untuk mengisi konten, bisa dilakukan pada dasbor.