Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
oleh Kristina Olson
Rilis Web Deploy v2.1 menginstal beberapa skrip PowerShell yang memudahkan konfigurasi server IIS Anda sehingga pengguna dapat menerbitkannya dengan menggunakan Web Deploy. Halaman ini memperlihatkan kepada Anda cara menggunakan skrip ini untuk membuat situs penerbitan default, mengaktifkan penerbitan untuk situs dan pengguna baru atau yang sudah ada, membuat penerbitan database SQL atau MySQL, atau untuk menyiapkan aturan delegasi - semuanya menggunakan PowerShell.
Skrip yang akan Anda gunakan adalah:
- SetupSiteForPublish.ps1
- CreateSqlDatabase.ps1
- CreateMySqlDatabase.ps1
- AddDelegationRules.ps1
Persyaratan
Server harus memiliki sistem operasi yang disertakan dengan IIS7—ini berarti Windows Server 2008 atau Windows Server 2008 R2. Anda harus menjadi administrator pada komputer.
Pastikan kondisi berikut terpenuhi:
- PowerShell2 harus diinstal (ini dibangun ke dalam Windows Server 2008 R2; untuk Windows Server 2008, Anda bisa mendapatkan PowerShell2 sebagai pembaruan dari sini: https://www.catalog.update.microsoft.com/ScopedViewInline.aspx?updateid=0be83604-db27-4b99-976a-136a92bd579b. Mulai ulang mungkin diperlukan.
- Peran Server Web (IIS) harus diaktifkan di Manajer Server.
- Layanan peran Layanan Manajemen Web IIS ("Layanan Manajemen") harus diaktifkan di Manajer Server
- Untuk menggunakan skrip database PowerShell, server harus memiliki akses ke database SQL atau MySQL. Objek Manajemen SQL Server juga harus diinstal untuk SQL.
- Web Deploy harus diinstal dengan komponen Integrasi Layanan Manajemen. (Agar opsi ini muncul di penginstal Web Deploy, Layanan Manajemen Web harus diaktifkan terlebih dahulu.)
Instruksi PowerShell umum
Luncurkan jendela perintah PowerShell.
Klik ikon PowerShell di bilah tugas atau klik Mulai, ketik PowerShell, dan pilih Windows PowerShell.

(Ikon biru)Pastikan kebijakan eksekusi Anda memungkinkan menjalankan skrip.
Ketik "Get-ExecutionPolicy". Jika Dibatasi (default) Anda harus mengatur ulang ke pengaturan yang lebih permisif seperti dengan mengetik "Set-ExecutionPolicy AllSigned". Pengaturan AllSigned akan memungkinkan menjalankan skrip yang ditandatangani, tetapi meminta Anda jika tidak tepercaya
Untuk informasi selengkapnya tentang pengaturan kebijakan eksekusi lihat Menggunakan Cmdlet Set-ExecutionPolicy.
Ubah ke direktori skrip Web Deploy.
- Ketik
cd '%programfiles%\IIS\Microsoft Web Deploy v2\Scripts'(tetapi ganti%programfiles%dengan jalur aktual, sepertiC:\Program Files).
- Ketik
Gunakan skrip SetupSiteForPublish untuk membuat situs web penerbitan default (tanpa database)
Jalankan skrip SetupSiteForPublish.ps1 tanpa argumen:

Apa yang dilakukan ini:
Skrip membuat pengguna dan situs untuk penerbitan non-admin dan menyimpan informasi profil penerbitan dalam file di desktop. Lebih khusus lagi, ia membuat situs yang disebut WDeploySite dengan akar situs fisik di %systemdrive%\inetpub\WDeploySite. Situs ini akan memiliki kumpulan aplikasi yang cocok, WDeployAppPool, dan akan ditetapkan ke port 8080 secara default (atau port berikutnya yang tersedia jika situs lain menggunakan 8080). Skrip ini juga membuat pengguna Windows lokal non-administrator bernama WDeploySiteuser dan memberikan pengguna ACL Kontrol Penuh pada folder WDeploySite dan Izin Manajer IIS ke situs. Informasi pengaturan disimpan ke desktop dalam file bernama WDeploy.Publish Pengaturan - file ini mungkin digunakan oleh WebMatrix (atau berpotensi Visual Studio) untuk diterbitkan ke situs. Profil ini TIDAK berisi informasi penerbitan database apa pun pada saat ini.
Aktifkan Penerbitan Penyebaran Web untuk Situs dan Pengguna mana pun menggunakan skrip SetupSiteForPublish:
Skrip: SetupSiteForPublish.ps1
Deskripsi: Untuk situs dan akun pengguna tertentu, memungkinkan pengguna yang ditentukan untuk menerbitkan ke situs yang ditentukan. Skrip membuat akun pengguna, situs, dan kumpulan aplikasi; mengatur ACL direktori dan izin Manajer IIS untuk situs; dan menyimpan informasi pengaturan dalam file.
Parameter:
| Nama | Deskripsi | Nilai Default | Catatan |
|---|---|---|---|
| siteName | Nama situs. Jika situs tidak ada, situs akan dibuat. | Situs WDeploy | |
| sitePhysicalPath | Lokasi file fisik untuk konten situs. Jika direktori tidak ada, direktori akan dibuat. | %systemdrive%\inetpub\WDeploySite |
|
| siteAppPoolName | Nama kumpulan aplikasi yang akan dikaitkan dengan situs. Jika kumpulan aplikasi tidak ada, kumpulan aplikasi akan dibuat. | WDeployAppPool | Disarankan untuk mendedikasikan satu kumpulan aplikasi per situs. |
| sitePort | Port untuk pengikatan situs. | Port pertama dari 8080-8200 yang tidak digunakan oleh situs lain. | Aturan firewall mungkin diperlukan untuk membuka port untuk lalu lintas jarak jauh. |
| deploymentUserName | Nama pengguna yang akan diberikan akses ke situs. Jika pengguna tidak ada, pengguna non-administrator akan dibuat. | WDeploySiteuser | |
| deploymentUserPassword | Kata sandi untuk pengguna penyebaran. Jika kata sandi tidak ditentukan, kata sandi akan dibuat dan disimpan secara otomatis dalam file pengaturan. | [dibuat otomatis] | |
| managedRunTimeVersion | Jika ditentukan, akan mencoba mengatur versi run-time yang ditentukan untuk kumpulan aplikasi. Jika versi runtime yang cocok tidak ditemukan, default kumpulan aplikasi akan digunakan. | Default kumpulan aplikasi | Contoh format "v2.0" atau "v4.0" |
| publishSettingSavePath | Direktori yang ada tempat file pengaturan akan disimpan. | Desktop pengguna saat ini | Harus berupa direktori yang ada. Jika direktori yang ditentukan tidak ada, kesalahan akan dihasilkan. |
| publishSettingFileName | Nama file pengaturan, termasuk ekstensi. | WDeploy.Publish Pengaturan | Ingatlah untuk menyertakan ekstensi. Jika file sudah ada, informasi situs di dalamnya akan ditimpa. |
Contoh:
Aktifkan penerbitan untuk pengguna yang sudah ada di situs yang ada (kata sandi tidak akan disimpan dalam file pengaturan):
.\SetupSiteForPublish.ps1 -siteName ExistingSite -deploymentUserName UserA -publishSettingSavePath C:\profiles -publishSettingFileName UserA.PublishSettings

Aktifkan penerbitan untuk pengguna baru di situs baru, dengan nama kustom dan lokasi untuk file pengaturan penerbitan:
.\SetupSiteForPublish.ps1 -siteName NewSite -sitePhysicalPath C:\inetpub\NewSiteRoot -siteAppPoolName NewSitePool -sitePort 81 -deploymentUserName NewSiteUser -deploymentUserPassword Passw0rd -publishSettingSavePath C:\profiles -publishSettingFileName NewSite.PublishSettings

File Terbitkan Pengaturan juga berisi kata sandi pengguna baru. Perhatikan bahwa bidang string koneksi kosong - bidang tersebut dapat diisi dengan tangan atau Anda dapat menambahkannya ke profil menggunakan skrip pembuatan database:
<?xml version="1.0" encoding="utf-8"?>
<publishData>
<publishProfile publishUrl="RWS-2008R2" msdeploySite="NewSite" destinationAppUrl="http://RWS-2008R2:81" mySQLDBConnectionString="" SQLServerDBConnectionString="" profileName="Default Settings" publishMethod="MSDeploy" userName="NewSiteUser" userPWD="Passw0rd" savePWD="True" />
</publishData>
Membuat database SQL untuk akun penerbitan menggunakan skrip CreateSqlDatabase
Skrip: CreateSqlDatabase.ps1
Deskripsi: Membuat database, login, pengguna database yang memiliki izin db_owner ke database, dan menyimpan informasi string koneksi terkait dalam file pengaturan.
Parameter:
| Nama | Deskripsi | Nilai Default | Catatan |
|---|---|---|---|
| databaseName | Nama database yang akan dibuat. | wDeploySqldb | |
| databaseUserName | Nama pengguna database dan login. | wdeploySqlUser | Tentukan pengguna baru setiap kali, atau Anda mungkin akhirnya mengatur ulang kata sandi masuk pengguna dan membatalkan kredensial koneksi pengguna sebelumnya. |
| databaseUserPassword | Kata sandi untuk pengguna database dan masuk. Jika tidak ada kata sandi yang ditentukan, kata sandi akan dibuat secara otomatis. | [dibuat otomatis] | Dalam beberapa kasus, kata sandi yang dibuat secara otomatis mungkin berisi karakter yang menyebabkan masalah dengan klien penerbitan tertentu. Pertimbangkan untuk memodifikasi skrip jika Anda menggunakan skrip untuk pembuatan database otomatis. |
| databaseAdminUser | Nama pengguna administrator server SQL (biasanya "sa"). | WAJIB DIISI | |
| databaseAdminPassword | Kata sandi untuk akun administrator server SQL. | WAJIB DIISI | |
| sqlServerInstanceName | Lokasi server SQL. | .\SQLExpress |
Umum
| publishSettingSavePath | Direktori yang ada tempat file pengaturan akan disimpan. | Desktop pengguna saat ini | Harus berupa direktori yang ada. Jika direktori yang ditentukan tidak ada, kesalahan akan dihasilkan. |
|---|---|---|---|
| publishSettingFileName | Nama file pengaturan, termasuk ekstensi. | WDeploy.Publish Pengaturan | Ingatlah untuk menyertakan ekstensi. Jika file sudah ada, informasi situs di dalamnya akan ditimpa. |
Contoh:
Membuat database dengan pengguna menggunakan default (database SQLExpress lokal):
.\CreateSqlDatabase.ps1

Buat database baru dan tambahkan informasi string koneksi ke file c:\profiles\UserA.PublishSettingspengaturan penerbitan yang sudah ada :
PS C:\Program Files\IIS\Microsoft Web Deploy V2\Scripts> .\CreateSqlDatabase.ps1 -databaseName UserADb -databaseUserName UserADbUser -databaseUserPassword Passw0rdA -databaseAdminUser sa -databaseAdminPassword Passw0rd -sqlServerInstanceName .\SQLExpress -publishSettingSavePath C:\profiles -publishSettingFileName UserA.PublishSettings

Membuat database MySQL untuk akun penerbitan menggunakan skrip CreateMySqlDatabase
Skrip: CreateMySqlDatabase.ps1
Deskripsi: Membuat database, pengguna database dengan semua hak istimewa pada database (di localhost), dan menyimpan informasi string koneksi dalam file pengaturan
Parameter:
| Nama | Deskripsi | Nilai Default | Catatan |
|---|---|---|---|
| databaseName | Nama database yang akan dibuat. | WDeployDb | |
| databaseUserName | Nama pengguna database. | WDeployUser | |
| databaseUserPassword | Kata sandi untuk pengguna database dan masuk. Jika tidak ada kata sandi yang ditentukan, kata sandi akan dibuat secara otomatis. | [dibuat otomatis] | Dalam beberapa kasus, kata sandi yang dibuat secara otomatis mungkin berisi karakter yang menyebabkan masalah dengan klien penerbitan tertentu. Pertimbangkan untuk memodifikasi skrip jika Anda menggunakan skrip untuk pembuatan database otomatis. |
| databaseAdminUser | Nama untuk administrator database, biasanya "root". | WAJIB DIISI | Anda akan diminta untuk parameter ini jika tidak disediakan |
| databaseAdminPassword | Kata sandi untuk akun administrator server. | WAJIB DIISI | Anda akan dimintai nilai untuk parameter ini jika Anda tidak menyediakannya. |
| serverHostName | Lokasi server MySQL | localhost | *lihat catatan di bawah tabel |
Umum:
| publishSettingSavePath | Direktori yang ada tempat file pengaturan akan disimpan. | Desktop pengguna saat ini | Harus berupa direktori yang ada. Jika direktori yang ditentukan tidak ada, kesalahan akan dihasilkan. |
|---|---|---|---|
| publishSettingFileName | Nama file pengaturan, termasuk ekstensi. | WDeploy.Publish Pengaturan | Ingatlah untuk menyertakan ekstensi. Jika file sudah ada, informasi situs di dalamnya akan ditimpa. |
*Jika Anda menentukan nilai non-localhost untuk serverHostName dan tidak mengubah izin untuk pengguna, pengguna mungkin tidak dapat mengakses database-nya. Secara default izin yang diberikan dalam skrip ini menyediakan akses pengguna database dari komputer lokal. Jika server database tidak dihosting pada komputer yang sama, bagian pemberian izin dari skrip PowerShell harus dimodifikasi untuk memberikan izin yang lebih umum, seperti dengan mengubah baris skrip berikut untuk mengizinkan akses dari mesin apa pun:
Baris izin skrip default:
$createUserScript = "Grant all privileges on {0}.* to '{1}'@'localhost' identified by '{2}';"
Baris izin skrip yang dimodifikasi:
$createUserScript = "Grant all privileges on {0}.* to '{1}'@'%' identified by '{2}';"
Contoh:
Buat database dengan pengguna menggunakan default:
.\CreateMySqlDatabase.ps1

Buat database baru dan tambahkan informasi string koneksi ke file c:\profiles\UserA.PublishSettingspengaturan penerbitan yang sudah ada :
.\CreateMySqlDatabase.ps1 -databaseName UserADb -databaseUsername UserADbUser -databaseUserPassword Passw0rd -databaseAdminUser root -databaseAdminPassword iis6!dfu -publishSettingSavePath C:\profiles -publishSettingFileName UserA.PublishSettings

Menyiapkan Aturan Delegasi untuk server menggunakan skrip AddDelegationRules
Skrip: AddDelegationRules.ps1
Deskripsi: Skrip ini dijalankan secara otomatis pada waktu penyiapan oleh penginstal selama penginstalan penuh, tetapi jika Anda tidak melakukan penginstalan penuh atau ingin memperbaiki aturan kapan saja, Anda dapat menjalankan kembali skrip AddDelegationRules ini.
Parameter:
| Nama | Deskripsi | Nilai Default | Catatan |
|---|---|---|---|
| elevatedUsername | Nama untuk akun pengguna yang akan diberikan akses tulis ke file applicationHost.config server. Pengguna ini akan digunakan sebagai pengguna run-as di appPoolPipeline, appPoolNetFx, dan aturan createApp. | WDeployUser | Hanya membuat pengguna Windows lokal dan tidak akan berfungsi jika konfigurasi bersama diaktifkan. Kata sandi untuk akun pengguna ini akan diatur ulang jika skrip dijalankan untuk kedua kalinya. |
| elevatedPassword | Dibuat secara otomatis jika tidak ditentukan. | [dibuat otomatis] | |
| adminUsername | Nama untuk akun pengguna Administrator yang akan digunakan sebagai pengguna run-as pada aturan recycleApp. | WDeployAdmin | Hanya membuat pengguna Windows lokal dan tidak akan berfungsi jika konfigurasi bersama diaktifkan. Kata sandi untuk akun pengguna ini akan diatur ulang jika skrip dijalankan untuk kedua kalinya. |
| adminPassword | Dibuat secara otomatis jika tidak ditentukan | [dibuat otomatis] | |
| ignorePasswordResetErrors | Beralih. Jika elevated/adminUsername mereferensikan akun yang ada, sakelar ini memungkinkan skrip untuk mengatur ulang kata sandi untuk akun tersebut. | [dihilangkan - mereset kata sandi pengguna tidak diizinkan] | Mereset kata sandi pengguna dapat mengakibatkan pengguna kehilangan akses ke data. Sakelar ini harus digunakan dengan hati-hati. Untuk informasi selengkapnya, lihat https://windows.microsoft.com/windows-vista/What-are-the-risks-of-resetting-a-password . Perhatikan juga bahwa kata sandi pengguna baru tidak disimpan dan tidak dapat diambil nanti. |