Android

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

How to add an Apache 2 Virtual Host in Ubuntu Server

How to add an Apache 2 Virtual Host in Ubuntu Server

สารบัญ:

Anonim

ในบทช่วยสอนนี้เราจะให้คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการตั้งค่า Apache Virtual Hosts บน Ubuntu 18.04

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

แม้ว่าบทช่วยสอนนี้เขียนขึ้นสำหรับ Ubuntu 18.04 Bionic Beaver ขั้นตอนเดียวกันสามารถใช้กับ Ubuntu 16.04 Xenial Xerus

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

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

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

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

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

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── 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

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

ตามค่าเริ่มต้นในระบบ Ubuntu ไฟล์กำหนดค่า 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 : ตัวเลือกนี้จะบอกให้เว็บเซิร์ฟเวอร์ของคุณติดตามลิงก์สัญลักษณ์
    AllowOverride : ระบุว่าคำสั่งใดประกาศในไฟล์. .htaccess สามารถแทนที่คำสั่งกำหนดค่า ErrorLog , CustomLog : ระบุตำแหน่งสำหรับไฟล์บันทึก

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

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

วิธีที่ง่ายที่สุดในการเปิดใช้งานโฮสต์เสมือนคือใช้ตัวช่วย 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

เริ่มบริการ Apache ใหม่เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart apache2

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

ข้อสรุป

คุณได้เรียนรู้วิธีสร้างการกำหนดค่าโฮสต์เสมือน apache ให้โฮสต์หลายโดเมนบนเซิร์ฟเวอร์ Ubuntu เดียว คุณสามารถทำซ้ำขั้นตอนที่เราอธิบายไว้ข้างต้นและสร้างโฮสต์เสมือนเพิ่มเติมสำหรับโดเมนทั้งหมดของคุณ

apache ubuntu

โพสต์นี้เป็นส่วนหนึ่งของซีรี่ส์ How-to-install-lamp-stack-on-ubuntu-18-04

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

•วิธีการติดตั้ง Apache บน Ubuntu 18.04 •วิธีการตั้งค่า Apache โฮสต์เสมือนบน Ubuntu 18.04 •รักษาความปลอดภัย Apache ด้วย Let's Encrypt บน Ubuntu 18.04 •วิธีติดตั้ง MySQL บน Ubuntu 18.04 •วิธีติดตั้ง PHP บน Ubuntu 18.04