Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills
20.06.2025

Cara menyiapkan autentikasi htpasswd Apache di Ubuntu

Menggunakan autentikasi htpasswd Apache adalah cara sederhana untuk menambahkan kontrol akses dasar ke direktori web dengan mengharuskan pengguna memberikan nama pengguna dan kata sandi sebelum mengakses bagian tertentu dari situs web. Jenis autentikasi ini sering digunakan untuk membatasi akses ke area sensitif, seperti panel administrasi atau situs pengembangan, dan dapat dengan mudah diatur pada server Ubuntu yang menjalankan Apache.

Prasyarat

  • Server yang menjalankan Ubuntu dengan Apache2 terinstal.
  • Akses routing atau sudo ke server.
  • Pengetahuan dasar tentang penggunaan baris perintah.

Langkah 1: Instal Apache (jika belum terinstal)

Jika Apache tidak terinstal pada server Ubuntu Anda, Anda dapat menginstalnya dengan perintah berikut:

sudo apt update

sudo apt install apache2

Langkah 2: Aktifkan utilitas htpasswd

Utilitas htpasswd disediakan oleh paket apache2-utils, yang biasanya terinstal dengan Apache. Jika tidak terinstal, Anda dapat menginstalnya dengan menjalankannya:

sudo apt install apache2-utils

Perintah ini menginstal alat manajemen kata sandi yang diperlukan untuk file otentikasi htpasswd.

Langkah 3: Buat file .htpasswd

File . htpasswd digunakan untuk menyimpan nama pengguna dan kata sandi otentikasi terenkripsi.

  1. Untuk membuat file .htpasswd baru dan menambahkan pengguna, jalankan perintah berikut:
    sudo htpasswd -c /etc/apache2/.htpasswd your_username

    Ganti nama_pengguna_anda dengan nama pengguna yang ingin Anda buat.

    • Opsi -c akan membuat file .htpasswd baru . Jika berkas sudah ada dan Anda menggunakan -c, berkas tersebut akan ditimpa, jadi hanya gunakan saat Anda pertama kali membuat berkas.
  2. Masukkan dan konfirmasikan kata sandi: Setelah menjalankan perintah, Anda akan diminta untuk memasukkan dan mengkonfirmasi kata sandi untuk pengguna. berkas /etc/apache2/.htpasswd akan dibuat dengan kata sandi terenkripsi untuk nama_anda.
  3. Menambahkan pengguna tambahan (opsional): Untuk menambahkan lebih banyak pengguna tanpa menimpa berkas .htpasswd yang sudah ada, jalankan:
    sudo htpasswd /etc/apache2/.htpasswd another_username

    Ganti nama_pengguna lain dengan nama pengguna baru. Perintah ini menambahkan pengguna baru ke file .htpasswd yang sudah ada.

Langkah 4: Konfigurasikan Apache untuk proteksi kata sandi

Anda perlu menentukan direktori atau lokasi mana yang ingin Anda lindungi dengan kata sandi. Ini dilakukan dengan menggunakan berkas .htaccess atau dengan mengedit langsung berkas konfigurasi Apache.

Opsi 1: Menggunakan berkas .htaccess

  1. Mengaktifkan file .htaccess: Jika Anda ingin menggunakan berkas .htaccess untuk menyiapkan proteksi kata sandi, pastikan bahwa arahan AllowOverride diatur ke All untuk direktori yang ingin Anda lindungi. Edit berkas konfigurasi Apache yang sesuai (misalnya, /etc/apache2/sites-available/000-default.conf):
    sudo nano /etc/apache2/sites-available/000-default.conf

    Temukan bagian untuk root web Anda (misalnya /var/www/html) dan setel AllowOverride ke All:


    AllowOverride All

  2. Mulai ulang Apache: Setelah mengedit konfigurasi, mulai ulang Apache untuk menerapkan perubahan:
    sudo systemctl restart apache2
  3. Membuat berkas .htaccess: Di dalam direktori yang ingin Anda lindungi (misalnya, /var/www/html), buat atau edit berkas .htaccess:
    sudo nano /var/www/html/.htaccess
  4. Tambahkan arahan berikut ini: Tambahkan baris berikut ini ke file .htaccess:
    AuthType Dasar
    AuthName “Konten Terbatas”
    AuthUserFile /etc/apache2/.htpasswd
    Memerlukan pengguna yang valid
    • AuthType Basic: Menentukan autentikasi dasar.
    • AuthName: Pesan yang akan ditampilkan dalam pesan autentikasi.
    • AuthUserFile: Jalur ke file .htpasswd Anda.
    • Require Valid User: Membatasi akses ke pengguna yang terdaftar di file .htpasswd.
  5. Simpan dan tutup berkas.

Opsi 2: Penggunaan langsung file konfigurasi Apache

Jika Anda lebih suka mengelola autentikasi secara langsung di berkas konfigurasi Apache daripada menggunakan .htaccess, ikuti langkah-langkah berikut:

  1. Edit konfigurasi hos virtual: Buka berkas konfigurasi Apache untuk situs yang ingin Anda amankan (mis., /etc/apache2/sites-available/000-default.conf):
    sudo nano /etc/apache2/sites-available/000-default.conf
  2. Tambahkan arahan autentikasi: Di dalam blok atau blok yang sesuai dengan direktori yang ingin Anda lindungi, tambahkan yang berikut ini:
    <Directory "/var/www/html">
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user

  3. Simpan dan tutup berkas konfigurasi.
  4. Mulai ulang Apache: Setelah membuat perubahan, mulai ulang Apache:
    sudo systemctl restart apache2

Langkah 5: Menguji autentikasi

Sekarang, buka URL direktori aman dengan menggunakan peramban web Anda (misalnya http://your_server_ip_or_domain). Anda akan melihat prompt login yang meminta nama pengguna dan kata sandi.

  • Masukkan nama pengguna dan kata sandi yang Anda buat dengan perintah htpasswd.
  • Jika kredensial benar, Anda akan diberikan akses ke direktori; jika tidak, Anda akan ditolak.

Langkah 6: Lindungi file .htpasswd

Untuk alasan keamanan, pastikan file .htpasswd disimpan di luar root web (misalnya, /etc/apache2/.htpasswd) agar tidak dapat diakses secara langsung oleh peramban web.

Pastikan file .htpasswd memiliki izin yang benar:

sudo chmod 640 /etc/apache2/.htpasswd

sudo chown www-data:www-data /etc/apache2/.htpasswd

Ini memastikan bahwa hanya pengguna Apache (www-data) dan root yang memiliki akses baca ke berkas .htpasswd.

Kesimpulan

Menyiapkan autentikasi htpasswd di Apache adalah cara yang mudah untuk menambahkan kontrol akses dasar ke direktori tertentu pada situs web Anda. Ini cocok untuk keamanan tingkat rendah, terutama dalam pengembangan atau lingkungan internal. Namun, untuk area yang sangat sensitif, pertimbangkan untuk menggunakan metode autentikasi yang lebih kuat seperti OAuth atau mengintegrasikan dengan sistem manajemen identitas.

Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills