Bagikan melalui


Cara Mengonfigurasi Pengaturan WebDAV Menggunakan AppCmd

oleh Robert McMurray

Pengantar

Microsoft merilis modul ekstensi WebDAV baru yang sepenuhnya ditulis ulang untuk Internet Information Services 7.0 (IIS 7.0) di Windows ServerĀ® 2008. Modul ekstensi WebDAV baru ini menggabungkan banyak fitur baru yang memungkinkan penulis web menerbitkan konten lebih baik dari sebelumnya, dan menawarkan administrator web lebih banyak opsi keamanan dan konfigurasi. Microsoft telah merilis pembaruan ke modul ekstensi WebDAV untuk Windows ServerĀ® 2008 yang menyediakan dukungan kunci bersama dan eksklusif untuk mencegah pembaruan yang hilang karena penimpaan.

Dokumen ini akan memanding Anda menggunakan utilitas AppCmd.exe baru di IIS 7.0 untuk mengonfigurasi pengaturan WebDAV dari baris perintah atau skrip batch.

Prasyarat

Item berikut diperlukan untuk menyelesaikan prosedur dalam artikel ini:

  • IIS 7.0 harus diinstal di server Anda, dan berikut ini harus dikonfigurasi:

    • Situs Web Default yang dibuat oleh penginstalan IIS 7.0 masih harus ada.
  • Modul ekstensi WebDAV baru harus diinstal. Untuk informasi mengenai penginstalan modul WebDAV baru, silakan lihat dokumen berikut:

Catatan

Anda perlu memastikan bahwa Anda mengikuti langkah-langkah dalam dokumen ini menggunakan izin administratif penuh. Ini paling baik dicapai menggunakan salah satu dari dua metode:

  • Masuk ke komputer Anda menggunakan akun "administrator" lokal.
  • Jika Anda masuk menggunakan akun dengan izin administratif yang bukan akun "administrator" lokal, buka Manajer IIS dan semua sesi prompt perintah menggunakan opsi "Jalankan sebagai Administrator".

Kondisi di atas diperlukan karena komponen keamanan Kontrol Akun Pengguna (UAC) di Windows Server 2008 akan mencegah akses administratif ke pengaturan konfigurasi IIS 7.0. Untuk informasi selengkapnya tentang UAC, silakan lihat dokumentasi berikut:

Catatan

Pengaturan Pemfilteran Permintaan dapat memblokir beberapa jenis file dari penulisan WebDAV secara default. Saat Anda mengonfigurasi WebDAV menggunakan UI Manajer IIS, pengaturan pemfilteran permintaan diperbarui secara otomatis untuk membuka blokir penulisan WebDAV. Namun, jika Anda memilih untuk mengonfigurasi WebDAV dengan cara apa pun selain menggunakan UI Manajer IIS, lihat panduan Cara Mengonfigurasi WebDAV dengan Pemfilteran Permintaan .

Konsep AppCmd Dasar

AppCmd.exe adalah alat baris perintah baru untuk mengelola IIS 7.0. Dalam banyak hal, anggap saja sebagai pengganti skrip adsutil.vbs dari versi IIS sebelumnya. AppCmd.exe mendukung berbagai sakelar perintah untuk berbagai objek, membuatnya mudah ditulis dalam file batch untuk mengonfigurasi segudang pengaturan IIS. (Catatan: Utilitas AppCmd.exe terletak di %WinDir%\System32\InetSrv folder.)

Sintaks umum untuk AppCmd.exe adalah:

AppCmd (command) (object-type) <identifier> </parameter1:value1 ...>

AppCmd.exe juga menyediakan dukungan bantuan baris perintah yang luas, yang dapat diakses menggunakan salah satu metode berikut:

AppCmd /?
AppCmd (object) /?
AppCmd (command) (object) /?

Daftar perintah tergantung pada objek , dan objek berikut didukung:

Objek Deskripsi
SITUS Administrasi situs virtual
APP Administrasi aplikasi
VDIR Administrasi direktori virtual
APPPOOL Administrasi kumpulan aplikasi
KONFIGURASI Administrasi bagian konfigurasi umum
WP Administrasi proses pekerja
MINTAKAN Administrasi permintaan HTTP
MODUL Administrasi modul server
CADANGAN Administrasi pencadangan konfigurasi server
JEJAK Bekerja dengan log jejak permintaan yang gagal

