Tag Archive Internet Information Services

Byphunsanit

IIS: การเตรียม site (พื้นที่) สำหรับเว็บ

บางครั้งก็ต้องเซ็ตให้ server เดียวกันมี domain หลายตัว หรือสร้างเว็บที่มีหลาย port ตัว iis ก็ทำได้เหมือน apache เช่นกัน

  1. สร้าง folder ขึ้นมาใหม่ใน C:\inetpub\wwwroot เช่น C:\inetpub\wwwroot\documentRoot หรือไว้ที่อื่นก็ได้
  2. เซ็ต folder permission ให้ user ที่เหมาะสมสามารถเขียนและแก้ไขไฟล์ได้
  3. เปิดโปรแกรม Internet Information Services (IIS) Manager
  4. คลิกขวาที่ Sites เลือก add website
    Site name
    ให้ใส่ชื่อเว็บไซต์ เช่น panpan UAT
    Application pool:
    เลือก envalument ที่สามารถ run php ได้เช่น PHP 7.3 UAT หรือ DefaultAppPool
    Physical path
    ให้ใส่ path folder ที่สร้างในขั้นตอนที่ 1 หรือชี้ไป folder public เช่น C:\www\panpan_v1_UAT\public
    IP address
    ถ้าไม่ระบุใช้ใช้ ALL Unassigned
    Port
    เลขตั้งแต่ 0 – 65536 ที่นิยมคือ 80 และ 8080
  5. คลิก OK
  6. ใน message box คลิก yes
Byphunsanit

IIS: การตั้ง Virtual Directory

iis เดิมมีเว็บที่เป็น c# อยู่แล้วและไม่สะดวกที่จะเพิ่ม domain name เข้าไปใหม่ จะตั้งเป็น site ให้ใช้อีก port ก็ติด firewall ที่ยอมให้ใช้ port 80 เท่านั้น และเพื่อความปลอดภัย framework อย่าง laravel ไม่ควรวาง folder ให้สามารถเรียกใช้ php ไฟล์อื่นได้นอกจาก /public/index.php จึงเลือกที่ใช้วิธี Virtual Directory คือ การสร้าง folder ใน url ให้ชี้ไปอีก folder ที่อยู่นอก C:\inetpub\wwwroot

การตั้ง Virtual Directory

  1. เปิดโปรแกรม Internet Information Services (IIS) Manager
  2. คลิกขวาที่ site ที่ต้องการ เช่น Default Web Site
  3. Add Virtual Directory
    Alias
    คือ folder จำลอง เช่น punpun_uat
    Physical path:
    คือ path จริง ที่ทำ shortcut ชี้ไปหา เช่น C:\www\punpun_v1_uat
  4. (ไม่จำเป็น) คลิกที่ site หรือ server แล้ว restart
  5. ทดสอบโดยเรียก url เช่น http://localhost/punpun_uat

วิธีนี้จะมีข้อดีคือ

  1. สามารถติดตั้งหลายเว็บ โดยใช้ domain และ port เดียวกันได้
  2. สามารถควบคุมการเข้าถึงไฟล์ที่ไม่ต้องการได้เช่น ถ้าวาง file ของ larave ไว้ใน C:\inetpub\wwwroot ตามปกติ ผู้ไม่หวังดีสามารถเรียกใช้ไฟล์อื่นๆ นอกจากไฟล์ /public/index.php ได้โดยตรงเช่น ไฟล์ php ที่สามารถ upload ไฟล์ได้โดยไม่มีการตรวจสอบสิทธิทำให้ไม่ปลอดภัย
  3. สามารถรัน code เดียวกันโดยใช้ php หลาย version หรือมี config คนละแบบได้โดยใช้วิธี การติดตั้ง PHP หลายเวอร์ชั่น บน IIS
  4. ซ่อน หรือย้าย folder ที่เก็บงานไปไว้ไดร์อื่น