Android

วิธีตั้งค่า apache โฮสต์เสมือนบน centos 7

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

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

สารบัญ:

Anonim

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

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

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

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

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

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

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

/var/www/ ├── example.com │ └── public_html ├── example-1.com │ └── public_html ├── example-2.com │ └── public_html

เรากำลังสร้างไดเรกทอรีแยกสำหรับแต่ละโดเมนที่เราต้องการโฮสต์บนเซิร์ฟเวอร์ของเราภายในไดเรกทอรี /var/www ภายในแต่ละไดเรกทอรีเหล่านี้เราจะสร้างไดเรกทอรี public_html ที่จะเก็บไฟล์เว็บไซต์โดเมน

สร้างไดเรกทอรีรูทสำหรับโดเมน example.com โดยใช้คำสั่ง mkdir:

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

สำหรับวัตถุประสงค์ในการทดสอบเราจะสร้างไฟล์ index.html ภายในไดเรกทอรีรากของเอกสารโดเมน เปิดโปรแกรมแก้ไขของคุณและสร้างไฟล์ 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 :

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

การสร้างไฟล์โฮสต์เสมือน

มีสองสามวิธีในการตั้งค่าโฮสต์เสมือน คุณสามารถเพิ่ม Virtual Host Directives ทั้งหมดในไฟล์เดียวหรือสร้างไฟล์การกำหนดค่าใหม่สำหรับแต่ละ Virtual Host Directive โดยส่วนตัวแล้วฉันชอบวิธีที่สองมากกว่าเพราะสามารถดูแลได้มากกว่า

โดยค่าเริ่มต้น Apache ได้รับการกำหนดค่าให้โหลดไฟล์การกำหนดค่าทั้งหมดที่ลงท้ายด้วย. .conf จากไดเร็กทอรี /etc/httpd/conf.d/

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

/etc/httpd/conf.d/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 /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/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 /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/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 /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined

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

แก้ไขไฟล์ตามความต้องการของคุณและบันทึก

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

ทดสอบไวยากรณ์ไฟล์กำหนดค่าด้วย:

sudo apachectl configtest

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

Syntax OK

ในการเปิดใช้งานโฮสต์เสมือนที่เพิ่งสร้างใหม่ให้รีสตาร์ทบริการ Apache ด้วย:

sudo systemctl restart

ตรวจสอบว่าทุกอย่างทำงานตามที่คาดไว้โดยเปิด http://example.com :

ข้อสรุป

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

apache centos

โพสต์นี้เป็นส่วนหนึ่งของชุดติดตั้ง LAMP Stack บน CentOS 7 ซีรี่ย์

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

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