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

25 คำถามสัมภาษณ์ Apache สำหรับผู้เริ่มต้นและคนกลาง


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

ในส่วนนี้ เราได้กล่าวถึง คำถามสัมภาษณ์งาน Apache 25 ข้อ ที่น่าสนใจ พร้อมด้วยคำตอบ เพื่อให้คุณสามารถเข้าใจสิ่งใหม่ๆ เกี่ยวกับ Apache ที่คุณอาจไม่เคยรู้มาก่อนได้อย่างง่ายดาย

ก่อนที่คุณจะอ่านบทความนี้ เราขอแนะนำอย่างยิ่งให้คุณอย่าพยายามจดจำคำตอบ แต่ควรพยายามทำความเข้าใจสถานการณ์ต่างๆ ในทางปฏิบัติก่อนเสมอ

1. เว็บเซิร์ฟเวอร์ Apache คืออะไร?
2. จะตรวจสอบ Apache และเวอร์ชั่นได้อย่างไร?
[root@tecmint ~]# rpm -qa | grep httpd

httpd-devel-2.2.15-29.el6.centos.i686
httpd-2.2.15-29.el6.centos.i686
httpd-tools-2.2.15-29.el6.centos.i686
[root@tecmint ~]# httpd -v

Server version: Apache/2.2.15 (Unix)
Server built:   Aug 13 2013 17:27:11
3. Apache ทำงานในฐานะผู้ใช้คนไหน? และตำแหน่งของไฟล์ปรับแต่งหลัก?.
4. Apache ฟังทั้ง http และ https บนพอร์ตใด
[root@tecmint ~]# netstat -antp | grep http

tcp        0      0 :::80                       :::*                        LISTEN      1076/httpd          
tcp        0      0 :::443                      :::*                        LISTEN      1076/httpd
5. คุณจะติดตั้ง Apache Server บนเครื่อง Linux ของคุณได้อย่างไร?
[root@tecmint ~]# yum install httpd
[root@tecmint ~]# apt-get install apache2
6. คุณจะพบไดเร็กทอรีการกำหนดค่าทั้งหมดของ Apache Web Server ได้ที่ไหน?
[root@tecmint ~]# cd /etc/httpd/
[root@tecmint httpd]# ls -l
total 8
drwxr-xr-x. 2 root root 4096 Dec 24 21:44 conf
drwxr-xr-x. 2 root root 4096 Dec 25 02:09 conf.d
lrwxrwxrwx  1 root root   19 Oct 13 19:06 logs -> ../../var/log/httpd
lrwxrwxrwx  1 root root   27 Oct 13 19:06 modules -> ../../usr/lib/httpd/modules
lrwxrwxrwx  1 root root   19 Oct 13 19:06 run -> ../../var/run/httpd
[root@tecmint ~]# cd /etc/apache2
[root@tecmint apache2]# ls -l
total 84
-rw-r--r-- 1 root root  7113 Jul 24 16:15 apache2.conf
drwxr-xr-x 2 root root  4096 Dec 16 11:48 conf-available
drwxr-xr-x 2 root root  4096 Dec 16 11:45 conf.d
drwxr-xr-x 2 root root  4096 Dec 16 11:48 conf-enabled
-rw-r--r-- 1 root root  1782 Jul 21 02:14 envvars
-rw-r--r-- 1 root root 31063 Jul 21 02:14 magic
drwxr-xr-x 2 root root 12288 Dec 16 11:48 mods-available
drwxr-xr-x 2 root root  4096 Dec 16 11:48 mods-enabled
-rw-r--r-- 1 root root   315 Jul 21 02:14 ports.conf
drwxr-xr-x 2 root root  4096 Dec 16 11:48 sites-available
drwxr-xr-x 2 root root  4096 Dec  6 00:04 sites-enabled

7. Apache สามารถรักษาความปลอดภัยด้วย TCP wrapper ได้หรือไม่

8. จะเปลี่ยนค่าเริ่มต้น Apache Port และ Listen Directive ทำงานอย่างไรใน Apache ได้อย่างไร

สมมติว่าคุณมี IP หลายรายการที่กำหนดให้กับเครื่อง Linux ของคุณและต้องการให้ Apache รับคำขอ HTTP บนพอร์ตอีเทอร์เน็ตพิเศษหรืออินเทอร์เฟซ แม้จะสามารถทำได้ด้วย Listen directive ก็ตาม

หากต้องการเปลี่ยนพอร์ตเริ่มต้นของ Apache โปรดเปิดไฟล์การกำหนดค่าหลักของ Apache httpd.conf หรือไฟล์ apache2.conf ด้วยโปรแกรมแก้ไข VI

