Mengaktifkan UserDir dan Virtual Host Apache2


Seiring dengan berkembangnya teknologi, banyak orang membutuhkan situs atau laman yang berada di dunia digital. Banyak perusahaan maupun perorangan membutuhkan laman seperti untuk berjualan, membangun profil, membuat publikasi, kegiatan administrasi, dan banyak lagi. Untuk menjalankan sebuah situs web atau biasa disebut website, membutuhkan sebuah aplikasi yang digunakan untuk memproses permintaan dari sebuah kode aplikasi menjadi tampilan yang bisa dilihat melalui layar perangkat kita.

Web Server

Web Server merupakan aplikasi yang digunakan untuk memproses permintaan tersebut. Dengan web server, aplikasi yang asalnya berbentuk kode program yang tidak dapat digunakan, menjadi sebuah aplikasi yang memiliki tampilan dan dapat digunakan. Web server dapat memproses permintaan web browser (Chrome, Firefox, Edge, dll.) dengan protokol yang disebut HTTP. Setelah menerima permintaan, web server akan mencari dimana letak file berisi kode program yang relevan dengan permintaan. Kemudian, web server akan mengembalikan permintaan tersebut dalam bentuk website.

Apache2

Apache2 merupakan salah satu layanan web server yang banyak digunakan di dunia internet. Web server ini banyak digunakan karena mudah dalam implementasinya. Selain itu, web server ini merupakan aplikasi freeware yang dengan lisensi itu semua orang bisa menggunakannya tanpa harus membayar (gratis). Apache2 memiliki banyak fitur yang dapat digunakan untuk pengembangan lingkungan server. Dua fitur yang akan dibahas dalam artikel ini yaitu, UserDir dan Virtual Host

1. UserDir

UserDir merupakan kependekan dari User Directory, yakni folder atau direktori para pengguna. User Directory adalah tempat dimana file user di simpan. User Directory ini terletak di dalam direktori /home dengan nama direktori yang sama dengan nama user. Sebagai contoh, terdapat user dengan username amar, maka di dalam direktori /home akan ada direktori amar/.

Perhatikan tangkapan layar terminal remote linux ubuntu di bawah ini.

Dapat dilihat ketika masuk ke dalam direktori /home, maka akan ada direktori user. Ketika kita membuat user baru, user directory dari user tersebut akan dibuat secara otomatis.

Kita coba untuk menambahkan user baru dengan nama bazigan:

Kemudian masuk ke dalam diketori /home dan tampilkan isi direktori dengan menjalankan perintah ls:

Dapat dilihat, terdapat direktori bazigan di dalam direktori /home.

Dengan fitur user directory yang dimiliki apache2, kita dapat mengakses konten yang terdapat di masing-masing direktori user melalui web server. Dalam penggunaannya, user directory ini dapat digunakan untuk memudahkan dalam mengakses file milik user melalui web browser. Selain itu, dapat digunakan untuk hosting web masing-masing user ataupun untuk keperluan uji coba.

Cara Mengaktifkan Fitur UserDir

Setelah mendapatkan gambaran tentang UserDir, kita akan melakukan konfigurasi untuk mengaktifkan fitur Apache2 tersebut. Terdapat beberapa prasyarat yang harus dimiliki untuk mengaktifkan UserDir, diantaranya:

  • Ubuntu Server 20.04
  • Apache2

Pada artikel ini, juga akan membahas tahapan dalam melakukan instalasi web server Apache2.

Langkah 1. Instalasi Apache

Jalankan perintah untuk memperbarui paket pemasangan:

apt update

Kemudian lakukan instalasi Apache2 beserta paket yang dibutuhkan aplikasi tersebut dengan perintah:

apt install apache2 libapache2-mod-php -y

Tunggu proses intalasi dan pastikan tidak ada pesan error yang muncul hingga instalasi berakhir. Kemudian, pastikan service Apache2 berjalan tanpa error, dengan menjalankan perintah:

systemctl status apache2

Akses IP server yang digunakan untuk instalasi Apache2. Server yang digunakan dalam artikel ini sebagai contoh memiliki IP server 10.23.2.7. Maka dapat dilihat terdapat tampilan default page dari Apache2:

Langkah 2. Konfigurasi UserDir

Setelah itu, aktifkan module userdir dengan menjalankan perintah:

a2enmod userdir

Setelah menjalankan perintah tersebut, terdapat pesan yang memberitahukan untuk melakukan restart layanan apache2. Untuk itu jalankan perintah:

systemctl restart apache2

Setelah apache2 berhasil dimuat ulang, buat direktori untuk menampung file yang nantinya akan ditampilkan pada web browser. Pada contoh ini, akan dibuat direktori dengan nama public_html yang nantinya akan berisi tampilan web. Untuk membuat direktori, jalankan perintah:

mkdir /home/nama_user/public_html

contoh untuk membuat direktori pada user amar:
mkdir /home/amar/public_html

Maka akan ada folder atau direktori public_html di dalam direktori /home/amar. Setelah itu isi folder tersebut dengan file bernama index.html agar konten di dalam file tersebut langsung ditampilkan pada web browser. Untuk membuatnya jalankan perintah:

vim /home/amar/public_html/index.html

Kemudian klik i untuk mengisi file tersebut dengan konten sederhana:

<html>
<head>
<title>UserDir Apache2 - amar</title>
</head>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Ini UserDir milik user amar
</div>
</body>
</html>

Setelah itu klik esc untuk keluar dari edit mode, dan tuliskan :wq untuk menyimpan perubahan dan keluar dari file tersebut. Sampai dengan langkah ini, konfigurasi UserDir telah selesai.

