Pengertian, jenis, dan pointing web server

 Apa Itu Web Server?

Web server bagaikan gerbang digital yang menghubungkan website Kita dengan pengguna di seluruh dunia. Ia berfungsi sebagai perantara, menerima permintaan HTTP dari browser, memprosesnya, dan mengirimkan kembali konten website yang sesuai. Sederhananya, bayangkan web server sebagai rak buku raksasa di perpustakaan internet, di mana setiap buku mewakili halaman website Kita.

Jenis-Jenis Web Server

Berbagai web server hadir dengan keunggulannya masing-masing:

Apache: Pilihan populer dengan komunitas besar dan dokumentasi lengkap.

Nginx: Terkenal ringan, cepat, dan efisien, ideal untuk website dengan traffic tinggi.

Lighttpd: Server web minimalis yang hemat sumber daya, cocok untuk server dengan spesifikasi rendah.

IIS (Internet Information Services): Solusi terintegrasi untuk Windows Server.

Pointing Domain ke WebServer Menggunakan Nginx di Ubuntu 22.04

  1. Langkah pertama yaitu kita install terlebih dahulu nginx
Sudo apt updateSudo apt install nginx -ySystemctl status nginx
Jika sudah di cek dan aktif kita cek di web browser kita
  1. Jika sudah menginstall webservernya, selanjutnya kita pointing domain yang telah kita buat sebelumnya ke webservernya
vim /etc/nginx/sites-available/default
Kita tambahkan name servernya, setelah itu konfigurasi juga di device kita
Windows/system32/drivers/etc/hosts
Jika sudah di setting di windows lalu kita coba cek di browser
Nah pointing dari domain ke webserver sudah selesai, mari kita lanjut membuat ssl
  1. Buat SSL pada webserver
  2. Pertama kita buat directory ssl terlebih dahulu setelah itu kita install open sslnya
mkdir /etc/nginx/ssl
apt install openssl
  1. Setelah itu kita konfigurasi opensslnya
cd ssl
openssl genrsa -out ca.key 2048
openssl req -new -x509 -days 365 -key ca.key -subj “/C=ID/ST=TEGAL/L=JATENG/O=RAFLI/CN=RAFLI ROOT CA” -out ca.crt
Perlu diperhatikkan, untuk C sesuaikan dengan negara, untuk ST sesuaikan dengan Kota, untuk L sesuaikan dengan provinsi, untuk O sesuaikan dengan organisasi Kalian, untuk CN sesuaikan dengan common name kalian. Setelah itu kita buat request dan key dan juga sertifikat server
openssl req -newkey rsa:2048 -nodes -keyout server.key -subj “/C=ID/ST=TEGAL/L=JATENG/O=RAFLI, Inc./CN=bayhaqqyy.com” -out server.csr
openssl x509 -req -extfile <(printf “subjectAltName=DNS:bayhaqqyy.com,DNS:games.bayhaqqyy.com,DNS:web.bayhaqqyy.com”) -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
Hasilnya akan seperti ini, selanjutnya mari kita konfigurasi untuk https
  1. Setting untuk https
vim /etc/nginx/sites-available/default
systemctl restart nginx
Setelah itu kita cek di browser apakah sudah berhasil atau belum
Nah, ssl kita telah berhasil terbuat.
  1. Konfigurasi Web Basic Auth

Web basic auth ini digunakan untuk mengsandi web kita, jadi Ketika ada yang mengakses website kita akan disuruh memasukkan username dan sandi baru bisa mengakses website kita

sh -c “echo -n ‘bayhaqqy:’ >> /etc/nginx/.htpasswd”sh -c “openssl passwd >> /etc/nginx/.htpasswd”
vim /etc/nginx/sites-available/default
Tambahkan auth basic dan arahkan ke file .htpasswd, jika sudah cek konfigurasi
nginx -tSystemctl restart nginx
Nah konfigurasi web auth kita sudah berhasil
  1. Konfigurasi UserDir

Userdir ini digunakan agar user bisa mendeploy website menggunakan home directori user, ikuti Langkah-langkah berikut untuk konfigurasi userdir

adduser rafli(nama user bebas)vim /etc/nginx/sites-available/default
Buat location tersebut didalam server {}
Systemctl restart nginxsu – rafli
chmod 711 $HOMEmkdir public_htmlchmod 755 public_html
Vim ~/public_html/index.html
Jika sudah bisa cek di brwoser
Nah, konfigurasi homedir kita telah berhasil, sekarang kita dapat mendeploy website dengan directory dari user
  1. Deploy WordPress Menggunakan Vhost

