ค้นหาเว็บไซต์

ติดตั้งและกำหนดค่าบริการเว็บ (Apache Virtual Hosting) บนเซิร์ฟเวอร์ Zentyal - ตอนที่ 9


ขอบเขตของบทช่วยสอนนี้คือการสาธิตวิธีที่ เซิร์ฟเวอร์ Zentyal 3.4 สามารถใช้เป็น แพลตฟอร์มเว็บ กับหลายเว็บไซต์ (โดเมนย่อย) โดยใช้ Apache Virtual Hosts .

Zentyal 3.4 ใช้แพ็คเกจ Apache (หรือที่เรียกว่า httpd ) เนื่องจากเว็บเซิร์ฟเวอร์เป็นเว็บเซิร์ฟเวอร์ที่ใช้มากที่สุดบนอินเทอร์เน็ตในปัจจุบันและเป็นโอเพ่นซอร์สที่สมบูรณ์

โฮสติ้งเสมือนแสดงถึงความสามารถของ Apache ในการให้บริการเว็บไซต์มากกว่าหนึ่งแห่ง (โดเมนหรือโดเมนย่อย) บนเครื่องหรือโหนดเดียว ซึ่งเป็นกระบวนการที่โปร่งใสอย่างสมบูรณ์สำหรับผู้ใช้ปลายทางซึ่งใช้ IP หรือ vhost หลายรายการ

อ่านเพิ่มเติม: โฮสติ้งเสมือนของ Apache: โฮสติ้งเสมือนแบบใช้ IP และตามชื่อ

ความต้องการ

คู่มือการติดตั้ง Zentyal เดิม

ขั้นตอนที่ 1: ติดตั้ง Apache เว็บเซิร์ฟเวอร์