Misalnya, Anda dapat mencantumkan situs web mana yang dikonfigurasi di server Anda menggunakan objek SITE dengan sintaks berikut:

AppCmd list site

Demikian juga, Anda dapat mencantumkan kumpulan aplikasi mana yang dikonfigurasi di server Anda menggunakan objek APPPOOL dengan sintaks berikut:

AppCmd list apppool

AppCmd juga dapat digunakan untuk mengatur nilai untuk berbagai pengaturan konfigurasi menggunakan objek SITE, dan Anda bisa menggunakan perintah berikut untuk mencantumkan pengaturan yang tersedia untuk Situs Web Default Anda menggunakan sintaks berikut:

AppCmd set site "Default Web Site" /?

Untuk mencantumkan pengaturan konfigurasi untuk jalur tertentu, Anda menggunakan objek CONFIG seperti contoh berikut:

AppCmd list config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication

Objek CONFIG juga dapat digunakan untuk mengatur pengaturan konfigurasi, seperti yang ditunjukkan dalam contoh berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication /enabled:true

Anda juga dapat mengontrol di mana AppCmd akan menulis pengaturan yang Anda tentukan dengan menggunakan parameter baris perintah "/commit:". Misalnya, nanti dalam dokumen ini kita akan melihat perintah berikut yang mengaktifkan WebDAV pada Situs Web Default Anda:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

Catatan

Perintah ini mengaktifkan WebDAV untuk Situs Web Default dan menulis pengaturan tersebut ke file ApplicationHost.config.

AppCmd adalah utilitas yang sangat kuat, dan berbicara secara realistis terlalu banyak untuk dibahas dalam ruang yang singkat, jadi untuk informasi lebih lanjut tentang menjadi akrab dengan AppCmd.exe, silakan lihat artikel berikut di situs web IIS.NET:

Thatsaid, kami melanjutkan untuk mengonfigurasi WebDAV di server Anda.

Memulai WebDAV

WebDAV menginstal ekstensi ke skema default untuk pengaturan IIS, yang membuat AppCmd bekerja dengan WebDAV tanpa modifikasi khusus. Modul WebDAV baru menyimpan semua pengaturannya yang dapat dikonfigurasi dalam file ApplicationHost.config, dan menggunakan bagian berikut:

  • system.webServer/webdav/authoring
  • system.webServer/webdav/authoringRules

Pengaturan "penulisan" hanya dapat dikonfigurasi di akar situs web, sedangkan pengaturan "authoringRules" dapat dikonfigurasi per URL. Untuk melihat pengaturan mana yang telah dikonfigurasi untuk setiap bagian ini untuk jalur tertentu, Anda dapat menggunakan AppCmd seperti yang terlihat dalam contoh berikut:

AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoring
AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoringRules

Mengaktifkan atau Menonaktifkan WebDAV untuk Situs Web

Cukup dimengerti, perintah yang paling mendasar dan berguna untuk WebDAV adalah mengaktifkan atau menonaktifkan WebDAV untuk sebuah situs. Sintaks untuk mengaktifkan WebDAV situs web mengikuti contoh berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

Dalam contoh ini, kami mengatur atribut "diaktifkan" ke "true" untuk bagian "penulisan" WebDAV di Situs Web Default dan memaksa perubahan tersebut ditulis ke file ApplicationHost.config. Sebaliknya, Anda dapat menonaktifkan WebDAV dengan mengatur nilai yang sama ke "false" seperti yang ditunjukkan dalam contoh berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:false /commit:apphost

Membutuhkan SSL untuk Penulisan WebDAV untuk Situs Web

Untuk melindungi informasi yang mungkin Anda transfer, WebDAV dapat dikonfigurasi untuk memerlukan SSL untuk semua operasi. Ini dicapai dengan mengatur atribut "requireSsl " ke "true" untuk bagian "penulisan" WebDAV menggunakan sintaks seperti berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:true /commit:apphost