WordPress merupakan sebuah CMS( Content Management Syetem) yang open-source, Dimana kitab isa membuat website tanpa harus membuat codingan terlebih dahulu, karena sudah ada fitur template dari wordpressnya jadi kita hanya perlu mengeditnya saja.

Nah lalu apa itu vhost? Jadi vhost(virtual host) tersebut sebuah metode Dimana kita dapat membuat banyak website dalam 1 webserver, karena setiap vhost mempunyai konfigurasi dan directory root sendiri-sendiri. Jadi ikuti Langkah-langkah dibawah untuk mendeploy wordpress menggunakan vhost.

  1. Install package dan dependencies yang diperlukan
apt install php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-fpm
apt install nginx
apt install mariadb-server-10.6
  1. Konfigurasi Vhost
cd /etc/nginx/sites-availablecp default wordpressvim wordpress
Buat konfigurasi seperti diatasBagian listen gunakan port yang akan digunakanBagian root arahkan ke folder wordpressBagian nameserver gunakan domain masing masing ataupun dikosongkan
nginx -tsystemctl restart nginx
  1. Konfigurasi database
mysql -u root create database namadb;grant all privileges on namadb.* to userdb@’localhost’ identified by ‘passuser’;flush privileges;show databases;
Nah, konfigurasi databasenya telah selesai, selanjutnya installasi wordpressnya
  1. Installasi WordPress
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
mv wodpress /var/www/
chown -R www-data:www-data wordpresschmod -R 755 wordpress
Bisa kita lihat untuk kepemilikan dan permissionnya telah berganti, selanjutnya kita setting database wordpressnya terlebih dahulu
cd wordpressmv wp-config-sample.php wp-config.php
Setting seperti yang telah kita buat sebelumnya didatabase, seperti nama database, nama user, password user. Jika sudah bisa langsung cek di web browser
Dan ya, tahap installasi wordpress telah selesai, saatnya kita lanjut ke tahap konfigurasi wordpress agar wordpress bisa digunakan
  1. Konfigurasi WordPress
Bagian username dan password bisa diisi bebas sesuai keinginanBagian email isi bebas saja hanya tidak terlalu diperlukan. Jika sudah kllik install wordpress dan klik login
Bagian ini isi username dan password yang telah dibuat sebelumnya lalu klik login
Dan ya, proses installasi dan konfigurasi wordpress telah selesai, sekarang wordpress siap untuk digunakan
  1. Deploy FloopyBird Menggunakan UserDir

Nah, sebelumnya kita telah mendeploy wordpress menggunakan vhost, kali ini kita akan mendepoy floopybird menggunakan userdir, yaitu kita akan mengarahkan websitenya ke directory user. Ikuti Langkah-langkah di bawah

  1. Konfigurasi userdir 
adduser raflivim /etc/nginx/sites-available/default
Tambahkan locationArahkan ke home directory user dan folder yang akan dijadikan tempat mendeployGanti servername sesuai domain atau kosongkan saja
  1. Install FloopyBird
Usermod -a -G sudo rafli(namauser)su – rafligit clone https://github.com/nebez/floppybirdsudo chown -R www-data:www-data floppybird/cd floppybirdsudo cp -r * ~/public_htmlcd ~/public_html
Jika  semua sudah ada di ~/public_html maka selanjutnya kita coba di browserhttp://games.bayhaqqyy.com/~rafli/
Nah, floppybird berhasil terinstall dengan baik menggunakan userdir
  1. Membatasi Akses dengan Membuka Hanya Port 53,22,80,443,8080

Untuk meningkatkan keamanan server DNS, kita dapat membatasi akses hanya pada port 53 (digunakan untuk komunikasi DNS),port 22 (digunakan untuk akses SSH), 80 (dugunakan untuk akses http), port443 (digunakan untuk https), port 8080 (digunakan untuk custom http). Hal ini dapat dilakukan dengan ufw dan menambahkan aturan berikut:

sudo ufw enablesudo ufw allow 53/udp sudo ufw allow 22/tcp sudo ufw allow 80/tcpsudo ufw allow 8080/tcpsudo ufw allow 443/tcpsudo ufw status
Nah, jika rules port yang kita buat sudah masuk list, maka port sudah berhasil kita setting
  1. Kesimpulan

Webserver merupakan komponen yang penting dalam membangun sebuah website, dengan mengkonfigurasinya ditambah SSL maka website kita akan lebih secure dalam hal keamanan, lalu dengan kita mengkonfigurasi vhost, kita dapat membuat banyak website dalam 1 webserver saja. Artikel ini telah memberikan pemahaman mendalam tentang membuat sebuah website yang benar.

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti, klik disini untuk info lengkapnya.

Penulis : Rafli Abdul Bay Haqqy