แต่ผมจะแนะนำว่าเราไม่จำเป็นต้องทำแบบนี้ก็ได้ ไม่จำเป็นต้องติดตั้งเว็บไว้ภายใต้ไดเร็คตอรี่ /var/www/html ก็ได้ เช่นอาจจะติดตั้งไว้ที่ไดเร็คตอรี่ /opt แทน ก็จะได้เป็น /opt/web1 หรือไดเร็คตอรี่ /home ก็ได กลายเป็น /home/web1
แต่ถ้าเราทำแบบนี้โดยที่ไม่ได้ทำอะไรเพิ่มเติม เราก็จะเรียกหน้าเว็บไม่ได้ เพราะ Apache ไม่รู้จักไดเร็คตอรี่อื่นนอกเหนือจาก /var/www/html (ดีฟอลท์) เราต้องทำให้มันรู้จักว่ามีไฟล์เอกสารเว็บอยู่ในไดเร็คตอรี่อื่นด้วย ซึ่งมีวิธีการทำอยู่ 2 แบบครับ ต่อไปนี้
1. ทำ Symbolic Link
ง่ายๆครับ ติดตั้งไฟล์เอกสารเว็บไว้ที่ไดเร็คตอรี่หนึ่ง สมมติว่าเป็นไดเร็คตอรี่ /opt/web1 แล้วก็ทำ Symbolic Link ไปที่ไดเร็คตอรี่ /var/www/html ด้วยคำสั่งนี้
- โค้ด: เลือกทั้งหมด
ln -s /opt/web1 /var/www/html/web1
หรือเปลี่ยนชื่อไดเร็คตอรี่ไปเลยก็ได้ เช่น
- โค้ด: เลือกทั้งหมด
ln -s /opt/web1 /var/www/html/myweb
แล้วเวลาเรียกก็เรียกแบบนี้
http://x.x.x.x/myweb
โดยไม่ต้องรีสตาร์ท Apache แต่อย่างใด
2. ใช้ Alias
สร้างไฟล์ๆหนึ่งในไดเร็คตอรี่ /etc/httpd/conf.d สมมติว่าชื่อไฟล์ alias.conf
- โค้ด: เลือกทั้งหมด
vi /etc/httpd/conf.d/alias.conf
ใส่บรรทัด Alias เพิ่มเข้าไป ตัวอย่าง
- โค้ด: เลือกทั้งหมด
Alias /myweb /opt/web1
หรือ
- โค้ด: เลือกทั้งหมด
Alias /web1 /opt/web1
ใส่เพิ่มได้เรื่อยๆครับ
เซฟไฟล์แล้วรีสตาร์ท Apache
เวลาเรียกก็เรียกแบบนี้ http://x.x.x.x/myweb หรือ http://x.x.x.x/web1
บทความที่เกี่ยวข้อง
เทคนิคการทำ Self Signed Certificate ให้ Apache Web Server
เทคนิคป้องกันหน้าเว็บเพจด้วย Apache Auth