Fungsionalitas ini dapat dinonaktifkan dengan mengatur atribut "requireSsl" ke "false" menggunakan sintaks seperti berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:false /commit:apphost

Memperbolehkan Akses ke File Tersembunyi untuk Situs Web

Untuk alasan keamanan, Anda dapat menekan apakah file yang ditandai sebagai tersembunyi di server akan dikembalikan dalam daftar file. Untuk melakukannya, atur atribut "allowHiddenFiles" ke "true" pada elemen "fileSystem" di bagian "penulisan" menggunakan sintaks seperti berikut ini:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost

Untuk menonaktifkan daftar file tersembunyi, atur atribut "allowHiddenFiles" ke "false" menggunakan sintaks seperti berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:false /commit:apphost

Mengonfigurasi Pengaturan Kompatibilitas WebDAV untuk Situs Web

Agar kompatibel dengan versi WebDAV untuk IIS sebelumnya, beberapa fitur opsional diekspos melalui pengaturan kompatibilitas. Saat ini daftar opsinya adalah sebagai berikut:

Pengaturan Kompatibilitas Deskripsi
Tidak ada Menentukan bahwa tidak ada fitur kompatibilitas yang harus didukung.
MsAuthorVia Menentukan bahwa header "MS-Author-Via" harus dikembalikan. (Catatan: Beberapa alat penulisan web Microsoft menggunakan header ini.)
MultiProp Menentukan bahwa beberapa <pernyataan prop> harus diizinkan dalam permintaan klien.
CompactXml Menentukan apakah XML yang dikembalikan oleh modul WebDAV akan mengakhiri setiap baris dengan urutan CRLF.
IsHidden Menentukan bahwa properti pseudo-live IsHidden harus didukung.
IsCollection Menentukan bahwa properti pseudo-live IsCollection harus didukung.

Untuk mengatur salah satu fitur ini, Anda harus mengatur nilai atribut "compatFlags" pada bagian "penulisan" menggunakan sintaks seperti berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /compatFlags:"MsAuthorVia,CompactXml" /commit:apphost

Perhatikan bahwa pengaturan kompatibilitas ditentukan sebagai sekumpulan bendera yang dipisahkan koma.

Bekerja dengan Aturan Penulisan WebDAV

Modul WebDAV baru menggunakan aturan penulisan, yang memungkinkan Anda mengonfigurasi cara WebDAV merespons permintaan penulisan dari klien. Misalnya, situs web Anda mungkin mengaktifkan akses anonim untuk pengguna Internet, tetapi akses penulisan web Anda harus dibatasi untuk sekumpulan pengguna tertentu. Dengan menggunakan aturan penulisan, Anda dapat mengonfigurasi pengguna mana yang memiliki akses ke berbagai bagian konten situs web Anda.

Mengonfigurasi Default Aturan Penulisan

Menentukan apakah file yang dipetakan non-MIME diizinkan

Untuk alasan keamanan, IIS tidak mengizinkan akses ke file yang tidak tercantum dalam peta MIME secara default. Dengan mengingat hal itu, penulis web mungkin perlu bekerja dengan jenis file tertentu di server yang tidak tercantum dalam peta MIME. (Misalnya: menyertakan file, file data, dll.) Untuk mengaktifkan akses ke file yang dipetakan non-MIME, Anda perlu mengatur atribut "allowNonMimeMapFiles" ke "true" di bagian "authoringRules". Contoh sintaks berikut menggambarkan bagaimana hal ini dicapai:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:true /commit:apphost

Fungsionalitas ini dapat dinonaktifkan dengan mengatur atribut "allowNonMimeMapFiles" ke "false" menggunakan sintaks seperti berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:false /commit:apphost

Menentukan jenis MIME default

Saat bekerja dengan jenis file yang tidak ada dalam daftar MIME, IIS masih perlu mengembalikan jenis MIME kepada klien. Secara default ini diatur ke "application/octet-stream", yang berarti bahwa file harus diperlakukan sebagai file biner mentah terlepas dari jenis kontennya. Untuk mengatur jenis MIME default untuk file yang tidak dipetakan MIME ke jenis file teks, Anda dapat menggunakan sintaks berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"text/plain" /commit:apphost

