ค้นหาเว็บไซต์

วิธีติดตั้ง Apache ด้วยโฮสต์เสมือนบน Debian 10


Apache หรือที่เรียกกันทั่วไปว่า เซิร์ฟเวอร์ Apache HTTP เป็นเว็บเซิร์ฟเวอร์ข้ามแพลตฟอร์มแบบโอเพ่นซอร์สฟรีที่ดูแลโดย Apache Foundation เป็นเว็บเซิร์ฟเวอร์ชั้นนำที่มีส่วนแบ่งการตลาด 35% บนอินเทอร์เน็ต โดยที่ Nginx มาเป็นอันดับสองด้วย 24%

Apache มีความน่าเชื่อถือสูง ยืดหยุ่น ติดตั้งง่าย และมีคุณลักษณะมากมายซึ่งทำให้เป็นที่นิยมในหมู่นักพัฒนาและผู้ที่ชื่นชอบ Linux นอกจากนี้ยังได้รับการบำรุงรักษาและอัปเดตเป็นประจำโดยมูลนิธิ Apache และช่วยในการแก้ไขข้อบกพร่องของซอฟต์แวร์และปรับปรุงประสิทธิภาพโดยรวม เมื่อถึงเวลาเขียนบทความนี้ Apache เวอร์ชันล่าสุดคือ 2.4.39

อ่านเพิ่มเติม: ติดตั้ง Nginx ด้วย Server Blocks (โฮสต์เสมือน) บน Debian 10

ในคู่มือนี้ เราจะแนะนำคุณตลอดขั้นตอนในการติดตั้งเว็บเซิร์ฟเวอร์ Apache บน Debian 10

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

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

  1. ตัวอย่างของ Debian 10
  2. ชื่อโดเมนแบบเต็ม (FQDN) ชี้ไปที่เซิร์ฟเวอร์
  3. ในคู่มือนี้ เราใช้โดเมน linux-console.net ที่ชี้ไปยังระบบ Debian 10 ที่มีที่อยู่ IP 192.168.0.104
  4. การเชื่อมต่ออินเทอร์เน็ตที่ดี

เมื่อการตรวจสอบก่อนการบินของเราเสร็จสิ้นแล้ว มาเริ่มต้นกันได้เลย

ขั้นตอนที่ 1: อัปเดตพื้นที่เก็บข้อมูลระบบ Debian 10

ขั้นตอนแรกในการติดตั้ง Apache บน Debian 10 คือการอัปเดตที่เก็บข้อมูลของระบบ เพื่อให้บรรลุเป้าหมายนี้ ให้เข้าสู่ระบบในฐานะผู้ใช้ทั่วไปและใช้สิทธิ์ sudo เพื่อรันคำสั่ง

sudo apt update -y

ขั้นตอนที่ 2: ติดตั้ง Apache บน Debian 10

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

sudo apt install apache2 -y

ขั้นตอนที่ 3: การตรวจสอบสถานะของ Apache Webserver

หลังจากติดตั้งเว็บเซิร์ฟเวอร์ Apache สำเร็จแล้ว ขอแนะนำให้ตรวจสอบว่าบริการทำงานอยู่หรือไม่ ระบบ systemd Linux ส่วนใหญ่จะเริ่มบริการโดยอัตโนมัติเมื่อทำการติดตั้ง

หากต้องการตรวจสอบสถานะของเว็บเซิร์ฟเวอร์ Apache ให้ดำเนินการคำสั่ง

sudo systemctl status apache2

หากบริการไม่ทำงาน ให้เริ่มบริการโดยใช้คำสั่ง

sudo systemctl start apache2

หากต้องการเปิดใช้งานเซิร์ฟเวอร์ Apache Web เมื่อบูตให้รันคำสั่ง

sudo systemctl enable apache2

หากต้องการรีสตาร์ท Apache ให้รัน

sudo systemctl restart apache2

ขั้นตอนที่ 4: กำหนดค่าไฟร์วอลล์เพื่ออนุญาตพอร์ต HTTP

หากมีการกำหนดค่าไฟร์วอลล์ UFW แล้ว เราจำเป็นต้องอนุญาตบริการ Apache ข้ามไฟร์วอลล์ เพื่อให้ผู้ใช้ภายนอกสามารถเข้าถึงเว็บเซิร์ฟเวอร์ได้

เพื่อให้บรรลุเป้าหมายนี้ เราจำเป็นต้องอนุญาตการรับส่งข้อมูลบนพอร์ต 80 บนไฟร์วอลล์

sudo ufw allow 80/tcp

เพื่อตรวจสอบว่าพอร์ตได้รับอนุญาตบนไฟร์วอลล์แล้ว ให้รัน

sudo ufw status

นอกจากนี้ คุณสามารถใช้คำสั่ง netstat เพื่อตรวจสอบพอร์ตดังที่แสดง

sudo netstat -pnltu

ขั้นตอนที่ 5: ตรวจสอบ Apache HTTP เว็บเซิร์ฟเวอร์

