เมื่อใช้เว็บเซิร์ฟเวอร์ Apache คุณสามารถใช้ Virtual Host (คล้ายกับบล็อกเซิร์ฟเวอร์ใน Nginx) เพื่อสรุปรายละเอียดการกำหนดค่าและสร้างโฮสต์มากกว่าหนึ่งโดเมนจากเซิร์ฟเวอร์เดียว ในที่นี่เราจะตั้งค่าโดเมนชื่อ demosite2.com คุณสามารถแทนที่ด้วยชื่อโดเมนของคุณเอง
ตามค่าเริ่มต้นของ Apache เนื้อหาต่าง ๆ ของเว็บไซต์จะอยู่ที่ตำแหน่ง /var/www/html เป็นหลักแต่จะใช้การกำหนดค่าที่มีอยู่ใน /etc/apache2/sites-available/000-default.conf แทนที่จะแก้ไขไฟล์ที่ตำแหน่ง /var/www/html เราจะต้องสร้าง virtual host ใหม่สำหรับทดสอบ PHP virtual host ช่วยให้สามารถเก็บเว็บไซต์หลายแห่งไว้บนเซิร์ฟเวอร์ Apache เดียวได้ นอกจากนี้ ยังจะสร้างโครงสร้างไดเร็กทอรีภายใน /var/www สำหรับไซต์ demosite2.com โดยปล่อยให้ /var/www/html เป็นไดเร็กทอรีเริ่มต้นที่จะให้บริการ
เริ่มต้นโดยสร้าง root เว็บไดเรกทอรีสำหรับ demosite2.com (อย่าลืมเปลี่ยนเป็นชื่อโดเมนของคุณ)ดังต่อไปนี้
sudo mkdir /var/www/demosite2.com
ถัดมา กำหนดความเป็นเจ้าของไดเร็กทอรีด้วยตัวแปรสภาพแวดล้อม $USER ซึ่งจะอ้างอิงผู้ใช้ระบบปัจจุบันของคุณ
sudo chown -R $USER:$USER /var/www/demosite2.com
จากนั้นเปิดไฟล์กำหนดค่าใหม่ในไดเรกทอรี sites-available ของ Apache โดยใช้โปรแกรมแก้ไขข้อความที่คุณต้องการ โดยที่ทางเราจะใช้ nano
sudo nano /etc/apache2/sites-available/demosite2.com.conf
เราจะเริ่มสร้างไฟล์เปล่าใหม่ เพิ่มการกำหนดค่าพื้นฐานต่อไปนี้ด้วยชื่อโดเมนของคุณเอง
<VirtualHost *:80>
ServerName your_domain
ServerAlias www.your_domain
ServerAdmin webmaster@localhost
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
ด้วยการกำหนดค่า Virtual Host นี้ เป็นารแจ้งให้ Apache ให้บริการ your_domain โดยใช้ /var/www/your_domain เป็นไดเรกทอรีหลักของเว็บ หากคุณต้องการทดสอบ Apache โดยไม่ต้องใช้ชื่อโดเมน สามารถลบหรือใส่เครื่องหมายคอมเมนต์ตัวเลือก ServerName และ ServerAlias ได้โดยเพิ่มเครื่องหมายปอนด์ (#) ไว้ที่จุดเริ่มต้นของบรรทัดตัวเลือกแต่ละตัว
บันทึกและปิดไฟล์เมื่อดำเนินการเสร็จ
และให้ใช้ a2ensite เพื่อเปิดใช้งาน virtual host นี้
sudo a2ensite your_domain
อาจต้องการปิดใช้งานเว็บไซต์เริ่มต้นที่ติดตั้งมาพร้อมกับ Apache ซึ่งจำเป็นหากคุณไม่ได้ใช้ชื่อโดเมนที่กำหนดเอง เนื่องจากในกรณีนี้ การกำหนดค่าเริ่มต้นของ Apache จะเขียนทับ virtual host ของคุณ หากต้องการปิดใช้งานเว็บไซต์เริ่มต้นของ Apache ให้เรียกใช้
sudo a2dissite 000-default
เพื่อให้แน่ใจว่าไฟล์การกำหนดค่าของคุณไม่มีข้อผิดพลาด คุณสามารถเรียกใช้
sudo apache2ctl configtest
สุดท้ายให้โหลด Apache ใหม่เพื่อให้การเปลี่ยนแปลงเหล่านี้มีผล
sudo systemctl reload apache2
ต่อมาเราจะทำการ ทดสอบการประมวลผล PHP บนเว็บเซิร์ฟเวอร์
ตอนนี้คุณมีตำแหน่งที่กำหนดเองเพื่อ hostfile และโฟลเดอร์ของเว็บไซต์แล้ว ให้สร้างสคริปต์ทดสอบ PHP เพื่อยืนยันว่า Apache สามารถจัดการและประมวลผลคำขอสำหรับไฟล์ PHP ได้
เริ่มต้นด้วยการสร้างไฟล์ใหม่ชื่อ info.php ภายในโฟลเดอร์หลักของเว็บที่เราต้องการทดสอบ ทางเราใช้ชื่อเว็บว่า demosite2.com
nano /var/www/demosite2.com/info.php
จากนั้นเปิดไฟล์เปล่า แล้วเพิ่มข้อความต่อไปนี้ซึ่งเป็นโค้ด PHP ลงในไฟล์
<?php
phpinfo();
เมื่อเสร็จสิ้น ให้บันทึกและปิดไฟล์
เพื่อทดสอบสคริปต์ ให้ไปที่เว็บเบราว์เซอร์และเข้าถึงชื่อโดเมนหรือที่อยู่ IP ของเซิร์ฟเวอร์ ตามด้วยชื่อสคริปต์
http://your_domain/info.php
จะได้ผลลัพธ์ดังต่อไปนี้