Langkah 3. Pengujian UserDir

Setelah selesai melakukan instalasi Apache2 dan konfigurasi untuk mengaktifkan fitur UserDir, lakukan pengujian untuk memastikan fitur berjalan dengan baik. Untuk itu, akses IP server menggunakan browser:

<IP-Server/~nama_user>

#contoh mengakses user direktori yang telah dibuat:
10.23.2.7/~amar

Maka browser akan menampilkan konten yang ada di dalam file yang kita buat sebelumnya:

Jika user direktori milik user dapat diakses melalui browser, maka konfigurasi UserDir telah berhasil.

2. Virtual Host

Secara default, web server hanya bisa digunakan dengan satu domain saja. Namun, apache2 memiliki fitur Virtual Host yang memungkinkan untuk membuat banyak domain di bawah domain utama. Fitur virtual host ini dapat digunakan untuk membuat banyak website dengan konten yang berbeda dalam satu server.

Virtual Host memiliki beberapa tipe yang bisa diterapkan, tergantung dengan kebutuhan maupun kondisi yang ada. Tipe-tipe virtual host diantaranya:

  • IP Based: setiap website dapat diakses menggunakan IP address unik yang berbeda dalam satu server.
  • Port Based: setiap website diakses menggunakan IP address yang sama, namun dengan port yang berbeda.
  • Hostname Based: setiap website menggunakan IP address dan Port yang sama, namun dengan nama domain yang berbeda.

Pada file konfigurasi apache2, terdapat file konfigurasi yang perlu diatur untuk mengaktifkan virtual host. Setiap tipe memiliki konfigurasi yang berbeda, diantaranya:

  • IP Basedfile /etc/apache2/sites-available/nama-virtualhost.conf<VirtualHost *:80> #ubah bintang menjadi IP Address yang akan digunakan sebagai virtual host #contoh: <VirtualHost 10.23.2.10:80>
  • Port Basedfile /etc/apache2/sites-available/nama-virtualhost.conf<VirtualHost *:80> #ubah 80 menjadi port yang diinginkanfile /etc/apache2/ports.conf#tambahkan konfigurasi port, seperti di bawah ini berjalan di port 8080: Listen 8080
  • Hostname Basedfile /etc/apache2/sites-available/nama-virtualhost.confServerName www.domain.example #contoh: ServerName www.amar.test

Dengan virtual host, kita dapat meminimalkan penggunaan server untuk hosting website atau meminimalkan penggunaan IP Address sesuai dengan tipe mana yang digunakan. Untuk mengikuti langkah-langkah menggunakan virtual host, pastikan layanan web server Apache2 telah terinstal dan berjalan sebelumnya. Pada langkah-langkah di bawah ini akan menggunakan tipe Port Based atau membuat virtual host dengan IP address yang sama namun dengan port yang berbeda.

Langkah 1. Konfigurasi Virtual Host

Pertama-tama, buat file konfigurasi yang nantinya digunakan virtual host. Sebagai contoh, namakan file tersebut dengan nama virtual-amar.host.conf:

masuk ke dalam direktori konfigurasi apache2:
cd /etc/apache2/sites-available

duplikasi file konfigurasi default yang ada dengan nama lain:
cp 000-default.conf virtual-amar.host.conf

buka file yang telah dibuat:
vim virtual-amar.host.conf

Kemudian, konfigurasi seperti di bawah ini:

#konfigurasi port:
VirtualHost *:8080

#konfigurasi hostname, beri pagar di depan jika tidak ada domain:
ServerName 10.23.2.7

ServerAdmin webmaster@localhost

#arahkan ke direktori yang nantinya akan dibuat:
DocumentRoot /var/www/virtual-amar

Karena virtual host akan dibuat menggunakan port yang berbeda, maka edit pada bagian <VirtualHost *:port> pada file tersebut. Jika menggunakan IP, maka ubah pada bagian bintang. Jika menggunakan hostname, maka ubah pada bagian ServerName.

Setelah itu, buka file /etc/apache2/ports.conf dan tambahkan listen port:

Kemudian aktifkan konfigurasi dan muat ulang layanan Apache2 dengan perintah:

a2ensite nama_file

contoh:
a2ensite virtual-amar.host.conf
systemctl reload apache2

Selanjutnya, buat direktori untuk virtual host yang telah dibuat, sesuaikan nama dengan konfigurasi pada file konfigurasi :

Isi file dengan konten sederhana untuk uji coba akses:

Langkah 3. Pengujian UserDir

Setelah selesai melakukan konfigurasi virtual host, lakukan pengujian untuk memastikan fitur berjalan dengan baik. Untuk itu, akses IP server dengan portnya menggunakan browser:

<IP-Server:port>

#contoh mengakses user direktori yang telah dibuat:
10.23.2.7:8080

Maka browser akan menampilkan konten yang ada di dalam file yang kita buat sebelumnya:

Kesimpulan

Apache2 memiliki banyak fitur yang dapat digunakan untuk mempermudah dalam pengembangan lingkungan web server. Beberapa fitur tersebut adalah UserDir dan VIrtual Host yang banyak juga dimanfaatkan orang. UserDir berguna untuk membuat user dapat akses file melalui web browser atau membuat banyak website yang ada pada direktori user. Kemudian, Virtual Host sangat berguna untuk membuat banyak domain hanya dengan satu web server. Dengan banyak domain tentu kita dapat melakukan hosting banyak website sesuai keperluan. Hal tersebut membuat server yang digunakan menjadi sangat efisien.

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

Penulis : Bazigan Tsamara Sukamto