Untuk mengatur ulang jenis MIME default, gunakan sintaks berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"application/octet-stream" /commit:apphost

Mengelola Aturan Penulisan

Aturan penulisan disimpan dalam koleksi, dan setiap aturan dapat berisi atribut berikut:

Atribut Deskripsi
jalur Menentukan tipe isi untuk aturan tersebut. (Lihat di bawah)
users Menentukan nama pengguna untuk aturan tersebut. (Lihat di bawah)
peran Menentukan grup/peran untuk aturan tersebut.
akses Menentukan jenis akses untuk aturan. (Lihat di bawah)

Catatan:

  • Atribut "path" digunakan untuk menentukan jenis konten untuk aturan penulisan. Ini bisa untuk jenis konten tertentu seperti "*.aspx", "*.htm", dll., atau Anda dapat menggunakan "*" untuk menunjukkan bahwa aturan penulisan adalah untuk semua konten.

  • Atribut "peran" dan "pengguna" harus dinyatakan eksklusif satu sama lain. Artinya, aturan penulisan harus untuk "pengguna" atau "peran", tetapi tidak keduanya.

  • Nilai khusus berikut untuk atribut "pengguna" ditentukan:

    Nilai Deskripsi
    * Semua pengguna
    ? Pengguna anonim

    Catatan

    Pengguna anonim tidak dapat membaca/menulis konten; pengaturan ini digunakan untuk membatasi jenis file untuk kueri properti anonim.

  • Nilai berikut didefinisikan untuk jenis akses:

    Nilai Deskripsi
    Tidak ada Menentukan bahwa akses tidak diperbolehkan untuk tipe isi
    Baca Menentukan akses baca untuk tipe isi
    Tulis Menentukan akses tulis untuk tipe isi
    Sumber Menentukan akses ke kode sumber untuk tipe isi

Menambahkan aturan penulisan

Untuk menambahkan aturan penulisan untuk jalur, Anda bisa menggunakan sintaks seperti contoh berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /+[users='administrator',path='*',access='Read,Write,Source'] /commit:apphost
AppCmd set config "Default Web Site/mypath" /section:system.webServer/webdav/authoringRules /+[roles='Authors',path='*.aspx',access='Read,Write,Source'] /commit:apphost

Mengedit aturan penulisan

Setelah aturan penulisan ditambahkan, Anda bisa mengedit aturan tersebut menggunakan sintaks seperti berikut ini:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /[users='administrator',path='*'].access:"None" /commit:apphost

Menghapus aturan penulisan

Anda dapat menghapus aturan penulisan hanya dengan menentukan nama pengguna atau peran menggunakan sintaks seperti berikut ini:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator'] /commit:apphost

Catatan

Jika ada lebih dari satu aturan penulisan untuk pengguna tersebut, perintah di atas hanya akan menghapus aturan penulisan pertama dalam daftar dan Anda harus mengulangi perintah untuk menghapus aturan berikutnya untuk pengguna tersebut.

Atau Anda dapat menentukan nama pengguna atau peran dan jenis konten seperti contoh berikut:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator',path='*'] /commit:apphost

Ringkasan

Dokumen ini telah memperlihatkan kepada Anda cara melakukan hal berikut:

Informasi Lebih Lanjut

Untuk informasi tambahan tentang menggunakan WebDAV, silakan lihat artikel berikut ini:

Catatan

Seperti disebutkan sebelumnya, pengaturan pemfilteran permintaan default Anda dapat memblokir beberapa jenis file dari penulisan WebDAV. Jika Anda tidak mengubah pengaturan pemfilteran permintaan, Anda mungkin melihat berbagai kesalahan saat mencoba menerbitkan file yang diblokir. Misalnya, jika Anda mencoba mengunggah atau mengunduh file web.config, Anda akan melihat kesalahan di klien WebDAV Anda. Untuk informasi selengkapnya tentang mengonfigurasi pengaturan pemfilteran permintaan Anda, lihat panduan Cara Mengonfigurasi WebDAV dengan Pemfilteran Permintaan .