[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf

[root@tecmint ~]# vi /etc/apache2/apache2.conf

ค้นหาคำว่า ”ฟัง ” แสดงความคิดเห็นในบรรทัดต้นฉบับและเขียนคำสั่งของคุณเองไว้ใต้บรรทัดนั้น

Listen 80
Listen 8080

OR

Listen 172.16.16.1:8080

บันทึกไฟล์และรีสตาร์ทเว็บเซิร์ฟเวอร์

[root@tecmint ~]# service httpd restart

[root@tecmint ~]# service apache2 restart
9. เราสามารถมี Apache Web server สองตัวบนเครื่องเดียวได้หรือไม่?
10. DocumentRoot ของ Apache หมายความว่าอย่างไร
11. จะโฮสต์ไฟล์ในโฟลเดอร์ต่าง ๆ ได้อย่างไร และคำสั่ง Alias คืออะไร

หากต้องการใช้คำสั่ง Alias ให้เป็นส่วนหนึ่งของโมดูล mod_alias ของ Apache ไวยากรณ์เริ่มต้นของคำสั่ง Alias คือ:

Alias /images /var/data/images/

ในตัวอย่างข้างต้น คำนำหน้า URL /images ไปยังคำนำหน้า /var/data/images ซึ่งหมายความว่าลูกค้าจะค้นหา “http://www.example. com/images/sample-image.png” และ Apache จะรับไฟล์ “sample-image.png ” จาก /var/data/images/sample-image png บนเซิร์ฟเวอร์ เรียกอีกอย่างว่าการแมป URL

12. DirectoryIndex เข้าใจอะไรบ้าง?

การตั้งค่าเริ่มต้นของ DirectoryIndex คือ .html index.html index.php หากคุณมีชื่อไฟล์แรกที่แตกต่างกัน คุณจะต้องสร้าง การเปลี่ยนแปลงใน httpd.conf หรือ apache2.conf สำหรับค่า DirectoryIndex เพื่อแสดงสิ่งนั้นต่อเบราว์เซอร์ไคลเอ็นต์ของคุณ

#
DirectoryIndex: sets the file that Apache will serve if a directory
is requested.
#
The index.html.var file (a type-map) is used to deliver content-
negotiated documents.  The MultiViews Option can be used for the
same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var index.cgi .exe
13. จะปิดการใช้งานรายการ Directory ได้อย่างไรเมื่อไฟล์ดัชนีหายไป?

หากต้องการหยุดรายการไดเรกทอรี Apache คุณสามารถตั้งค่ากฎต่อไปนี้ในไฟล์การกำหนดค่าหลักทั่วโลกหรือในไฟล์ .htaccess สำหรับเว็บไซต์ใดเว็บไซต์หนึ่ง

<Directory /var/www/html>
   Options -Indexes
</Directory>
14. ไฟล์บันทึกที่แตกต่างกันของ Apache Web Server คืออะไร?
15. คุณเข้าใจอะไรเกี่ยวกับ “การรีเซ็ตการเชื่อมต่อโดยเพียร์” ในบันทึกข้อผิดพลาด
16. โฮสต์เสมือนใน Apache คืออะไร?

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

ตัวอย่าง VirtualHost
<VirtualHost *:80>
   ServerAdmin [email 
   DocumentRoot /www/docs/dummy-host.example.com
   ServerName dummy-host.example.com
   ErrorLog logs/dummy-host.example.com-error_log
   CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
  1. ServerAdmin : โดยปกติจะเป็นที่อยู่อีเมลของเจ้าของเว็บไซต์ ซึ่งสามารถส่งข้อผิดพลาดหรือการแจ้งเตือนได้
  2. DocumentRoot : ตำแหน่งที่ไฟล์เว็บอยู่ในเซิร์ฟเวอร์ (จำเป็น)
  3. ชื่อเซิร์ฟเวอร์ : เป็นชื่อโดเมนที่คุณต้องการเข้าถึงจากเว็บเบราว์เซอร์ของคุณ (จำเป็น)
  4. ErrorLog : ตำแหน่งของไฟล์บันทึกซึ่งมีการบันทึกบันทึกที่เกี่ยวข้องกับโดเมนทั้งหมด
17. และ แตกต่างกันอย่างไร?
  1. ใช้เพื่อตั้งค่าองค์ประกอบที่เกี่ยวข้องกับ URL/แถบที่อยู่ของเว็บเซิร์ฟเวอร์
  2. หมายถึงตำแหน่งของวัตถุระบบไฟล์บนเซิร์ฟเวอร์
18. Apache Virtual Hosting คืออะไร?

สำหรับข้อมูลเพิ่มเติม โปรดอ่านวิธีสร้างโฮสต์เสมือนที่ใช้ชื่อ/IP ใน Apache

19. MPM ใน Apache คุณเข้าใจอะไร
20. Worker และ Prefork MPM แตกต่างกันอย่างไร?
  1. ความแตกต่างพื้นฐานระหว่างผู้ปฏิบัติงานและ MPM อยู่ที่กระบวนการวางไข่กระบวนการย่อย ใน Prefork MPM กระบวนการ httpd หลักจะเริ่มต้นขึ้น และกระบวนการหลักนี้จะเริ่มจัดการกระบวนการลูกอื่นๆ ทั้งหมดเพื่อให้บริการตามคำขอของไคลเอ็นต์ ในขณะที่ในกระบวนการ MPM ของผู้ปฏิบัติงาน httpd หนึ่งกระบวนการทำงานอยู่ และใช้เธรดที่แตกต่างกันเพื่อให้บริการตามคำขอของไคลเอ็นต์
  2. Prefork MPM ใช้กระบวนการย่อยหลายรายการโดยแต่ละเธรดเดียว โดยที่ MPM ของผู้ปฏิบัติงานใช้กระบวนการย่อยหลายรายการโดยแต่ละเธรดจำนวนมาก
  3. การจัดการการเชื่อมต่อใน Prefork MPM แต่ละกระบวนการจะจัดการการเชื่อมต่อครั้งละหนึ่งรายการ ในขณะที่ Worker mpm แต่ละเธรดจะจัดการการเชื่อมต่อครั้งละหนึ่งรายการ
  4. พื้นที่หน่วยความจำ Prefork MPM พื้นที่หน่วยความจำขนาดใหญ่ โดยที่ Worker มีหน่วยความจำขนาดเล็กกว่า
21. “LimitRequestBody ” มีประโยชน์อย่างไร และจะจำกัดการอัพโหลดของคุณได้อย่างไร?

ตัวอย่างเช่น ฉันต้องการกำหนดขีดจำกัด 100000 ไบต์ในโฟลเดอร์ /var/www/html/tecmin/อัปโหลด ดังนั้นคุณต้องเพิ่มคำสั่งต่อไปนี้ในไฟล์กำหนดค่า Apache

<Directory "/var/www/html/tecmint/uploads">
LimitRequestBody 100000
</Directory>
22. mod_perl และ mod _php คืออะไร?
  1. mod_perl เป็นโมดูล Apache ซึ่งคอมไพล์ด้วย Apache เพื่อการบูรณาการที่ง่ายดายและเพื่อเพิ่มประสิทธิภาพของสคริปต์ Perl
  2. mod_php ใช้สำหรับการรวมสคริปต์ PHP เข้ากับเว็บเซิร์ฟเวอร์ได้อย่างง่ายดาย โดยฝังตัวแปล PHP ไว้ภายในกระบวนการ Apache มันบังคับให้กระบวนการลูกของ Apache ใช้หน่วยความจำมากขึ้นและใช้งานได้กับ Apache เท่านั้น แต่ยังคงได้รับความนิยมอย่างมาก
23. Mod_evasive คืออะไร?

สำหรับข้อมูลเพิ่มเติม โปรดอ่านบทความที่แนะนำวิธีติดตั้งและกำหนดค่า mod_evasive ใน Apache

24. การดีบัก Loglevel ในไฟล์ httpd.conf คืออะไร
25. mod_ssl มีประโยชน์อย่างไร และ SSL ทำงานร่วมกับ Apache อย่างไร
SSL ทำงานอย่างไรกับ Apache

เมื่อใดก็ตามที่มีคำขอ https สามขั้นตอนนี้ Apache จะตามมา:

  1. Apache จะสร้างคีย์ส่วนตัวและแปลงคีย์ส่วนตัวนั้นเป็นไฟล์ .CSR (คำขอลงนามใบรับรอง)
  2. จากนั้น Apache จะส่งไฟล์ .csr ไปยัง CA (ผู้ออกใบรับรอง)
  3. CA จะนำไฟล์ .csr และแปลงเป็น .crt (ใบรับรอง) และจะส่งไฟล์ .crt นั้นกลับไปที่ Apache เพื่อรักษาความปลอดภัยและ กรอกคำขอเชื่อมต่อ https

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

เราขอแนะนำให้คุณอ่านบทความก่อนหน้าของเราเกี่ยวกับ Apache

  1. 13 เคล็ดลับความปลอดภัยและความแข็งแกร่งของ Apache Web Server
  2. วิธีซิงค์เว็บเซิร์ฟเวอร์/เว็บไซต์ Apache สองแห่งโดยใช้ Rsync

นอกจากนี้ เราภูมิใจที่จะแจ้งให้ทราบว่าส่วน คำถาม/คำตอบ ของ TecMint Ask เวอร์ชันเบต้าของเราได้เปิดตัวแล้ว หากคุณมีคำถามเกี่ยวกับหัวข้อ Linux กรุณาเข้าร่วมกับเราและโพสต์คำถาม/ข้อสงสัยของคุณที่ https://linux-console.net/ask/

ฉันจะถามคำถามสัมภาษณ์เพิ่มเติมเกี่ยวกับเซิร์ฟเวอร์ DNS, เมล, PHP ฯลฯ ในบทความต่อๆ ไปของเรา จนกว่าจะถึงตอนนั้น Geeky และเชื่อมต่อกับ TecMint.com