1. เข้าสู่ระบบ Zentyal 3.4 Web Administration Tools โดยชี้เบราว์เซอร์ไปยังที่อยู่ IP หรือชื่อโดเมน Zentyal ( https://domain_name )

2. ไปที่ การจัดการซอฟต์แวร์ -> ส่วนประกอบ Zentyal และเลือก เว็บเซิร์ฟเวอร์

3. กดปุ่ม ติดตั้ง และยอมรับแพ็คเกจ Certification Authority ด้วย (จำเป็นสำหรับใบรับรอง SSL ที่ใช้สำหรับการเข้ารหัสการเชื่อมต่อ https)

4. หลังจากการติดตั้งเสร็จสิ้น ให้ไปที่ สถานะโมดูล เลือก เว็บเซิร์ฟเวอร์ ยอมรับข้อความแจ้ง เปิดใช้งาน แล้วกด บันทึก เพื่อใช้การเปลี่ยนแปลงใหม่

ข้อความแจ้ง เปิดใช้งาน จะแสดงรายละเอียดบางอย่างเกี่ยวกับแพ็คเกจและไฟล์การกำหนดค่าที่จะแก้ไขโดย Zentyal

ในตอนนี้ Apache Web Server ได้รับการติดตั้งและใช้งานได้แล้ว แต่จนถึงขณะนี้มีเพียงการกำหนดค่าเริ่มต้นเท่านั้น

ขั้นตอนที่ 2: สร้างโฮสต์เสมือนและแก้ไขการกำหนดค่า DNS

ในการกำหนดค่านี้ เราต้องการเพิ่ม โฮสต์เสมือน บน Apache เพื่อให้ที่อยู่สุดท้ายของเราถูกส่งเป็นโดเมนย่อย เช่น http://cloud.mydomain.com แต่ ปัญหาคือโมดูล Zentyal 3.4 Apache และโมดูล DNS จะไม่ทำงานด้วยเหตุผลบางประการกับโฮสต์เสมือนบน IP ของระบบ

โฮสต์เสมือนที่สร้างจาก โมดูลเว็บ จะถูกต่อท้ายกับเซิร์ฟเวอร์ DNS เป็นชื่อโดเมนใหม่ ไม่เหมือนโฮสต์ใหม่ บันทึก A มีเคล็ดลับบางประการในการตั้งค่า โฮสต์เสมือนบน Zentyal วิธีหนึ่งคือการใช้ อินเทอร์เฟซ IP เสมือน

โชคดีที่อีกวิธีหนึ่งที่สามารถแก้ไขปัญหานี้ได้คือการใช้เทคนิคการกำหนดค่าบางอย่างใน โมดูล Zentyal DNS

5. สำหรับการเริ่มต้น ให้เพิ่มโฮสต์เสมือน ไปที่ โมดูลเว็บเซิร์ฟเวอร์ -> โฮสต์เสมือน -> เพิ่มใหม่

6. ทำเครื่องหมาย เปิดใช้งาน ป้อนชื่อสำหรับโฮสต์เสมือนนี้ ( ผนวกชื่อโดเมนทั้งจุด ) และกด เพิ่ม

7. หลังจากเพิ่มโฮสต์และอยู่ในรายการ โฮสต์เสมือน ให้กดปุ่ม บันทึก ด้านบนเพื่อใช้การเปลี่ยนแปลง

ปัญหาหลักคือโดเมนย่อยที่สร้างขึ้นใหม่ (โฮสต์เสมือน) ไม่สามารถใช้งานได้ เนื่องจากเซิร์ฟเวอร์ DNS ยังไม่มีบันทึกชื่อโฮสต์ A

การเรียกใช้คำสั่ง ping บนโดเมนย่อยนี้มีคำตอบเชิงลบเหมือนกัน

8. เพื่อแก้ไขปัญหานี้ ให้ไปที่โมดูล DNS และคลิกที่ ชื่อโฮสต์ ใต้โดเมนที่คุณระบุไว้

ดังที่คุณเห็นได้อย่างชัดเจนว่าโฮสต์เสมือนที่สร้างขึ้น (หรือโดเมนย่อย) นั้นมีอยู่แล้ว และจำเป็นต้องเพิ่มที่อยู่ IP

เนื่องจากโฮสติ้งเสมือนได้รับการกำหนดค่าสำหรับ Apache เพื่อให้บริการไฟล์เว็บจากโหนด Zentyal โมดูล DNS จึงจำเป็นต้องมีบันทึกชื่อโฮสต์ A เพื่อชี้ไปที่ Zentyal IP เดียวกัน (การตั้งค่าที่ Zentyal ไม่อนุญาต)

Zentyal 3.4 DNS ไม่อนุญาตให้ใช้ที่อยู่ IP ของระบบที่กำหนดกับชื่อโฮสต์ที่แตกต่างกัน (ชื่อโฮสต์ DNS หลายระเบียน A บน IP เดียวกัน)

9. เพื่อเอาชนะสถานการณ์ที่ไม่พึงประสงค์นี้ เราจะใช้กลอุบายตามบันทึก DNS CNAME (นามแฝง) เพื่อให้ใช้งานได้ ให้กำหนดค่าต่อไปนี้

  1. ลบบันทึกชื่อโฮสต์ DNS ที่เพิ่งเพิ่มลงในโดเมนของคุณ

10. ไปที่บันทึกชื่อโฮสต์ Zentyal DNS FQDN ของคุณ กดปุ่ม Alias จากนั้นจึงคลิกปุ่ม ADD NEW

ป้อนชื่อเดียวกันกับที่ให้ไว้ใน Apache Virtual Host (ไม่มีโดเมนจุด) ในช่อง Alias กด ADD และ บันทึกการเปลี่ยนแปลง

11. ตอนนี้บันทึก DNS ของคุณควรทำงานได้อย่างสมบูรณ์และชี้ไปที่ Apache Virtual Host ซึ่งจะให้บริการหน้าเว็บที่โฮสต์บนคำสั่ง DocumentRoot เป็นการแลกเปลี่ยน (/ srv/www/your_virtual_host_name ) บน Zentyal

12. เพื่อทดสอบการกำหนดค่า ให้เปิดเบราว์เซอร์และป้อน URL ชื่อโฮสต์เสมือนของคุณ (โดเมนย่อย) โดยใช้โปรโตคอล http

คุณยังสามารถออกคำสั่ง ping จากระบบอื่นในเครือข่ายของคุณด้วยชื่อโดเมนย่อยได้

ขณะนี้ Apache Web Server ได้รับการกำหนดค่าและเปิดใช้งานเพื่อแสดงหน้าเว็บบนพอร์ต http ที่มีความปลอดภัยน้อยกว่า 80 แต่เราต้องการเพิ่มเลเยอร์ที่ปลอดภัยระหว่างเซิร์ฟเวอร์และไคลเอนต์ ให้ทำตามขั้นตอน < b>#3 ตามคำแนะนำด้านล่าง

ขั้นตอนที่ 3: สร้าง SSL สำหรับ Apache

หากต้องการเปิดใช้งานการเข้ารหัส SSL (Secure Sockets Layer) บน Zentyal 3.4 จะต้องกลายเป็น CA (ผู้ออกใบรับรอง) และ ออกใบรับรองดิจิทัล คีย์สาธารณะและคีย์ส่วนตัวที่จำเป็นสำหรับเซิร์ฟเวอร์และไคลเอนต์ในการแลกเปลี่ยนข้อมูลผ่านช่องทางที่ปลอดภัย

13. ไปที่โมดูล ผู้ออกใบรับรอง -> ทั่วไป

14. ใน Authority Certificate ให้ป้อนการตั้งค่าต่อไปนี้ จากนั้นกด Create

  1. ชื่อองค์กร : ชื่อโดเมนของคุณ ( ในกรณีนี้ โดเมนคือ “mydomain.com ” )
  2. รหัสประเทศ : รหัสประเทศของคุณ ( 2-3 ตัวอักษร )
  3. เมือง : ที่ตั้งหลักขององค์กรของคุณ
  4. สถานะ : เว้นว่างไว้
  5. วันหมดอายุ : 3650 – โดยค่าเริ่มต้น ( 10 ปี )

15. หลังจากสร้าง ใบรับรองสิทธิ์ หลักแล้ว เราจะออกใบรับรองใหม่สำหรับโฮสต์เสมือนของเราด้วยการตั้งค่าต่อไปนี้

  1. Common Name : ป้อนชื่อโฮสต์เสมือนหรือเซิร์ฟเวอร์ FQDN (ในกรณีนี้คือ cloud.mydomain.com )
  2. วันหมดอายุ : 3650.
  3. ชื่อทางเลือกของหัวเรื่อง : พารามิเตอร์ที่พบบ่อยที่สุดในที่นี้คือที่อยู่อีเมลของคุณ (email:[email )

16. หลังจากสร้างใบรับรองแล้ว คุณสามารถดาวน์โหลด เพิกถอน หรือต่ออายุได้

17. ขั้นตอนต่อไปคือการเชื่อมโยงใบรับรองนี้กับ Apache Service ไปที่ ผู้ออกใบรับรอง -> ใบรับรองบริการ อีกครั้ง และไฮไลต์ โมดูลเว็บเซิร์ฟเวอร์

18. บน โมดูลเซิร์ฟเวอร์เว็บ เลือก เปิดใช้งาน จากนั้นกดไอคอน การดำเนินการ เพื่อแก้ไขใบรับรอง

19. ใน Common Name ให้ป้อนชื่อที่สร้างไว้ก่อนหน้าในขั้นตอน #15 ( Common Name คือ Certificate Name ) ทำเครื่องหมายที่ Enable อีกครั้ง กดปุ่ม Change จากนั้นกดด้านบน บันทึกการเปลี่ยนแปลง เพื่อใช้การตั้งค่าใหม่

ขณะนี้ใบรับรองของคุณถูกสร้างขึ้นและเชื่อมโยงกับ บริการเว็บเซิร์ฟเวอร์ แต่ยังไม่สามารถใช้งานได้บน โฮสต์เสมือน เนื่องจากไม่ได้เปิดใช้งานโปรโตคอล HTTPS บน เว็บเซิร์ฟเวอร์

ขั้นตอนที่ 4: เปิดใช้งาน Apache HTTPS

ในการจัดการ Zentyal 3.4 SSL ดำเนินการโดยบริการ HAProxy แต่เรายังจำเป็นต้องเปิดใช้งานไฟล์การกำหนดค่า Apache SSL และคำสั่งพอร์ต

20. ไปที่ เว็บเซิร์ฟเวอร์ –> เลือก Enabled –Port 443 (พอร์ต SSL เริ่มต้น) บนการตั้งค่า HTTPS Listening Ports และกดปุ่ม Change

21. ไปที่ด้านล่างสุดของหน้าและคลิกที่ปุ่ม การดำเนินการ จาก โฮสต์เสมือน ที่คุณระบุไว้ เพื่อแก้ไขการตั้งค่า SSL

22. สำหรับการสนับสนุน SSL ให้เลือกตัวเลือก อนุญาต SSL คลิก เปลี่ยน จากนั้นกด บันทึก การเปลี่ยนแปลงด้านบน

23. ตอนนี้ Apache จะให้บริการโฮสต์เสมือน “cloud.mydomain.com ” บนพอร์ต http เริ่มต้นทั้ง 80 และ 443

24. ทำซ้ำขั้นตอนข้างต้น คุณสามารถแปลง Zentyal เป็นกล่อง เว็บโฮสติ้ง และเพิ่มโดเมนหรือโดเมนย่อยได้มากเท่าที่ต้องการด้วย Apache Virtual Host ตามต้องการ และ กำหนดค่าทั้งหมดให้ใช้โปรโตคอลการสื่อสาร HTTP และ HTTPS โดยใช้ใบรับรองที่ออกก่อนหน้านี้

แม้ว่าอาจจะไม่มีการกำหนดค่าที่ซับซ้อนซึ่งแสดงถึงแพลตฟอร์มเว็บโฮสติ้งจริง (บางส่วนสามารถสร้างได้จากบรรทัดคำสั่งและใช้ไฟล์ Apache .htaccess ) Zentyal 3.4 สามารถใช้ได้ โฮสติ้งสำหรับเว็บไซต์ขนาดกลางและทำให้การแก้ไขและกำหนดค่าบริการเว็บง่ายขึ้นอย่างมาก