เมื่อตั้งค่าทั้งหมดเรียบร้อยแล้ว ให้เปิดเว็บเบราว์เซอร์ที่คุณชื่นชอบและเรียกดูที่อยู่ IP ของเซิร์ฟเวอร์หรือ FQDN ดังที่แสดง

http://server-IP-address 
OR  
http://server-domain-name

ขั้นตอนที่ 6: การกำหนดค่า Apache เว็บเซิร์ฟเวอร์

เมื่อตั้งค่าเว็บเซิร์ฟเวอร์ Apache เรียบร้อยแล้ว ก็ถึงเวลาโฮสต์เว็บไซต์ตัวอย่าง

ไฟล์เว็บเพจ Apache เริ่มต้น index.html จะอยู่ที่ /var/www/html/ ซึ่งเป็นไดเร็กทอรี webroot คุณสามารถโฮสต์ไซต์เดียวหรือสร้างไฟล์โฮสต์เสมือนเพื่อโฮสต์หลายไซต์ได้

หากต้องการโฮสต์ไซต์เดียว คุณสามารถแก้ไขไฟล์ index.html ที่อยู่ในไดเร็กทอรี webroot

แต่ก่อนอื่นให้ทำการสำรองไฟล์ตามที่แสดง

sudo mv /var/www/html/index.html /var/www/html/index.html.bak

ตอนนี้เรามาสร้างไฟล์ index.html ใหม่

sudo nano /var/www/html/index.html

มาเพิ่มเนื้อหาตัวอย่าง HTML ดังที่แสดง

<html>
    <head>
        <title>Welcome to crazytechgeek</title>
    </head>
    <body>
        <h1>Howdy Geeks! Apache web server is up & running</h1>
    </body>
</html>

ออกจากโปรแกรมแก้ไขข้อความและรีสตาร์ทเว็บเซิร์ฟเวอร์

sudo systemctl restart apache2

ตอนนี้โหลดเว็บเบราว์เซอร์ของคุณใหม่และสังเกตเห็นการเปลี่ยนแปลงในไซต์ใหม่ของคุณ

ขั้นตอนที่ 7: การสร้างโฮสต์เสมือนบน Apache

หากคุณต้องการให้เว็บเซิร์ฟเวอร์โฮสต์หลายไซต์ วิธีที่ดีที่สุดคือสร้างโฮสต์เสมือนในเว็บเซิร์ฟเวอร์ Apache โฮสต์เสมือนมีประโยชน์เมื่อคุณต้องการโฮสต์หลายโดเมนในเซิร์ฟเวอร์เดียว

ขั้นแรก เราต้องสร้างไดเร็กทอรี webroot สำหรับโดเมน linux-console.net

sudo mkdir -p /var/www/html/linux-console.net/

ต่อไป เราจะกำหนดสิทธิ์ที่จำเป็นให้กับไดเร็กทอรีโดยใช้ตัวแปร $USER

sudo chown -R $USER:$USER /var/www/html/linux-console.net/

จากนั้น กำหนดสิทธิ์ที่จำเป็นของไดเร็กทอรี webroot สำหรับโดเมน

sudo chmod -R 755 /var/www/html/linux-console.net

ตอนนี้ใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบ มุ่งหน้าและสร้างตัวอย่างไฟล์ index.html

sudo nano /var/www/html/linux-console.net/index.html

มาเพิ่มเนื้อหาตัวอย่าง HTML ดังที่แสดง

<html>
    <head>
        <title>Welcome to TecMint.com</title>
    </head>
    <body>
        <h1>Howdy Geeks!</h1>
    </body>
</html>

บันทึกและออกจากโปรแกรมแก้ไขข้อความ

ตอนนี้ให้สร้างไฟล์โฮสต์เสมือนสำหรับโดเมนโดยใช้คำสั่งที่แสดงด้านล่าง

sudo nano /etc/apache2/sites-available/linux-console.net.conf

ตอนนี้คัดลอกและวางเนื้อหาด้านล่างและแทนที่โดเมน linux-console.net ด้วยโดเมนของคุณเอง

<VirtualHost *:80>
    ServerAdmin [email 
    ServerName linux-console.net
    ServerAlias linux-console.net
    DocumentRoot /var/www/html/linux-console.net/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

บันทึกและออก.

ณ จุดนี้ ให้เปิดใช้งานไฟล์โฮสต์เสมือนตามที่แสดง

sudo a2ensite linux-console.net.conf

ตอนนี้เรามาปิดการใช้งานไซต์เริ่มต้นกันดีกว่า

sudo a2dissite 000-default.conf

เพื่อให้การเปลี่ยนแปลงมีผล ให้โหลดเว็บเซิร์ฟเวอร์ apache อีกครั้ง

sudo systemctl restart apache2

ตอนนี้โหลดเว็บเซิร์ฟเวอร์ของคุณใหม่และสังเกตการเปลี่ยนแปลงสำหรับโดเมนของคุณ

หากคุณต้องการเปิดใช้งาน HTTPS บนเว็บไซต์ของคุณ โปรดอ่านบทความนี้: วิธีตั้งค่าใบรับรอง SSL ฟรีสำหรับ Apache บน Debian 10

บทสรุป

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