Ved hjelp av WebDAV med IIS


Den tradisjonelle metoden for å laste opp innhold til en webserver er File Transfer Protocol (FTP), men ved hjelp av denne tilnærmingen har sine ulemper:

  • Bruke FTP krever at du åpne flere porter på ytre brannmuren, og dette kan øke angrepsflaten av nettverket ditt og gjøre det mer utsatt for inntrengning av angripere. Dette er åpenbart uønsket fra perspektivet til å holde nettverket sikkert.
  • FTP har ingen fil låsemekanisme, slik at det er mulig for to brukere å laste opp ulike versjoner av samme fil samtidig forårsaker en for å bli overskrevet. Dette kan bety tapte tid på feilsøking hvorfor en opplastet fil er forskjellig fra hva du forventer.
  • betyr FTP tilnærming du har til å redigere innholdet lokalt på klienten. Med andre ord, å redigere en side som allerede er på webserveren du må laste den ned til klienten, redigere den der, og deretter laste det opp igjen til webserveren. Dette er en tidskrevende og lite effektiv måte å styre innholdet.

    Løsningen på disse problemene er WebDAV, en protokoll som brukes for publisering og administrasjon av innhold til webservere. WebDAV er en utvidelse av HTTP /1.1-protokollen beskrevet i RFC 2518 og 3253. WebDAV overvinner de tre problemene som er beskrevet ovenfor som følger:

    • WebDAV bruker port 80, den samme porten som brukes av HTTP for nettilgang . Så bruker WebDAV betyr at du ikke trenger å åpne noen ekstra porter i brannmuren.
    • WebDAV kan bare én bruker endre en fil om gangen, mens du lar flere brukere til å lese den. Dette gjør at filer som skal låses mens de blir redigert, forebygge uventede endringer oppstår.
    • WebDAV lar deg redigere filer på serveren i stedet for å måtte laste dem først til klienten. Redigere filer eksternt ved hjelp av WebDAV er like enkelt som om de var lokalt til stede, og hele prosessen er transparent for innholdet produsent.

      La oss gå gjennom de nødvendige skritt for å ha WebDAV aktivert på en IIS-maskin og da vise hvordan du publiserer og eksternt endre innhold ved hjelp av WebDAV. For min web server jeg bruker en Windows Server 2003 maskin med IIS 6 installert, og for enkelhets skyld vil vi publisere innhold til Default Web Site.

      Installer og Aktiver WebDAV på Server

      Først må vi installere WebDAV på serveren. Merk at når du fremme et Windows Server 2003 maskin til rollen Application Server, installerer det ulike IIS 6 komponenter, men WebDAV er ikke en av disse komponentene som er installert. Dette er forskjellig fra tidligere Windows 2000 Server plattform hvor du installerer IIS 5 installeres automatisk WebDAV også. Slik installerer WebDAV på IIS 6 maskin, bruke Legg til eller fjern programmer i Kontrollpanel og kjøre komponenter veiviseren for Windows. Du kan finne WebDAV henhold Application Server | Internet Information Services | World Wide Web Service | WebDAV Publishing:


      Når du har installert WebDAV, må du sørge for at den aktiveres. For å bekrefte dette, sjekk WebDAV alternativet under Webtjenesteutvidelser node i IIS Manager:


      Merk at når du lar WebDAV forlengelse (httpext.dll) du er slik at det for alle nettsteder på serveren din . IIS dessverre ikke lar deg aktivere WebDAV på en per-nettsted basis.

      Aktiver WebDAV på Client

      Det neste trinnet er å aktivere WebDAV på klientmaskinene som skal brukes til å opprette og administrere innhold på nettstedet ditt. Windows XP har en innebygd WebDAV-klient som ikke trenger å bli installert, kun aktivert. For å aktivere WebDAV på XP, åpne tjenester konsollen henhold Administrative verktøy og finne WebClient-tjenesten og dobbeltklikk på denne tjenesten for å åpne Egenskaper sheet:


      Endre Oppstartstype til Automatisk, klikk deretter på Start-knappen for å få tjenesten kjører. Du er klar til å starte publisering av innhold til webserveren.

      Tips:
      WebDAV er også støttet av Windows 2000 med Internet Explorer 5 eller høyere installert, og det er også støttet av Office 2000 eller senere. Noen av disse tidligere plattformene ikke fullt ut støtter alle funksjonene til WebDAV som støtter Windows XP Windows Server 2003 og men.

      Klar Web Server for publisering

      Nå la oss gjøre litt mer forberedelse av vår web-server for å få den klar for publisering av innhold fra klienten. Først vil vi opprette en ny virtuell katalog hvor vi skal sette vårt innhold. Jeg opprettet en lokal virtuell katalog som heter budsjetter, som er et alias til C: \\ Finance katalog på webserveren:


      Tips:
      Å lære å opprette og konfigurere virtuelle kataloger på en IIS web server, se min tidligere artikkel som heter Opprette og konfigurere Web Sites i Windows Server 2003 her på WindowsNetworking.com.

      Nå skal konfigurere nett tillatelser for denne virtuelle katalogen slik at brukerne kan publisere innhold. Dette gjøres på Virtual Directory kategorien i Egenskaper arket for den virtuelle katalogen:


      Som du ser av figuren, som standard bare Les tillatelse er aktivert for den virtuelle katalogen. Dette vil ikke gjøre som det betyr at brukere vil kunne lese innholdet i katalogen, men ikke laste opp eller redigere innhold. For å publisere innhold ved hjelp av WebDAV, bør du aktivere følgende web-tillatelsene i katalogen:


        Les - lar brukerne lese hva som har blitt publisert til serveren
      • Write - lar brukerne laste opp nytt innhold til server og redigere innhold på serveren
      • Directory oppføring - lar brukere vise en liste over publiserte filer på serveren, slik at de kan velge den de ønsker å vise eller redigere.

        Legg merke til at aktivering Write tillatelse på den virtuelle katalogen kan utgjøre et sikkerhetshull på webserveren din, som Write web tillatelse tillater alle å laste opp innhold til serveren din. Det er derfor svært viktig at du fyller den neste og siste trinn i prosedyren, nemlig konfigurere NTFS-tillatelser på webserveren til å begrense hvem som har tilgang til innholdet katalogen. For å gjøre dette, åpner du Windows Utforsker åpner Egenskaper dokument for din innholdskatalog (C: \\ Finance) og velg fanen Sikkerhet:


        Legg merke til at brukergruppen har lese, lese & Execute, og Vise mappeinnhold. Dette er nødvendig for WebDAV brukere skal kunne skrive og endre innholdet på webserveren. Det er også to ekstra spesielle tillatelser som brukergruppen har:

        • Opprett Files /skrive data
        • Lag mapper /tilføye data

          Disse tillatelsene også er nødvendig for WebDAV publisering, så ikke endre dem.

          Siden brukergruppen her er en lokal gruppe (webserveren er medlem server som tilhører et domene) sitt medlemskap inkluderer Domain brukergruppen, så dette betyr alle brukere i domenet er autorisert til å publisere innhold til serveren din ved hjelp av WebDAV. Hvis dette ikke er hva du ønsker, og deretter fjerne ACE for gruppen Brukere fra ACL for innholdet katalog i figuren ovenfor og legge til en annen gruppe hvis medlemmer inneholder kun de brukerne som får lov til å publisere, så gi denne nye gruppen samme tillatelsene som brukere har ovenfor.

          Ett tips om tillatelser:
          Hvis webserveren er en offentlig vendt ett (bosatt på DMZ) på Internett, bør du legge til Internet gjestekonto (IUSR_servername) til ACL for din innholdskatalog og tildele denne gruppen nekte skrive tillatelse. På den måten vil anonyme brukere på Internett kunne lese innholdet i katalogen, men vil ikke være i stand til å endre den.

          Publisering innhold ved hjelp av WebDAV

          La oss prøve ut vårt oppsett og se om det fungerer. På en XP klientmaskin har jeg en katalog som heter C: \\ Stuff med fire HTML-filer i det:


          For å publisere disse filene til min web server, jeg velger Fil | Åpne i Internet Explorer på klienten og skriv inn nettadressen til den virtuelle katalogen, som er http: //server /Budsjetter hvor "server" kan være navnet, IP-adresse eller DNS-navnet til min web server. Nøkkelen her er å velge avkrysningsruten «Åpne som Web Folder" da dette vil gjøre meg å bruke WebDAV for publisering til målet mappe på serveren:


          Når web mappen åpnes på den eksterne serveren, ser det slik ut:


          Nå velger jeg rett og slett de fire HTML-filer i min C: \\ Stuff vindu og dra dem inn i mitt åpne nettmappe, og WebDAV gjør sitt magi. For å verifisere at filene har blitt publisert, kan jeg åpne den samme URL http: //server /budsjetter igjen i Internet Explorer, men denne gangen som en vanlig nettside (dvs ikke velg "Åpne som Web Folder" alternativet). Her er resultatet:


          Et siste tips:
          hvis jeg trenger å åpne denne nettmappe ofte til å publisere innhold, kan jeg bruke Legg til nettverkssted i Mine nettverkssteder for å skape en snarvei til http: //server /Budsjetter web mappe, så bare kopiere filer fra min lokale Stuff mappen til web-mappen på den eksterne maskinen. Hvis du prøver dette vil du se at du selv kan bruke Notepad åpne og redigere publiserte sider direkte på web-serveren.