Android

วิธีการตั้งค่า apache โฮสต์เสมือนบนเดเบียน 9

Марафон на 400к рублей #2 1.4.6 classic new Perfect World

Марафон на 400к рублей #2 1.4.6 classic new Perfect World

สารบัญ:

Anonim

ในบทช่วยสอนนี้เราจะแนะนำคุณเกี่ยวกับวิธีการตั้งค่า Apache Virtual Hosts บน Debian 9

Apache Virtual Hosts ช่วยให้คุณสามารถโฮสต์มากกว่าหนึ่งโดเมนบนเครื่องเดียว เมื่อใช้โฮสต์เสมือนคุณสามารถระบุรูทเอกสารอื่น (ไดเรกทอรีที่มีไฟล์เว็บไซต์) สำหรับแต่ละโดเมนหรือโดเมนย่อยสร้างนโยบายความปลอดภัยแยกใช้ใบรับรอง SSL ที่แตกต่างกันและอีกมากมาย

แม้ว่าบทช่วยสอนนี้เขียนขึ้นสำหรับ Debian 9 แต่มีขั้นตอนเดียวกันกับการแจกแจงแบบ Debian ทั้งหมด

ข้อกำหนดเบื้องต้น

ตรวจสอบให้แน่ใจว่าคุณได้ทำตามข้อกำหนดเบื้องต้นต่อไปนี้ก่อนที่จะดำเนินการกับบทช่วยสอนนี้:

  • มีชื่อโดเมนที่ชี้ไปยังที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ ในบทช่วยสอนนี้เราจะใช้ example.com มี Apache ติดตั้งบนเซิร์ฟเวอร์ Debian ของคุณลงชื่อเข้าใช้ด้วยชื่อผู้ใช้ที่มีสิทธิ์ sudo

สร้างโครงสร้างไดเรกทอรี

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

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html

แต่ละโดเมนที่โฮสต์บนเซิร์ฟเวอร์ของเราจะมีการตั้งค่ารูทเอกสารเป็น /var/www/ /public_html /var/www/ /public_html

เริ่มต้นด้วยการสร้างไดเรกทอรีรากของเอกสารสำหรับโดเมนแรกของเรา example.com :

sudo mkdir -p /var/www/example.com/public_html

นอกจากนี้เราจะสร้างไฟล์ index.html ภายในไดเรกทอรีรากของเอกสารโดเมนที่จะแสดงเมื่อคุณเยี่ยมชมโดเมนในเบราว์เซอร์ของคุณ

เปิดโปรแกรมแก้ไขข้อความที่คุณชื่นชอบสร้างไฟล์ใหม่และวางลงในไฟล์ต่อไปนี้:

/var/www/example.com/public_html/index.html

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

เรากำลังเรียกใช้คำสั่งในฐานะผู้ใช้ sudo และไฟล์และไดเรกทอรีที่สร้างขึ้นใหม่เป็นของผู้ใช้รูท

เพื่อหลีกเลี่ยงปัญหาการอนุญาตใด ๆ เราจะเปลี่ยนความเป็นเจ้าของของไดเรกทอรีรากของเอกสารโดเมนและไฟล์ทั้งหมดภายในไดเรกทอรีนั้นเป็นผู้ใช้ apache ( www-data ):

sudo chown -R www-data: /var/www/example.com

สร้างโฮสต์เสมือน

บนระบบ Debian ไฟล์กำหนดค่า Apache Virtual Hosts จะอยู่ใน /etc/apache2/sites-available directory และสามารถเปิดใช้งานได้โดยการสร้างลิงค์สัญลักษณ์ไปยังไดเร็กทอรี /etc/apache2/sites-enabled

เปิดเท็กซ์เอดิเตอร์ที่คุณเลือกและสร้างไฟล์คอนฟิกูเรชัน Virtual Host พื้นฐานต่อไปนี้:

/etc/apache2/sites-available/example.com.conf

ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined

  • ServerName : โดเมนที่ควรตรงกับการกำหนดค่าโฮสต์เสมือนนี้ นี่ควรเป็นชื่อโดเมนของคุณ ServerAlias : โดเมนหรือโดเมนย่อยอื่น ๆ ทั้งหมดที่ควรตรงกับโฮสต์เสมือนนี้เช่นกันโดยปกติคือโดเมนย่อย www DocumentRoot : ไดเรกทอรีที่ Apache จะให้บริการไฟล์โดเมน Options : คำสั่งนี้ควบคุมคุณสมบัติของเซิร์ฟเวอร์ที่มีอยู่ในไดเรกทอรีเฉพาะ
    • -Indexes : ป้องกันรายการไดเรกทอรี FollowSymLinks : เมื่อเปิดใช้งานตัวเลือกนี้ Apache จะติดตามลิงก์สัญลักษณ์
    AllowOverride : ระบุว่าคำสั่งใดประกาศในไฟล์. .htaccess สามารถแทนที่คำสั่งกำหนดค่า ErrorLog , CustomLog : ระบุตำแหน่งสำหรับไฟล์บันทึก

คุณสามารถตั้งชื่อไฟล์กำหนดค่าโฮสต์เสมือนได้ตามที่คุณต้องการ แต่ขอแนะนำให้ใช้ชื่อโดเมนเป็นชื่อของไฟล์กำหนดค่า

ในการเปิดใช้งานไฟล์โฮสต์เสมือนใหม่ให้สร้างลิงก์สัญลักษณ์จากไฟล์โฮสต์เสมือนไปยังไดเรกทอรีที่ sites-enabled ซึ่ง Apache อ่านระหว่างการเริ่มต้น

ในระบบ Debian คุณสามารถเปิดใช้งานโฮสต์เสมือนโดยใช้สคริปต์ตัวช่วยชื่อ a2ensite :

sudo a2ensite example.com

ตัวเลือกอื่นคือสร้าง symlink ด้วยตนเองดังที่แสดงด้านล่าง:

sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/

เมื่อเปิดใช้งานการกำหนดค่าทดสอบว่าไวยากรณ์ถูกต้องโดยการพิมพ์:

sudo apachectl configtest

หากไม่มีข้อผิดพลาดคุณจะเห็นผลลัพธ์ต่อไปนี้:

Syntax OK

รีสตาร์ทเซอร์วิส apache2 เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart apache2

หากต้องการตรวจสอบว่าทุกอย่างทำงานได้ตามปกติให้เปิด http://example.com ในเบราว์เซอร์ที่คุณชื่นชอบแล้วคุณจะเห็นสิ่งนี้:

ข้อสรุป

ในบทช่วยสอนนี้คุณเรียนรู้วิธีสร้างการกำหนดค่า Apache Virtual Host เพื่อโฮสต์หลายโดเมนบนเซิร์ฟเวอร์ Debian เครื่องเดียว คุณสามารถทำซ้ำขั้นตอนเดียวกันเพื่อสร้างโฮสต์เสมือนเพิ่มเติมสำหรับโดเมนอื่นของคุณ

apache debian

โพสต์นี้เป็นส่วนหนึ่งของวิธีการติดตั้ง LAMP Stack บน Debian 9 series

โพสต์อื่น ๆ ในชุดนี้:

•วิธีการติดตั้ง Apache บน Debian 9 •วิธีการติดตั้ง PHP บน Debian 9 •วิธีการตั้งค่า Apache โฮสต์เสมือนบน Debian 9 •วิธีการติดตั้ง MariaDB บน ​​Debian 9 • Secure Apache ด้วย Let's Encrypt บน Debian 9