How to add an Apache 2 Virtual Host in Ubuntu Server
สารบัญ:
ในบทช่วยสอนนี้เราจะให้คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการตั้งค่า 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
Welcome to example.com Success! example.com home page!
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 พื้นฐานต่อไปนี้:
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.04Microsoft Tweaks Ad หลังจากที่ Apple บ่น

เรื่องราว "Laptop Hunter" ยังคงมีน้อยลงเล็กน้อย Apple-bashing
วิธีการติดตั้งและกำหนดค่า nextcloud ด้วย apache บน ubuntu 18.04

Nextcloud เป็นโอเพ่นซอร์ส, การแชร์ไฟล์ที่โฮสต์โดยตนเองและแพลตฟอร์มการทำงานร่วมกันคล้ายกับ Dropbox ในบทช่วยสอนนี้เราจะแสดงวิธีการติดตั้งและกำหนดค่า Nextcloud ด้วย Apache บนเครื่อง Ubuntu 18.04
วิธีการติดตั้งและกำหนดค่า owncloud ด้วย apache บน Ubuntu 18.04

ownCloud เป็นโอเพ่นซอร์สซิงค์ไฟล์ที่โฮสต์โดยตนเองและแพลตฟอร์มแชร์ไฟล์ ในบทช่วยสอนนี้เราจะแสดงวิธีการติดตั้งและกำหนดค่า ownCloud ด้วย Apache บนเครื่อง Ubuntu 18.04