Bagikan melalui


CGI <cgi>

Gambaran Umum

Elemen mengonfigurasi <cgi> pengaturan default untuk aplikasi Common Gateway Interface (CGI) untuk Internet Information Services (IIS) 7. Pengaturan ini menentukan lingkungan yang akan digunakan IIS 7 saat meluncurkan proses CGI. Misalnya, atribut createCGIWithNewConsole dan createProcessAsUser menentukan bagaimana IIS 7 akan meluncurkan aplikasi CGI, dan atribut batas waktu menentukan berapa lama IIS akan membiarkan aplikasi CGI berjalan sebelum mengakhiri proses.

CGI terkadang dianggap sebagai lingkungan aplikasi warisan. Karena overhead pemrosesan yang terkait dengan peluncuran aplikasi CGI sebagai proses terpisah, teknologi seperti Modul HTTP, ekstensi ISAPI, ASP/ASP.NET, dan FastCGI lebih disukai daripada CGI untuk pengembangan aplikasi.

Catatan

Lingkungan CGI tidak diinstal secara default; namun, menginstal lingkungan CGI juga menginstal fungsionalitas yang diperlukan untuk menggunakan aplikasi FastCGI. Untuk informasi selengkapnya tentang menggunakan FastCGI di IIS 7, lihat <elemen fastCgi> .

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <cgi> tidak dimodifikasi dalam IIS 10.0.
IIS 8.5 Elemen <cgi> tidak dimodifikasi dalam IIS 8.5.
IIS 8.0 Elemen <cgi> tidak dimodifikasi dalam IIS 8.0.
IIS 7.5 Elemen <cgi> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen ini <cgi> diperkenalkan di IIS 7.0.
IIS 6.0 Atribut untuk <cgi> elemen menggantikan properti metabase IIS 6.0 berikut: CreateProcessAsUser, CreateCGIWithNewConsole, dan CGITimeout.

Siapkan

Elemen <cgi> ini tidak disertakan dalam penginstalan default IIS 7 dan yang lebih baru. Untuk menggunakan lingkungan CGI, Anda harus terlebih dahulu menginstal layanan peran CGI. Proses penginstalan mendaftarkan layanan peran Common Gateway Interface (CGI) di <globalModules> elemen dan <modules> .

Windows Server 2012 atau Windows Server 2012 R2

  1. Pada taskbar, klik Manajer Server.
  2. Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur.
  3. Di wizard Tambahkan Peran dan Fitur , klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
  4. Pada halaman Peran Server , perluas Server Web (IIS), perluas Server Web, perluas Pengembangan Aplikasi, lalu pilih CGI. Klik Berikutnya.
    Cuplikan layar halaman Peran Server. Opsi C G I dipilih dan disorot. .
  5. Pada halaman Pilih Fitur , klik Berikutnya.
  6. Pada halaman Konfirmasi pilihan instalasi, klik Instal.
  7. Pada halaman Hasil , klik Tutup.

Windows 8 atau Windows 8.1

  1. Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
  3. Perluas Layanan Informasi Internet, perluas World Wide Web Services, perluas Fitur Pengembangan Aplikasi, lalu pilih CGI.
    Cuplikan layar pohon navigasi Fitur Pengembangan Aplikasi. C G I dipilih dan disorot.
  4. Klik OK.
  5. Klik Tutup.

Windows Server 2008 atau Windows Server 2008 R2

  1. Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
  2. Di panel hierarki Manajer Server , perluas Peran, lalu klik Server Web (IIS).
  3. Di panel Server Web (IIS), gulir ke bagian Layanan Peran , lalu klik Tambahkan Layanan Peran.
  4. Pada halaman Pilih Layanan Peran dari Wizard Tambahkan Layanan Peran, pilih CGI, lalu klik Berikutnya.
    Cuplikan layar pohon navigasi Wizard Tambahkan Layanan Peran. C G I dipilih dan disorot.
  5. Pada halaman Konfirmasi Pilihan Penginstalan , klik Instal.
  6. Pada halaman Hasil , klik Tutup.

