การติดตั้งโปรแกรม Apache ใน LINUX
นอกจากนี้คุณยังจะต้องมีการติดตั้งโปรแกรม Apache เพื่อที่จะทำงานผ่านขั้นตอนเหล่านี้ หากคุณยังไม่ได้ทำเช่นนั้นคุณจะได้รับอาปาเช่ติดตั้งบนเซิร์ฟเวอร์ของคุณผ่านทาง apt-get
sudo apt-get update
sudo apt-get install apache2
หลังจากขั้นตอนเหล่านี้จะเสร็จสมบูรณ์เราสามารถเริ่มต้นได้
สำหรับวัตถุประสงค์ของคู่มือนี้, การตั้งค่าของฉันจะทำโฮสต์เสมือน example.com และ test.com จะถูกอ้างอิงคู่มือตลอด แต่คุณควรใช้โดเมนของคุณเองในขณะที่ตั้งค่าไปพร้อมกัน
เราจะแสดงวิธีการแก้ไขโฮสต์ท้องถิ่นของคุณยื่นภายหลังการทดสอบการตั้งค่าหากคุณใช้ค่าหุ่น นี้จะช่วยให้คุณสามารถทดสอบการตั้งค่าของคุณจากคอมพิวเตอร์ที่บ้านของคุณแม้ว่าเนื้อหาของคุณจะไม่สามารถใช้ได้ผ่านชื่อโดเมนที่จะเข้าชมอื่น ๆ
Step One — Create the Directory Structure
ขั้นตอนแรกที่เราจะไปใช้เวลาที่จะทำให้โครงสร้างไดเรกทอรีที่จะเก็บข้อมูลเว็บไซต์ที่เราจะให้บริการกับผู้เข้าชม
document root ของเรา (ไดเรกทอรีระดับบนสุดที่ Apache มีลักษณะที่จะหาเนื้อหาที่จะให้บริการ) จะถูกกำหนดให้แต่ละภายใต้ไดเรกทอรี / var / www ไดเรกทอรี เราจะสร้างไดเรกทอรีที่นี่สำหรับทั้งสองของโฮสต์เสมือนเราวางแผนในการทำ
ภายในแต่ละไดเรกทอรีเหล่านี้เราจะสร้างไฟล์ public_html ที่จะเก็บไฟล์ที่แท้จริงของเรา นี้จะช่วยให้เรามีความยืดหยุ่นในการโฮสติ้งของเราบางส่วน
ยกตัวอย่างเช่นสำหรับเว็บไซต์ของเราที่เรากำลังจะทำให้ไดเรกทอรีของเราเช่นนี้
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
ส่วนสีแดงเป็นตัวแทนของชื่อโดเมนที่เราต้องการที่จะให้บริการจาก VPS ของเรา
Step Two — Grant Permissions
ตอนนี้เรามีโครงสร้างไดเรกทอรีสำหรับไฟล์ของเรา แต่พวกเขาจะเป็นของผู้ใช้รากของเรา ถ้าเราต้องการให้ผู้ใช้ของเราอย่างสม่ำเสมอเพื่อให้สามารถแก้ไขไฟล์ในไดเรกทอรีเว็บของเราเราสามารถเปลี่ยนความเป็นเจ้าของโดยการทำเช่นนี้:
sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/test.com/public_html
ตัวแปร"$ USER" จะใช้ค่าของผู้ใช้ที่คุณกำลังเข้าเมื่อคุณกดปุ่ม "ENTER" โดยทำเช่นนี้ผู้ใช้ปกติของเราตอนนี้เป็นเจ้าของไดเรกทอรีย่อย public_html ที่เราจะได้รับการจัดเก็บเนื้อหาของเรา
เราควรปรับเปลี่ยนสิทธิ์ของเรานิด ๆ หน่อย ๆ เพื่อให้เข้าถึงการอ่านที่ได้รับอนุญาตให้สารบบเว็บทั่วไปและทั้งหมดของไฟล์และโฟลเดอร์ที่มีเพื่อให้หน้าสามารถให้บริการได้อย่างถูกต้อง:
sudo chmod -R 755 /var/www
เว็บเซิร์ฟเวอร์ของคุณควรมีสิทธิ์ที่จะต้องมีการให้บริการเนื้อหาและผู้ใช้ของคุณควรจะสามารถที่จะสร้างเนื้อหาภายในโฟลเดอร์ที่จำเป็น
Step Three — Create Demo Pages for Each Virtual Host
เรามีโครงสร้างไดเรกทอรีของเราในสถานที่ ขอสร้างเนื้อหาบางส่วนที่จะให้บริการ
เราเพียงแค่ไปสำหรับการสาธิตเพื่อให้หน้าของเราจะง่ายมาก เราเพียงแค่จะทำให้หน้า index.html สำหรับแต่ละเว็บไซต์
เริ่มต้นให้กับ example.com เราสามารถเปิดไฟล์ index.html ในการแก้ไขของเราโดยการพิมพ์:
nano /var/www/example.com/public_html/index.html
ในแฟ้มนี้สร้างเอกสาร HTML ง่ายๆที่บ่งชี้ว่าเว็บไซต์ที่เชื่อมต่อกับ ไฟล์ของฉันมีลักษณะเช่นนี้
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>
บันทึกและปิดแฟ้มเมื่อคุณเสร็จสิ้น
เราสามารถคัดลอกแฟ้มนี้เพื่อใช้เป็นพื้นฐานสำหรับเว็บไซต์ที่สองของเราโดยการพิมพ์:
cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html
จากนั้นเราจะสามารถเปิดไฟล์และปรับเปลี่ยนชิ้นส่วนที่เกี่ยวข้องของข้อมูล:
nano /var/www/test.com/public_html/index.html
<html>
<head>
<title>Welcome to Test.com!</title>
</head>
<body>
<h1>Success! The test.com virtual host is working!</h1>
</body>
</html>
บันทึกและปิดไฟล์นี้ได้เป็นอย่างดี ขณะนี้คุณมีหน้าเว็บที่จำเป็นในการทดสอบการกำหนดค่าโฮสต์เสมือน
Step Four — Create New Virtual Host Files
ไฟล์โฮสต์เสมือนเป็นไฟล์ที่ระบุกำหนดค่าที่แท้จริงของโฮสต์ที่เสมือนจริงของเราและกำหนดวิธีการ Apache เว็บเซิร์ฟเวอร์จะตอบสนองต่อการร้องขอของโดเมนต่างๆ
Apacheมาพร้อมกับไฟล์โฮสต์เสมือนเริ่มต้นที่เรียกว่า 000-default.conf ที่เราสามารถใช้เป็นจุดกระโดดออก พวกเราจะไปคัดลอกไปสร้างไฟล์โฮสต์เสมือนสำหรับแต่ละโดเมนของเรา
เราจะเริ่มต้นด้วยการเป็นหนึ่งในโดเมนกำหนดค่าคัดลอกสำหรับโดเมนที่สองของเราแล้วทำการปรับเปลี่ยนต่อไปในไม่กี่คนที่จำเป็นเริ่มต้นการตั้งค่า Ubuntu ต้องว่าไฟล์โฮสต์เสมือนแต่ละสิ้นสุดใน .conf
Create the First Virtual Host File
เริ่มต้นด้วยการคัดลอกไฟล์สำหรับโดเมนแรก:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
เปิดแฟ้มใหม่ในการแก้ไขของคุณด้วยสิทธิ์ root:
sudo nano /etc/apache2/sites-available/example.com.conf
ไฟล์จะมีลักษณะบางอย่างเช่นนี้ (ผมได้ลบความคิดเห็นที่นี่เพื่อให้เข้าถึงไฟล์เพิ่มเติม):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
ในขณะที่คุณสามารถดูมีไม่มากที่นี่ เราจะกำหนดรายการที่นี่สำหรับโดเมนแรกของเราและเพิ่มคำสั่งเพิ่มเติม ในส่วนนี้จะตรงกับโฮสต์เสมือนการร้องขอใด ๆ ที่จะทำในพอร์ต 80 พอร์ต HTTP เริ่มต้น
อันดับแรกเราต้องมีการเปลี่ยนแปลงคำสั่ง ServerAdmin ไปยังอีเมลที่ผู้ดูแลเว็บไซต์สามารถรับอีเมลผ่าน
ServerAdmin admin@example.com
หลังจากนี้เราต้องเพิ่มสองคำสั่งครั้งแรกที่เรียกว่า Servername โดยกำหนดโดเมนฐานที่ควรจะตรงกับคำนิยามสำหรับโฮสต์เสมือนนี้ นี้มักจะเป็นโดเมนของคุณที่สองเรียกว่า ServerAlias กำหนดชื่อต่อไปว่าควรจะตรงกับราวกับว่าพวกเขาชื่อฐาน นี้จะเป็นประโยชน์สำหรับการจับคู่เจ้าภาพคุณกำหนดไว้เช่น www:
ServerName example.com
ServerAlias www.example.com
สิ่งอื่น ๆ เพียง แต่เราต้องเปลี่ยนไฟล์โฮสต์เสมือนพื้นฐานเป็นที่ตั้งของรากเอกสารสำหรับโดเมนนี้ แล้วเราได้สร้างไดเรกทอรีที่เราต้องการดังนั้นเราก็ต้องปรับเปลี่ยนคำสั่ง DocumentRoot เพื่อสะท้อนให้เห็นไดเรกทอรีที่เราได้สร้าง:
DocumentRoot /var/www/example.com/public_html
รวมไฟล์ virtualhost ของเราควรมีลักษณะเช่นนี้
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
บันทึกและปิดไฟล์
Copy First Virtual Host and Customize for Second Domain
ตอนนี้เรามีไฟล์โฮสต์เสมือนของเราก่อตั้งขึ้นครั้งแรกเราสามารถสร้างคนที่สองของเราโดยการคัดลอกไฟล์และปรับได้ตามต้องการ
เริ่มต้นด้วยการคัดลอก:
sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf
เปิดแฟ้มใหม่ที่มีสิทธิ์ root ในการแก้ไขของคุณ:
sudo nano /etc/apache2/sites-available/test.com.conf
ขณะนี้คุณจำเป็นต้องปรับเปลี่ยนทุกชิ้นของข้อมูลที่อ้างอิงโดเมนที่สองของคุณ เมื่อเสร็จแล้วก็อาจจะมีลักษณะบางอย่างเช่นนี้
<VirtualHost *:80>
ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
บันทึกและปิดแฟ้มเมื่อคุณเสร็จสิ้น
Step Five — Enable the New Virtual Host Files
ตอนนี้ที่เราได้สร้างไฟล์โฮสต์ของเราเสมือนเราจะต้องช่วยให้พวกเขา Apacheรวมถึงเครื่องมือบางอย่างที่ช่วยให้เราสามารถทำเช่นนี้
เราสามารถใช้เครื่องมือ a2ensite การเปิดใช้งานแต่ละเว็บไซต์ของเราเช่นนี้
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
เมื่อเสร็จแล้วคุณจะต้องเริ่มต้นใหม่ Apache เพื่อให้การเปลี่ยนแปลงเหล่านี้มีผลบังคับใช้:
sudo service apache2 restart
คุณมักจะได้รับข้อความว่าสิ่งที่คล้ายกับ:
* Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
ข้อความนี้เป็นข้อความที่ไม่เป็นอันตรายที่ไม่ได้ส่งผลกระทบต่อเว็บไซต์ของเรา
Step Six — Set Up Local Hosts File (Optional)
ถ้าคุณยังไม่ได้ใช้ชื่อโดเมนที่เกิดขึ้นจริงที่คุณเป็นเจ้าของในการทดสอบขั้นตอนนี้และได้รับการใช้โดเมนตัวอย่างบางส่วน แต่คุณอย่างน้อยสามารถทดสอบการทำงานของกระบวนการนี้โดยการปรับเปลี่ยนชั่วคราวไฟล์โฮสต์ในคอมพิวเตอร์ของคุณ
นี้จะสกัดกั้นการร้องขอใด ๆ สำหรับโดเมนที่คุณกำหนดค่าและชี้ไปยังเซิร์ฟเวอร์ VPS ของคุณเช่นเดียวกับระบบ DNS จะทำอย่างไรถ้าคุณกำลังใช้โดเมนที่ลงทะเบียน นี้จะทำงานจากคอมพิวเตอร์ของคุณแม้ว่าและเป็นเพียงประโยชน์สำหรับวัตถุประสงค์ในการทดสอบ
ให้แน่ใจว่าคุณมีการดำเนินงานในคอมพิวเตอร์ของคุณสำหรับขั้นตอนเหล่านี้และไม่เซิร์ฟเวอร์ VPS ของคุณ คุณจะต้องทราบรหัสผ่านของผู้ดูแลระบบคอมพิวเตอร์หรืออื่น ๆ ที่เป็นสมาชิกของกลุ่มผู้บริหาร
ถ้าคุณอยู่ในเครื่องคอมพิวเตอร์ Mac หรือ Linux, แก้ไขไฟล์ท้องถิ่นของคุณกับสิทธิ์ของผู้ดูแลโดยการพิมพ์:
sudo nano /etc/hosts
ถ้าคุณอยู่ในเครื่อง Windows คุณสามารถหาคำแนะนำเกี่ยวกับการแก้ไขไฟล์โฮสต์ของคุณที่นี่
http://support.microsoft.com/kb/923947
รายละเอียดที่คุณต้องการที่จะเพิ่มเป็นที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ VPS ของคุณตามด้วยโดเมนที่คุณต้องการที่จะใช้ในการเข้าถึง VPS
สำหรับโดเมนที่ผมใช้ในคู่มือนี้สมมติว่าที่อยู่ IP ของฉันคือ VPS 111.111.111.111 ผมสามารถเพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของไฟล์โฮสต์ของฉัน:
127.0.0.1 localhost
127.0.1.1 guest-desktop
111.111.111.111 example.com
111.111.111.111 test.com
นี้จะนำการร้องขอใด ๆ สำหรับ example.com และ test.com ในคอมพิวเตอร์ของเราและส่งพวกเขาไปยังเซิร์ฟเวอร์ของเราที่ 111.111.111.111 นี่คือสิ่งที่เราต้องการถ้าเราไม่ได้เป็นเจ้าของโดเมนเหล่านี้เพื่อทดสอบโฮสต์เสมือนจริงของเรา
บันทึกและปิดไฟล์
Step Seven — Test your Results
ตอนนี้คุณมีโฮสต์เสมือนของคุณกำหนดค่าคุณสามารถทดสอบการติดตั้งได้อย่างง่ายดายโดยไปที่โดเมนที่คุณกำหนดค่าในเว็บเบราว์เซอร์ของคุณ:
http://example.com
คุณจะเห็นหน้าเว็บที่มีลักษณะเช่นนี้:
Success! The example.com virtual host is working!
ในทำนองเดียวกันถ้าคุณสามารถเยี่ยมชมหน้าเว็บที่สองของคุณ:
http://test.com
คุณจะเห็นไฟล์ที่คุณสร้างขึ้นสำหรับเว็บไซต์ที่สองของคุณ:
Success! The test.com virtual host is working!
หากทั้งสองของเว็บไซต์เหล่านี้ทำงานได้ดีที่คุณได้กำหนดค่าเรียบร้อยแล้วสองการเชื่อมต่อเสมือนบนเซิร์ฟเวอร์เดียวกัน
หากคุณตั้งค่าไฟล์โฮสต์คอมพิวเตอร์ที่บ้านของคุณคุณอาจต้องการที่จะลบบรรทัดที่คุณเพิ่มขณะที่คุณสอบว่าผลงานการตั้งค่าของคุณ ซึ่งจะช่วยป้องกันไฟล์โฮสต์ของคุณจากการที่เต็มไปด้วยรายการที่ไม่จำเป็นจริง
ถ้าคุณต้องการที่จะเข้าถึงระยะยาวนี้พิจารณาการจัดซื้อชื่อโดเมนสำหรับแต่ละเว็บไซต์ที่คุณต้องการและตั้งขึ้นเพื่อชี้ไปยังเซิร์ฟเวอร์ VPS ของคุณ
Conclusion
ถ้าคุณทำตามพร้อมตอนนี้คุณควรจะมีการจัดการเซิร์ฟเวอร์เดียวชื่อโดเมนที่สองแยก คุณสามารถเพิ่มกระบวนการนี้โดยทำตามขั้นตอนที่เราระบุไว้ข้างต้นจะทำให้โฮสต์เสมือนเพิ่มเติม
ไม่มีข้อ จำกัด เกี่ยวกับจำนวนซอฟแวร์ของชื่อโดเมนคือ Apache สามารถจัดการดังนั้นรู้สึกฟรีที่จะทำให้มากที่สุดเท่าที่เซิร์ฟเวอร์ของคุณมีความสามารถในการจัดการ
_____________________
Thank you
Justin Ellingwood
Apr 22, 2014
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts
sudo apt-get update
sudo apt-get install apache2
หลังจากขั้นตอนเหล่านี้จะเสร็จสมบูรณ์เราสามารถเริ่มต้นได้
สำหรับวัตถุประสงค์ของคู่มือนี้, การตั้งค่าของฉันจะทำโฮสต์เสมือน example.com และ test.com จะถูกอ้างอิงคู่มือตลอด แต่คุณควรใช้โดเมนของคุณเองในขณะที่ตั้งค่าไปพร้อมกัน
เราจะแสดงวิธีการแก้ไขโฮสต์ท้องถิ่นของคุณยื่นภายหลังการทดสอบการตั้งค่าหากคุณใช้ค่าหุ่น นี้จะช่วยให้คุณสามารถทดสอบการตั้งค่าของคุณจากคอมพิวเตอร์ที่บ้านของคุณแม้ว่าเนื้อหาของคุณจะไม่สามารถใช้ได้ผ่านชื่อโดเมนที่จะเข้าชมอื่น ๆ
Step One — Create the Directory Structure
ขั้นตอนแรกที่เราจะไปใช้เวลาที่จะทำให้โครงสร้างไดเรกทอรีที่จะเก็บข้อมูลเว็บไซต์ที่เราจะให้บริการกับผู้เข้าชม
document root ของเรา (ไดเรกทอรีระดับบนสุดที่ Apache มีลักษณะที่จะหาเนื้อหาที่จะให้บริการ) จะถูกกำหนดให้แต่ละภายใต้ไดเรกทอรี / var / www ไดเรกทอรี เราจะสร้างไดเรกทอรีที่นี่สำหรับทั้งสองของโฮสต์เสมือนเราวางแผนในการทำ
ภายในแต่ละไดเรกทอรีเหล่านี้เราจะสร้างไฟล์ public_html ที่จะเก็บไฟล์ที่แท้จริงของเรา นี้จะช่วยให้เรามีความยืดหยุ่นในการโฮสติ้งของเราบางส่วน
ยกตัวอย่างเช่นสำหรับเว็บไซต์ของเราที่เรากำลังจะทำให้ไดเรกทอรีของเราเช่นนี้
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
ส่วนสีแดงเป็นตัวแทนของชื่อโดเมนที่เราต้องการที่จะให้บริการจาก VPS ของเรา
Step Two — Grant Permissions
ตอนนี้เรามีโครงสร้างไดเรกทอรีสำหรับไฟล์ของเรา แต่พวกเขาจะเป็นของผู้ใช้รากของเรา ถ้าเราต้องการให้ผู้ใช้ของเราอย่างสม่ำเสมอเพื่อให้สามารถแก้ไขไฟล์ในไดเรกทอรีเว็บของเราเราสามารถเปลี่ยนความเป็นเจ้าของโดยการทำเช่นนี้:
sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/test.com/public_html
ตัวแปร"$ USER" จะใช้ค่าของผู้ใช้ที่คุณกำลังเข้าเมื่อคุณกดปุ่ม "ENTER" โดยทำเช่นนี้ผู้ใช้ปกติของเราตอนนี้เป็นเจ้าของไดเรกทอรีย่อย public_html ที่เราจะได้รับการจัดเก็บเนื้อหาของเรา
เราควรปรับเปลี่ยนสิทธิ์ของเรานิด ๆ หน่อย ๆ เพื่อให้เข้าถึงการอ่านที่ได้รับอนุญาตให้สารบบเว็บทั่วไปและทั้งหมดของไฟล์และโฟลเดอร์ที่มีเพื่อให้หน้าสามารถให้บริการได้อย่างถูกต้อง:
sudo chmod -R 755 /var/www
เว็บเซิร์ฟเวอร์ของคุณควรมีสิทธิ์ที่จะต้องมีการให้บริการเนื้อหาและผู้ใช้ของคุณควรจะสามารถที่จะสร้างเนื้อหาภายในโฟลเดอร์ที่จำเป็น
Step Three — Create Demo Pages for Each Virtual Host
เรามีโครงสร้างไดเรกทอรีของเราในสถานที่ ขอสร้างเนื้อหาบางส่วนที่จะให้บริการ
เราเพียงแค่ไปสำหรับการสาธิตเพื่อให้หน้าของเราจะง่ายมาก เราเพียงแค่จะทำให้หน้า index.html สำหรับแต่ละเว็บไซต์
เริ่มต้นให้กับ example.com เราสามารถเปิดไฟล์ index.html ในการแก้ไขของเราโดยการพิมพ์:
nano /var/www/example.com/public_html/index.html
ในแฟ้มนี้สร้างเอกสาร HTML ง่ายๆที่บ่งชี้ว่าเว็บไซต์ที่เชื่อมต่อกับ ไฟล์ของฉันมีลักษณะเช่นนี้
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>
บันทึกและปิดแฟ้มเมื่อคุณเสร็จสิ้น
เราสามารถคัดลอกแฟ้มนี้เพื่อใช้เป็นพื้นฐานสำหรับเว็บไซต์ที่สองของเราโดยการพิมพ์:
cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html
จากนั้นเราจะสามารถเปิดไฟล์และปรับเปลี่ยนชิ้นส่วนที่เกี่ยวข้องของข้อมูล:
nano /var/www/test.com/public_html/index.html
<html>
<head>
<title>Welcome to Test.com!</title>
</head>
<body>
<h1>Success! The test.com virtual host is working!</h1>
</body>
</html>
บันทึกและปิดไฟล์นี้ได้เป็นอย่างดี ขณะนี้คุณมีหน้าเว็บที่จำเป็นในการทดสอบการกำหนดค่าโฮสต์เสมือน
Step Four — Create New Virtual Host Files
ไฟล์โฮสต์เสมือนเป็นไฟล์ที่ระบุกำหนดค่าที่แท้จริงของโฮสต์ที่เสมือนจริงของเราและกำหนดวิธีการ Apache เว็บเซิร์ฟเวอร์จะตอบสนองต่อการร้องขอของโดเมนต่างๆ
Apacheมาพร้อมกับไฟล์โฮสต์เสมือนเริ่มต้นที่เรียกว่า 000-default.conf ที่เราสามารถใช้เป็นจุดกระโดดออก พวกเราจะไปคัดลอกไปสร้างไฟล์โฮสต์เสมือนสำหรับแต่ละโดเมนของเรา
เราจะเริ่มต้นด้วยการเป็นหนึ่งในโดเมนกำหนดค่าคัดลอกสำหรับโดเมนที่สองของเราแล้วทำการปรับเปลี่ยนต่อไปในไม่กี่คนที่จำเป็นเริ่มต้นการตั้งค่า Ubuntu ต้องว่าไฟล์โฮสต์เสมือนแต่ละสิ้นสุดใน .conf
Create the First Virtual Host File
เริ่มต้นด้วยการคัดลอกไฟล์สำหรับโดเมนแรก:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
เปิดแฟ้มใหม่ในการแก้ไขของคุณด้วยสิทธิ์ root:
sudo nano /etc/apache2/sites-available/example.com.conf
ไฟล์จะมีลักษณะบางอย่างเช่นนี้ (ผมได้ลบความคิดเห็นที่นี่เพื่อให้เข้าถึงไฟล์เพิ่มเติม):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
ในขณะที่คุณสามารถดูมีไม่มากที่นี่ เราจะกำหนดรายการที่นี่สำหรับโดเมนแรกของเราและเพิ่มคำสั่งเพิ่มเติม ในส่วนนี้จะตรงกับโฮสต์เสมือนการร้องขอใด ๆ ที่จะทำในพอร์ต 80 พอร์ต HTTP เริ่มต้น
อันดับแรกเราต้องมีการเปลี่ยนแปลงคำสั่ง ServerAdmin ไปยังอีเมลที่ผู้ดูแลเว็บไซต์สามารถรับอีเมลผ่าน
ServerAdmin admin@example.com
หลังจากนี้เราต้องเพิ่มสองคำสั่งครั้งแรกที่เรียกว่า Servername โดยกำหนดโดเมนฐานที่ควรจะตรงกับคำนิยามสำหรับโฮสต์เสมือนนี้ นี้มักจะเป็นโดเมนของคุณที่สองเรียกว่า ServerAlias กำหนดชื่อต่อไปว่าควรจะตรงกับราวกับว่าพวกเขาชื่อฐาน นี้จะเป็นประโยชน์สำหรับการจับคู่เจ้าภาพคุณกำหนดไว้เช่น www:
ServerName example.com
ServerAlias www.example.com
สิ่งอื่น ๆ เพียง แต่เราต้องเปลี่ยนไฟล์โฮสต์เสมือนพื้นฐานเป็นที่ตั้งของรากเอกสารสำหรับโดเมนนี้ แล้วเราได้สร้างไดเรกทอรีที่เราต้องการดังนั้นเราก็ต้องปรับเปลี่ยนคำสั่ง DocumentRoot เพื่อสะท้อนให้เห็นไดเรกทอรีที่เราได้สร้าง:
DocumentRoot /var/www/example.com/public_html
รวมไฟล์ virtualhost ของเราควรมีลักษณะเช่นนี้
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
บันทึกและปิดไฟล์
Copy First Virtual Host and Customize for Second Domain
ตอนนี้เรามีไฟล์โฮสต์เสมือนของเราก่อตั้งขึ้นครั้งแรกเราสามารถสร้างคนที่สองของเราโดยการคัดลอกไฟล์และปรับได้ตามต้องการ
เริ่มต้นด้วยการคัดลอก:
sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf
เปิดแฟ้มใหม่ที่มีสิทธิ์ root ในการแก้ไขของคุณ:
sudo nano /etc/apache2/sites-available/test.com.conf
ขณะนี้คุณจำเป็นต้องปรับเปลี่ยนทุกชิ้นของข้อมูลที่อ้างอิงโดเมนที่สองของคุณ เมื่อเสร็จแล้วก็อาจจะมีลักษณะบางอย่างเช่นนี้
<VirtualHost *:80>
ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
บันทึกและปิดแฟ้มเมื่อคุณเสร็จสิ้น
Step Five — Enable the New Virtual Host Files
ตอนนี้ที่เราได้สร้างไฟล์โฮสต์ของเราเสมือนเราจะต้องช่วยให้พวกเขา Apacheรวมถึงเครื่องมือบางอย่างที่ช่วยให้เราสามารถทำเช่นนี้
เราสามารถใช้เครื่องมือ a2ensite การเปิดใช้งานแต่ละเว็บไซต์ของเราเช่นนี้
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
เมื่อเสร็จแล้วคุณจะต้องเริ่มต้นใหม่ Apache เพื่อให้การเปลี่ยนแปลงเหล่านี้มีผลบังคับใช้:
sudo service apache2 restart
คุณมักจะได้รับข้อความว่าสิ่งที่คล้ายกับ:
* Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
ข้อความนี้เป็นข้อความที่ไม่เป็นอันตรายที่ไม่ได้ส่งผลกระทบต่อเว็บไซต์ของเรา
Step Six — Set Up Local Hosts File (Optional)
ถ้าคุณยังไม่ได้ใช้ชื่อโดเมนที่เกิดขึ้นจริงที่คุณเป็นเจ้าของในการทดสอบขั้นตอนนี้และได้รับการใช้โดเมนตัวอย่างบางส่วน แต่คุณอย่างน้อยสามารถทดสอบการทำงานของกระบวนการนี้โดยการปรับเปลี่ยนชั่วคราวไฟล์โฮสต์ในคอมพิวเตอร์ของคุณ
นี้จะสกัดกั้นการร้องขอใด ๆ สำหรับโดเมนที่คุณกำหนดค่าและชี้ไปยังเซิร์ฟเวอร์ VPS ของคุณเช่นเดียวกับระบบ DNS จะทำอย่างไรถ้าคุณกำลังใช้โดเมนที่ลงทะเบียน นี้จะทำงานจากคอมพิวเตอร์ของคุณแม้ว่าและเป็นเพียงประโยชน์สำหรับวัตถุประสงค์ในการทดสอบ
ให้แน่ใจว่าคุณมีการดำเนินงานในคอมพิวเตอร์ของคุณสำหรับขั้นตอนเหล่านี้และไม่เซิร์ฟเวอร์ VPS ของคุณ คุณจะต้องทราบรหัสผ่านของผู้ดูแลระบบคอมพิวเตอร์หรืออื่น ๆ ที่เป็นสมาชิกของกลุ่มผู้บริหาร
ถ้าคุณอยู่ในเครื่องคอมพิวเตอร์ Mac หรือ Linux, แก้ไขไฟล์ท้องถิ่นของคุณกับสิทธิ์ของผู้ดูแลโดยการพิมพ์:
sudo nano /etc/hosts
ถ้าคุณอยู่ในเครื่อง Windows คุณสามารถหาคำแนะนำเกี่ยวกับการแก้ไขไฟล์โฮสต์ของคุณที่นี่
http://support.microsoft.com/kb/923947
รายละเอียดที่คุณต้องการที่จะเพิ่มเป็นที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ VPS ของคุณตามด้วยโดเมนที่คุณต้องการที่จะใช้ในการเข้าถึง VPS
สำหรับโดเมนที่ผมใช้ในคู่มือนี้สมมติว่าที่อยู่ IP ของฉันคือ VPS 111.111.111.111 ผมสามารถเพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของไฟล์โฮสต์ของฉัน:
127.0.0.1 localhost
127.0.1.1 guest-desktop
111.111.111.111 example.com
111.111.111.111 test.com
นี้จะนำการร้องขอใด ๆ สำหรับ example.com และ test.com ในคอมพิวเตอร์ของเราและส่งพวกเขาไปยังเซิร์ฟเวอร์ของเราที่ 111.111.111.111 นี่คือสิ่งที่เราต้องการถ้าเราไม่ได้เป็นเจ้าของโดเมนเหล่านี้เพื่อทดสอบโฮสต์เสมือนจริงของเรา
บันทึกและปิดไฟล์
Step Seven — Test your Results
ตอนนี้คุณมีโฮสต์เสมือนของคุณกำหนดค่าคุณสามารถทดสอบการติดตั้งได้อย่างง่ายดายโดยไปที่โดเมนที่คุณกำหนดค่าในเว็บเบราว์เซอร์ของคุณ:
http://example.com
คุณจะเห็นหน้าเว็บที่มีลักษณะเช่นนี้:
Success! The example.com virtual host is working!
ในทำนองเดียวกันถ้าคุณสามารถเยี่ยมชมหน้าเว็บที่สองของคุณ:
http://test.com
คุณจะเห็นไฟล์ที่คุณสร้างขึ้นสำหรับเว็บไซต์ที่สองของคุณ:
Success! The test.com virtual host is working!
หากทั้งสองของเว็บไซต์เหล่านี้ทำงานได้ดีที่คุณได้กำหนดค่าเรียบร้อยแล้วสองการเชื่อมต่อเสมือนบนเซิร์ฟเวอร์เดียวกัน
หากคุณตั้งค่าไฟล์โฮสต์คอมพิวเตอร์ที่บ้านของคุณคุณอาจต้องการที่จะลบบรรทัดที่คุณเพิ่มขณะที่คุณสอบว่าผลงานการตั้งค่าของคุณ ซึ่งจะช่วยป้องกันไฟล์โฮสต์ของคุณจากการที่เต็มไปด้วยรายการที่ไม่จำเป็นจริง
ถ้าคุณต้องการที่จะเข้าถึงระยะยาวนี้พิจารณาการจัดซื้อชื่อโดเมนสำหรับแต่ละเว็บไซต์ที่คุณต้องการและตั้งขึ้นเพื่อชี้ไปยังเซิร์ฟเวอร์ VPS ของคุณ
Conclusion
ถ้าคุณทำตามพร้อมตอนนี้คุณควรจะมีการจัดการเซิร์ฟเวอร์เดียวชื่อโดเมนที่สองแยก คุณสามารถเพิ่มกระบวนการนี้โดยทำตามขั้นตอนที่เราระบุไว้ข้างต้นจะทำให้โฮสต์เสมือนเพิ่มเติม
ไม่มีข้อ จำกัด เกี่ยวกับจำนวนซอฟแวร์ของชื่อโดเมนคือ Apache สามารถจัดการดังนั้นรู้สึกฟรีที่จะทำให้มากที่สุดเท่าที่เซิร์ฟเวอร์ของคุณมีความสามารถในการจัดการ
_____________________
Thank you
Justin Ellingwood
Apr 22, 2014
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts
ความคิดเห็น
แสดงความคิดเห็น