Windows Vista atau Windows 7

  1. Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
  3. Perluas Layanan Informasi Internet, lalu pilih CGI, lalu klik OK.
    Cuplikan layar pohon navigasi Layanan Informasi Internet. Fitur Pengembangan Aplikasi diperluas. C G I dipilih dan disorot.

Bagaimana Caranya

Cara mengonfigurasi pengaturan CGI untuk situs

  1. Buka Pengelola Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
  2. Di panel Koneksi , perluas nama server, perluas Situs, lalu navigasikan ke situs Web atau aplikasi Web yang ingin Anda konfigurasi.

  3. Di panel Beranda situs atau aplikasi, klik dua kali CGI.
    Cuplikan layar panel Beranda. Ikon C G I disorot.

  4. Di panel CGI , konfigurasikan pengaturan yang diperlukan, lalu klik Terapkan di panel Tindakan .
    Cuplikan layar panel C G I. Dalam kotak Tampilan, Nama Akrab dipilih. Kategori Perilaku dan Keamanan ditampilkan.

Konfigurasi

Atribut

Atribut Deskripsi
createCGIWithNewConsole Atribut Boolean opsional.

Menentukan apakah aplikasi CGI berjalan di konsolnya sendiri.

Catatan: Jika nilai diatur ke true, setiap aplikasi CGI membuat konsol baru saat aplikasi dimulai. Nilai false menunjukkan bahwa aplikasi CGI harus berjalan tanpa konsol.

Nilai defaultnya adalah false.
createProcessAsUser Atribut Boolean opsional.

Menentukan apakah proses CGI dibuat dalam konteks sistem atau dalam konteks pengguna yang meminta.

Nilai defaultnya adalah true.
timeout Atribut timeSpan opsional.

Menentukan waktu habis untuk aplikasi CGI.

Nilai defaultnya adalah 00:15:00 (15 menit)

Elemen Anak

Tidak ada.

Sampel Konfigurasi

Sampel konfigurasi berikut menentukan bahwa setiap aplikasi CGI membuat konsol baru ketika aplikasi dimulai, bahwa proses CGI dibuat dalam konteks pengguna yang meminta, dan bahwa waktu habis untuk aplikasi CGI adalah 20 menit.

<configuration>
   <system.webServer>
      <cgi createCGIWithNewConsole="true"
         createProcessAsUser="false"
         timeout="00:20:00" />
   </system.webServer>
</configuration>

Kode Sampel

Sampel kode berikut menentukan bahwa setiap aplikasi CGI membuat konsol baru ketika aplikasi dimulai, bahwa proses CGI dibuat dalam konteks pengguna yang meminta, dan bahwa waktu habis untuk aplikasi CGI adalah 20 menit

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/cgi /createCGIWithNewConsole:"True" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/cgi /createProcessAsUser:"False" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/cgi /timeout:"00:20:00" /commit:apphost

Catatan

Anda harus memastikan untuk mengatur parameter penerapan ke apphost saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection cgiSection = config.GetSection("system.webServer/cgi", "Default Web Site");

         cgiSection["createCGIWithNewConsole"] = true;
         cgiSection["createProcessAsUser"] = false;
         cgiSection["timeout"] = TimeSpan.Parse("00:20:00");

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim cgiSection As ConfigurationSection = config.GetSection("system.webServer/cgi", "Default Web Site")

      cgiSection("createCGIWithNewConsole") = True
      cgiSection("createProcessAsUser") = False
      cgiSection("timeout") = TimeSpan.Parse("00:20:00")

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var cgiSection = adminManager.GetAdminSection("system.webServer/cgi", "MACHINE/WEBROOT/APPHOST/Default Web Site");

cgiSection.Properties.Item("createCGIWithNewConsole").Value = true;
cgiSection.Properties.Item("createProcessAsUser").Value = false;
cgiSection.Properties.Item("timeout").Value = "00:20:00";

adminManager.CommitChanges();

Vbscript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set cgiSection = adminManager.GetAdminSection("system.webServer/cgi", "MACHINE/WEBROOT/APPHOST/Default Web Site")

cgiSection.Properties.Item("createCGIWithNewConsole").Value = True
cgiSection.Properties.Item("createProcessAsUser").Value = False
cgiSection.Properties.Item("timeout").Value = "00:20:00"

adminManager.CommitChanges()