Apache คืออะไร? การติดตั้ง Apache บน Windows (7) การเพิ่มไดเร็กทอรี PHP ให้กับ PATH บน Windows

เซิร์ฟเวอร์อาปาเช่ HTTP(จากภาษาอังกฤษ เซิร์ฟเวอร์เป็นแพตช์, “เซิร์ฟเวอร์พร้อมแพตช์” นอกจากนี้ ยังมีการพาดพิงถึงชนเผ่าอาปาเช่อินเดียนอีกด้วย การออกเสียงที่ผิดเพี้ยนเป็นเรื่องปกติสำหรับผู้ใช้ภาษารัสเซีย อาปาเช่) เป็นเว็บเซิร์ฟเวอร์ที่มีคุณสมบัติครบถ้วนและขยายได้ ซึ่งรองรับโปรโตคอล HTTP/1.1 อย่างสมบูรณ์ และเป็นโอเพ่นซอร์ส

เซิร์ฟเวอร์สามารถทำงานได้บนแพลตฟอร์มทั่วไปเกือบทั้งหมด มีเซิร์ฟเวอร์ปฏิบัติการสำเร็จรูปสำหรับ Windows NT, Windows 9x, OS/2, Netware 5.x และระบบ UNIX หลายระบบ ในขณะเดียวกันก็ติดตั้งและกำหนดค่าได้ง่ายมาก

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

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

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

เพื่อแยกส่วนการออกแบบและการทำงานของไซต์รวมทั้งลดความซับซ้อนในการปรับเปลี่ยนวัตถุคงที่จึงมีเทคโนโลยี SSI ช่วยให้คุณสามารถใส่ข้อมูลที่ซ้ำกันทั้งหมดไว้ในไฟล์เดียว (เช่น top.inc) จากนั้นแทรกลิงก์ไปยังหน้าต่างๆ จากนั้นหากจำเป็นต้องเปลี่ยนข้อมูลข้อมูลในไฟล์เดียวก็จะเปลี่ยน เซิร์ฟเวอร์ Apache รองรับเทคโนโลยีนี้และช่วยให้คุณใช้การรวมฝั่งเซิร์ฟเวอร์ได้เต็มศักยภาพ

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

Apache เป็นมาตรฐานเว็บเซิร์ฟเวอร์ชนิดหนึ่งบนอินเทอร์เน็ต คู่แข่งหลักคือ IIS (Internet Information Server) จาก Microsoft ซึ่งทำงานบน Windows Apache แม้ว่าจะมีหลายเวอร์ชันสำหรับ Windows แต่ส่วนใหญ่ติดตั้งบนระบบปฏิบัติการที่คล้าย Unix - Linux และ FreeBSD ควรสังเกตว่าโฮสต์ส่วนใหญ่ใช้ Apache ไม่ใช่ IIS โดยปกติแล้ว IIS จะถูกติดตั้งบนเซิร์ฟเวอร์องค์กรที่ใช้ Windows

เซิร์ฟเวอร์ Apache เป็นหนึ่งในเซิร์ฟเวอร์แรกๆ ที่รองรับเซิร์ฟเวอร์เสมือน (โฮสต์) ทำให้สามารถโฮสต์เว็บไซต์เต็มรูปแบบหลายแห่งบนเซิร์ฟเวอร์จริงเครื่องเดียวได้ แต่ละคนสามารถมีโดเมน ผู้ดูแลระบบ ที่อยู่ IP และอื่นๆ เป็นของตัวเองได้

Apache รองรับเทคโนโลยี CGI และ PHP รวมถึงความสามารถในการเชื่อมต่อภาษา ช่วยให้ทำงานกับหน้าเว็บไดนามิกได้ง่ายขึ้นมาก (ซึ่งจริงๆ แล้วคือหน้าเว็บเกือบทั้งหมดในทุกวันนี้)

ปัจจุบันเซิร์ฟเวอร์ Apache ได้รับการติดตั้งบนเซิร์ฟเวอร์ 67% ทั่วโลก

ประวัติความเป็นมาของการทรงสร้าง

Apache Server ได้รับการพัฒนาและดูแลโดย Apache Project

เดิมทีเป็นรูปแบบของเว็บเซิร์ฟเวอร์ NCSA ที่พัฒนาขึ้นที่ National Supercomputing Development Center ที่มหาวิทยาลัยอิลลินอยส์ แต่ในปี 1994 ผู้พัฒนาหลักของ NCSA ก็ออกจากโปรเจ็กต์นี้ ปล่อยให้ผู้ติดตามของเขาค้นหาเซิร์ฟเวอร์ของเขาเอง เมื่อเวลาผ่านไป การแก้ไขและการเพิ่มเติมในเซิร์ฟเวอร์ NCSA เริ่มปรากฏขึ้น - สิ่งที่เรียกว่าแพตช์ (แพตช์ แปลจากภาษาอังกฤษว่า "แพตช์") และในเดือนเมษายน พ.ศ. 2538 เซิร์ฟเวอร์ Apache เวอร์ชันแรกได้เปิดตัวซึ่งใช้เวอร์ชัน 1.3 ของเซิร์ฟเวอร์ NCSA Apache เวอร์ชันแรกรวมเอาการแก้ไขที่รู้จักทั้งหมดของเซิร์ฟเวอร์ NCSA ไว้ด้วยกัน และชื่อ Apache นั้นมาจากสิ่งนี้ – “A PatCHy”

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

เดิมทีเซิร์ฟเวอร์ Apache ได้รับการพัฒนาสำหรับระบบปฏิบัติการ Linux และ Unix แต่เมื่อเวลาผ่านไป เวอร์ชันของเซิร์ฟเวอร์ก็ได้รับการเผยแพร่สำหรับ Windows และ OS/2

ในขณะนี้ การพัฒนาดำเนินการในสาขา 2.2 และในเวอร์ชัน 1.3 และ 2.0 มีการแก้ไขข้อบกพร่องด้านความปลอดภัยเท่านั้น วันนี้ เวอร์ชันล่าสุดของสาขา 2.4 คือเวอร์ชัน 2.4.3 ซึ่งเผยแพร่เมื่อวันที่ 21 สิงหาคม 2555 สำหรับเวอร์ชันแรก การแก้ไขล่าสุดจะมีป้ายกำกับว่า 1.3.42

เว็บเซิร์ฟเวอร์ Apache ได้รับการพัฒนาและดูแลโดยชุมชนนักพัฒนาแบบเปิดภายใต้การอุปถัมภ์ของ Apache Software Foundation และรวมอยู่ในผลิตภัณฑ์ซอฟต์แวร์มากมาย รวมถึง Oracle DBMS และ IBM WebSphere

ตั้งแต่เดือนเมษายน พ.ศ. 2539 จนถึงปัจจุบัน เป็นเซิร์ฟเวอร์ HTTP ที่ได้รับความนิยมมากที่สุดบนอินเทอร์เน็ต ตัวเลขสูงสุดสำเร็จในปี 2555 - Apache ทำงานบนเซิร์ฟเวอร์ 67% ทั่วโลก ในปี 2554 ส่วนแบ่งอยู่ที่ 59% ในปี 2552 – 46% และในปี 2550 – 51%

แผนภาพการเรียกระบบภายในของ Apache

สถาปัตยกรรมอาปาเช่

แกน Apache มีฟังก์ชันการทำงานหลัก เช่น การจัดการไฟล์การกำหนดค่า โปรโตคอล HTTP และระบบการโหลดโมดูล แกนหลัก (ตรงข้ามกับโมดูล) ได้รับการพัฒนาทั้งหมดโดย Apache Software Foundation โดยไม่ต้องมีส่วนร่วมของโปรแกรมเมอร์บุคคลที่สาม

ตามทฤษฎีแล้ว เคอร์เนล Apache สามารถทำงานได้ในรูปแบบบริสุทธิ์โดยไม่ต้องใช้โมดูล อย่างไรก็ตาม ฟังก์ชันการทำงานของโซลูชันดังกล่าวมีจำกัดอย่างมาก

แกน Apache ถูกเขียนด้วยภาษาโปรแกรม C ทั้งหมด

ระบบการกำหนดค่าของ Apache ขึ้นอยู่กับไฟล์การกำหนดค่าแบบข้อความ มีการกำหนดค่าแบบมีเงื่อนไขสามระดับ:

  • การกำหนดค่าเซิร์ฟเวอร์ (httpd.conf)
  • การกำหนดค่าโฮสต์เสมือน (httpd.conf ตั้งแต่เวอร์ชัน 2.2, extra/httpd-vhosts.conf)
  • การกำหนดค่าระดับไดเรกทอรี (.htaccess)

มีภาษาของไฟล์การกำหนดค่าของตัวเองตามบล็อกคำสั่ง พารามิเตอร์เคอร์เนลเกือบทั้งหมดสามารถเปลี่ยนแปลงได้ผ่านไฟล์คอนฟิกูเรชัน รวมถึงการควบคุม MPM โมดูลส่วนใหญ่มีพารามิเตอร์ของตัวเอง บางโมดูลใช้ไฟล์คอนฟิกูเรชันของระบบปฏิบัติการในการทำงาน (เช่น /etc/passwd และ /etc/hosts) นอกจากนี้ พารามิเตอร์สามารถระบุได้ผ่านสวิตช์บรรทัดคำสั่ง

มีโมเดลการประมวลผลหลายตัวแบบสมมาตรมากมายสำหรับเว็บเซิร์ฟเวอร์ Apache Apache HTTP Server ยังรองรับโมดูลาร์อีกด้วย มีโมดูลมากกว่า 500 โมดูลที่ทำหน้าที่ต่างๆ แม้ว่าบางส่วนจะได้รับการพัฒนาโดยตรงโดยทีมงาน Apache Software Foundation แต่โมดูลที่มีอยู่ส่วนใหญ่ได้รับการพัฒนาโดยนักพัฒนาโอเพ่นซอร์สบุคคลที่สาม

โมดูลสามารถรวมอยู่ในเซิร์ฟเวอร์ ณ เวลารวบรวมหรือโหลดแบบไดนามิกผ่านคำสั่งไฟล์การกำหนดค่า

การใช้โมดูลคุณสามารถปรับใช้สิ่งต่อไปนี้:

  1. การขยายภาษาการเขียนโปรแกรมที่รองรับ
  2. การเพิ่มฟังก์ชั่นเพิ่มเติมหรือแก้ไขฟังก์ชั่นหลัก
  3. แก้ไขข้อบกพร่อง
  4. ความปลอดภัยที่เพิ่มขึ้น

เว็บแอปพลิเคชันบางตัว เช่น แผงควบคุม ISPmanager และ VDSmanager ถูกนำมาใช้เป็นโมดูล Apache

เซิร์ฟเวอร์ Apache มีกลไกโฮสต์เสมือนในตัว ด้วยเหตุนี้ จึงเป็นไปได้ที่จะให้บริการหลายไซต์ (ชื่อโดเมน) ได้อย่างสมบูรณ์บนที่อยู่ IP เดียว โดยแสดงเนื้อหาของตัวเองสำหรับแต่ละไซต์

สำหรับแต่ละโฮสต์เสมือน คุณสามารถระบุการตั้งค่าเคอร์เนลและโมดูลของคุณเอง จำกัดการเข้าถึงทั้งไซต์หรือแต่ละไฟล์ได้ MPM บางตัว เช่น Apache-ITK อนุญาตให้คุณเรียกใช้กระบวนการ httpd สำหรับโฮสต์เสมือนแต่ละโฮสต์ด้วย uid และ guid แยกกัน

นอกจากนี้ยังมีโมดูลที่ให้คุณคำนึงถึงและจำกัดทรัพยากรเซิร์ฟเวอร์ (CPU, RAM, การรับส่งข้อมูล) สำหรับแต่ละโฮสต์เสมือน

บูรณาการกับซอฟต์แวร์และภาษาการเขียนโปรแกรมอื่น ๆ

หากต้องการรวมเซิร์ฟเวอร์เข้ากับซอฟต์แวร์ต่างๆ รวมถึงภาษาการเขียนโปรแกรมได้สำเร็จ จึงมีโมดูลเพิ่มเติม:

  • PHP (mod_php)
  • หลาม (mod หลาม, mod wsgi)
  • ทับทิม (apache-ruby)
  • เพิร์ล (mod perl)
  • ASP (อาปาเช่-ASP)
  • Tcl (หมุดย้ำ)

Apache รองรับกลไก CGI และ FastCGI ซึ่งช่วยให้คุณสามารถรันโปรแกรมในทุกภาษาการเขียนโปรแกรม รวมถึง C, C++, Lua, sh, Java

ความปลอดภัย

การรักษาความปลอดภัยใน Apache ดำเนินการโดยใช้กลไกต่าง ๆ ที่จำกัดการเข้าถึงข้อมูล สิ่งสำคัญคือ:

  • การจำกัดการเข้าถึงไดเร็กทอรีหรือไฟล์บางอย่าง
  • กลไกในการอนุญาตให้ผู้ใช้เข้าถึงไดเร็กทอรีตามการตรวจสอบสิทธิ์ HTTP (mod_auth_basic) และการตรวจสอบสิทธิ์แบบแยกส่วน (mod_auth_digest)
  • การจำกัดการเข้าถึงบางไดเร็กทอรีหรือเซิร์ฟเวอร์ทั้งหมดตามที่อยู่ IP ของผู้ใช้
  • การห้ามการเข้าถึงไฟล์บางประเภทสำหรับผู้ใช้ทั้งหมดหรือบางส่วน เช่น การห้ามการเข้าถึงไฟล์การกำหนดค่าและไฟล์ฐานข้อมูล
  • มีโมดูลที่ใช้การอนุญาตผ่าน DBMS หรือ PAM

โมดูล MPM บางตัวมีความสามารถในการรันแต่ละกระบวนการของ Apache โดยใช้ uid และ gid ที่แตกต่างกันซึ่งสอดคล้องกับผู้ใช้และ/หรือกลุ่มผู้ใช้เหล่านั้น

นอกจากนี้ยังมีกลไก suexec ที่ใช้ในการเรียกใช้สคริปต์และแอปพลิเคชัน CGI ด้วยสิทธิ์ผู้ใช้และข้อมูลรับรอง

ในการใช้การเข้ารหัสข้อมูลที่ส่งระหว่างไคลเอนต์และเซิร์ฟเวอร์ จะใช้กลไก SSL ใช้งานผ่านไลบรารี OpenSSL ใบรับรอง X.509 ใช้เพื่อตรวจสอบสิทธิ์เว็บเซิร์ฟเวอร์

มีเครื่องมือรักษาความปลอดภัยภายนอก เช่น mod_security

ภาษา

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

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

การจัดการเหตุการณ์

ผู้ดูแลระบบสามารถตั้งค่าเพจและตัวจัดการที่กำหนดเองสำหรับข้อผิดพลาดและเหตุการณ์ HTTP ทั้งหมด เช่น 404 (ไม่พบ) หรือ 403 (ต้องห้าม) สามารถรันสคริปต์และแสดงข้อความในภาษาต่างๆ ได้

รวมฝั่งเซิร์ฟเวอร์

ในเวอร์ชัน 1.3 และเก่ากว่านั้น มีการใช้กลไกการรวมฝั่งเซิร์ฟเวอร์ ซึ่งช่วยให้คุณสามารถสร้างเอกสาร HTML แบบไดนามิกบนฝั่งเซิร์ฟเวอร์ได้

SSI ได้รับการจัดการโดยโมดูล mod_include ที่รวมอยู่ในการกระจาย Apache พื้นฐาน

อาปาเช่ กับ IIS

ข้อถกเถียงเกี่ยวกับการเลือก Apache หรือ IIS นั้นเก่าแก่เท่ากับข้อถกเถียงเกี่ยวกับการเลือกระบบปฏิบัติการ - Linux หรือ Windows ดังนั้นก่อนตัดสินใจเลือกขั้นสุดท้ายจึงควรประเมินข้อดีและข้อเสียของทั้งสองอย่างเพียงพอ

ข้อได้เปรียบหลักของระบบเซิร์ฟเวอร์ Apache และ LAMP:

  1. ต้นทุนต่ำเนื่องจากไม่จำเป็นต้องซื้อลิขสิทธิ์ซอฟต์แวร์
  2. การเขียนโปรแกรมที่ยืดหยุ่นด้วยโค้ดโอเพ่นซอร์ส
  3. ความปลอดภัยที่ได้รับการปรับปรุง เนื่องจาก Apache ได้รับการออกแบบมาสำหรับระบบปฏิบัติการที่ไม่ใช่ Windows (และมัลแวร์ส่วนใหญ่เขียนขึ้นสำหรับระบบปฏิบัติการของ Microsoft) จึงมีชื่อเสียงในด้านความปลอดภัยมากกว่า IIS ของ Microsoft มาโดยตลอด

ประโยชน์ของบริการข้อมูลทางอินเทอร์เน็ต (IIS):

  1. Microsoft รองรับ Windows และ IIS ในขณะที่ Apache รองรับโดยชุมชนผู้ใช้เท่านั้น
  2. IIS รองรับแพลตฟอร์ม .NET และสคริปต์ ASPX ของ Microsoft
  3. โมดูลช่วยให้คุณสามารถเปิดใช้งานการสตรีมเนื้อหาเสียงและวิดีโอได้

เมื่อเปรียบเทียบข้อดีของเซิร์ฟเวอร์ทั้งสองนี้ ก็สามารถสรุปได้หลายประการ ประการแรกหากค่าลิขสิทธิ์เป็นเกณฑ์หลักในการเลือกเซิร์ฟเวอร์ ก็คุ้มค่าที่จะเลือกชุดค่าผสม LAMP เนื่องจากไม่มีค่าลิขสิทธิ์ ประการที่สองตามเกณฑ์ความปลอดภัย Apache เป็นผู้นำอีกครั้ง - ระบบค่อนข้างมีประสิทธิภาพมากกว่า ประการที่สาม IIS ทำงานบน Windows OS เท่านั้น และการเปลี่ยนแปลงใด ๆ ในการเลือกระบบปฏิบัติการจะนำไปสู่ ​​​​Apache อีกครั้ง

ตัวเลือกเดียวที่ IIS บนแพลตฟอร์ม Windows จะเป็นตัวเลือกที่ดีที่สุดคือเกณฑ์หลักโดยใช้เครื่องมือการดูแลระบบที่ใช้งานง่ายที่สุด นอกจากนี้ สคริปต์ที่กำลังดำเนินการจะต้องอาศัย ASPX เพียงอย่างเดียว

อย่างไรก็ตาม เป็นไปได้ที่จะพัฒนาโซลูชันที่จะสนับสนุนการทำงานบนเซิร์ฟเวอร์ทั้งสองเครื่อง

บทความนี้อธิบายการติดตั้ง Apache 2.4 + PHP 5.6 + MySQL 5.6 บนระบบปฏิบัติการ Windows 7/8 / 8.1 / 10

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

คำแนะนำนี้จะมีประโยชน์สำหรับนักพัฒนาเว็บมือใหม่ที่จะติดตั้งเซิร์ฟเวอร์ Apache WEB ด้วยล่าม PHP เวอร์ชันล่าสุดบนพีซี Windows แน่นอนว่าการติดตั้งชุดประกอบเช่น Denwer ทำได้ง่ายกว่ามากหรือใช้โปรแกรมติดตั้งและไม่ต้องกังวลกับการตั้งค่า อย่างไรก็ตามนักพัฒนาเว็บทุกคน จำเป็นต้องเข้าใจกระบวนการดำเนินงานของเว็บเซิร์ฟเวอร์ กระบวนการติดตั้งและการกำหนดค่า

หากคุณต้องการติดตั้ง PHP 7 โปรดดูบทความ

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

โปรดทราบว่าภายใต้ Windows XP เวอร์ชันเหล่านี้ VC11มันจะเป็นไปไม่ได้ (หรือยากมาก) ที่จะเปิดตัว

งานเตรียมการ

ตรวจสอบให้แน่ใจว่าคุณมี Windows 7 หรือใหม่กว่า หากคุณมี Windows XP คำแนะนำเหล่านี้จะไม่ช่วยคุณ เนื่องจากเวอร์ชันของ Apache ที่อธิบายไว้ที่นี่ใช้ไม่ได้กับ Windows XP

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

หากคุณมี Skype อย่าลืมปิดการใช้งานพอร์ต 80 ในการตั้งค่า ท้ายที่สุด คุณต้องตรวจสอบให้แน่ใจว่าไม่มีบริการใดใช้พอร์ต 80

ในการทำงาน เป็นที่พึงปรารถนาอย่างยิ่งที่จะมีตัวจัดการไฟล์ที่ให้คุณสร้างไฟล์ที่มีนามสกุลใด ๆ หรือที่ดียิ่งกว่านั้นคือตัวแก้ไขโค้ดเช่น Sublime Text หรือ Notepad++ หรือ IDE ที่มีคุณสมบัติครบถ้วน

โครงสร้างโฟลเดอร์อาจแตกต่างกัน แต่คำสั่งนี้เขียนขึ้นสำหรับโครงสร้างเฉพาะและหากคุณปฏิบัติตาม ทุกอย่างรับประกันว่าจะใช้งานได้
ก่อนที่คุณจะเริ่ม ให้สร้างบนดิสก์ ดีโฟลเดอร์ ล้าหลังภายในซึ่งสร้าง 5 โฟลเดอร์ย่อย: อาปาเช่, PHP, ทีเอ็มพี, www, บันทึก- ถูกต้องแล้ว โดยไม่ต้องระบุหมายเลขเวอร์ชัน

ในแค็ตตาล็อก wwwสร้างไฟล์ดัชนี (โดยใช้ตัวจัดการไฟล์หรือโปรแกรมแก้ไขโค้ด) ที่จำเป็นในการตรวจสอบว่าทุกอย่างใช้งานได้:

  • ดัชนี.htmlมีเนื้อหา: มันได้ผล!
  • ดัชนี.phpมีเนื้อหา:

หากคุณไม่มีตัวจัดการไฟล์/ตัวแก้ไขโค้ด/IDE ให้ดาวน์โหลดไฟล์เก็บถาวรด้วยสองไฟล์นี้ แต่ถ้าคุณคิดว่าตัวเองเป็นนักพัฒนาเว็บ คุณจะต้องมีเครื่องมือเหล่านี้

เพิ่มตัวแปรระบบ PATH:

;D:\USR\apache;D:\USR\apache\bin;D:\USR\php;

หมายเหตุ!

หมายเลขบรรทัดที่ระบุในไฟล์การกำหนดค่าตัวอย่างอาจแตกต่างกันสำหรับ apache และ php เวอร์ชันอื่น
คำสั่งทั้งหมด รวมถึงการแก้ไขไฟล์ จะต้องดำเนินการในฐานะผู้ดูแลระบบ

การติดตั้งอาปาเช่ 2.4

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

  1. กำลังโหลด Apache 2.4 ไบนารี VC11สำหรับระบบของคุณที่ลิงค์ http://www.apache lounge.com/download/VC11/ ส่วนใหญ่แล้วคุณจะมีระบบปฏิบัติการ 64 บิต ดังนั้นคุณจะต้องมีไฟล์ที่มีชื่อเช่น httpd-2.4 xx-win64-VC11.zip
  2. หากคุณต้องการโมดูลเพิ่มเติม คุณสามารถดาวน์โหลดได้จากที่นั่น (ไม่จำเป็นสำหรับการติดตั้งขั้นพื้นฐาน)
  3. คลายซิปเนื้อหาของโฟลเดอร์ อาปาเช่24จากไฟล์เก็บถาวรที่ดาวน์โหลดไปที่ D:\USR\apache- โปรดทราบว่าใน D:\USR\apache คุณไม่ต้องใส่โฟลเดอร์ Apache24 จากไฟล์เก็บถาวร แต่ต้องใส่เนื้อหาในนั้น ไม่จำเป็นต้องติดตั้งอะไรเลย
  4. เปลี่ยนค่าในไฟล์ เซิร์ฟเวอร์รูทถึง "d:/USR/apache" ( บรรทัดที่ 37) และค่า DocumentRoot(และ ผู้อำนวยการ) ถึง "d:/USR/www" ( บรรทัดที่ 242 และ 243- คุณควรยกเลิกการใส่เครื่องหมายข้อคิดเห็นบรรทัด 218 และเปลี่ยนเป็น: ชื่อเซิร์ฟเวอร์โฮสต์ท้องถิ่น:80
  5. เราเปลี่ยนพารามิเตอร์การจัดเก็บบันทึกในไฟล์เดียวกัน (ค้นหาพารามิเตอร์และการเปลี่ยนแปลง): ErrorLog "D:/USR/log/apache-error.log" CustomLog "D:/USR/log/apache-access.log" ทั่วไป
  6. ติดตั้งบริการ Apache (ในนามของผู้ดูแลระบบ) เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบและวางบรรทัดต่อไปนี้ที่นั่น: D:\USR\apache\bin\httpd.exe -k install
  7. เราตรวจสอบข้อความแสดงข้อผิดพลาดระหว่างการติดตั้งบริการ หากทุกอย่างถูกต้องก็ไม่น่าจะมีข้อผิดพลาด หากหลังจากดำเนินการบรรทัดแล้ว บรรทัดคำสั่งไม่ปรากฏขึ้นอีก แสดงว่าคุณทำอะไรผิด เพียงใช้ฟังก์ชันคัดลอกและวางเพื่อหลีกเลี่ยงข้อผิดพลาดในการพิมพ์
  8. สร้างทางลัดบนเดสก์ท็อปสำหรับ D:\USR\apache\bin\ApacheMonitor.exeและ/หรือวางไว้ในการเริ่มต้น (เพื่อเปิดหน้าต่างเริ่มต้นใน WIN8 ให้กด WIN+R จากนั้น Enter เปลือก: การเริ่มต้นและคลิกตกลง)
  9. เปิดตัว ApacheMonitor ทางลัดจะปรากฏในถาดระบบ คลิกซ้ายที่มันแล้วเลือก Apache24 -> เริ่ม
  10. ในเบราว์เซอร์ไปที่ http://localhost/ - คุณควรเห็น มันได้ผล!
  11. หากคุณไม่เห็นคำจารึกดังกล่าว เราก็จะเข้าใจได้ว่าเกิดอะไรขึ้น (เราอ่านบันทึก, Google, พยายามเข้าใจปัญหาด้วยตัวเองเนื่องจากเราตัดสินใจที่จะเข้าใจความซับซ้อนของเว็บเซิร์ฟเวอร์)

การติดตั้ง PHP 5.6

  1. ดาวน์โหลดเวอร์ชันล่าสุด VC11x86ด้ายปลอดภัยหรือ VC11x64ด้ายปลอดภัยผ่านลิงค์ http://windows.php.net/download/ โปรดทราบว่าคุณต้องการ VC11และแน่นอน ด้ายปลอดภัย- ความกว้างบิตควรเหมือนกับ Apache ไฟล์ที่คุณต้องการมักจะมีชื่อว่า: php-5.6.11-Win32-VC11-x86.zip หรือ php-5.6.11-Win32-VC11-x64.zip
  2. แยกเนื้อหาของไฟล์เก็บถาวรออกเป็น ง:\USR\php- เช่นเดียวกับ Apache ไม่จำเป็นต้องติดตั้งอะไรเลย
  3. หากต้องการไฟล์ D:\USR\apache\conf\httpd.confเพิ่มบรรทัด: LoadModule php5_module "d:/USR/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php # พาธไปยังไฟล์ php.ini PHPIniDir "D:/USR/php"
  4. และเปลี่ยนค่า ดัชนีไดเรกทอรีบน index.html index.php (บรรทัดที่ 276)
  5. ใช้ ApacheMonitor เรารีสตาร์ท Apache (Apache24 -> รีสตาร์ท)
  6. เราไปที่เบราว์เซอร์ http://localhost/index.php และตรวจสอบให้แน่ใจว่า PHP ใช้งานได้
  7. การทำสำเนาของไฟล์ D:\USR\php\php.ini-การพัฒนามีชื่อ D:\USR\php\php.ini
  8. เมื่อใช้การค้นหา เราจะค้นหา ไม่แสดงข้อคิดเห็น และเปลี่ยนพารามิเตอร์: extension_dir = "D:/USR/php/ext" sys_temp_dir = "D:/USR/tmp" extension=php_mysql.dll extension=php_mysqli.dll extension=php_openssl.dll date.timezone = ยุโรป/ซาโปโรซเย
  9. ดำเนินการบนบรรทัดคำสั่ง PHP -มเพื่อดูรายการโมดูลที่เชื่อมต่อ
  10. รีสตาร์ท Apache โดยใช้ ApacheMonitor

โฮสต์เสมือนใน Apache

  1. หากคุณกำลังแก้ไขหลายโครงการบนคอมพิวเตอร์ของคุณ คุณอาจจำเป็นต้องมีโฮสต์เสมือน (ไซต์) เป็นตัวอย่าง เราจะพิจารณาโฮสต์เสมือนสองโฮสต์: s1.localhostและ s2.localhost- เพื่อความสะดวก เราจะสร้างโฟลเดอร์ที่มีชื่อเดียวกันซึ่งไม่จำเป็นเลยในระบบจริง
  2. โปรดทราบว่าเมื่อใช้โฮสต์เสมือนพารามิเตอร์ DocumentRootไฟล์การกำหนดค่า Apache ไม่สมเหตุสมผลอีกต่อไป โฮสต์หลักของเซิร์ฟเวอร์ (ซึ่งจะสามารถเข้าถึงได้ที่ http://localhost/) ขณะนี้ โฮสต์เสมือนเครื่องแรกในไฟล์คอนฟิกูเรชันโฮสต์เสมือน!
  3. ขั้นแรก คุณต้องเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ c:\Windows\System32\drivers\etc\hosts: 127.0.0.1 s1.localhost 127.0.0.1 s2.localhost

    สิ่งนี้จะต้องกระทำในนามของผู้ดูแลระบบ ขอแนะนำให้รีบูตหลังจากนี้ แต่ในทางปฏิบัติก็ไม่จำเป็น หากคุณไม่สามารถเปลี่ยนไฟล์ (สิทธิ์) คุณสามารถคัดลอกไฟล์ไปยังเดสก์ท็อปของคุณ เปลี่ยนไฟล์ แล้วคัดลอกกลับได้

  4. การสร้างโฟลเดอร์สำหรับโฮสต์เสมือน D:\USR\www\s1.localhostและ D:\USR\www\s2.localhostซึ่งไฟล์ต่างๆ จะถูกบรรจุอยู่ สร้างไฟล์ในแต่ละโฟลเดอร์ ดัชนี.htmlมีเนื้อหา S1และ เอส2ตามนั้น (เพื่อตรวจสอบว่าทุกอย่างทำงานได้ตามปกติ)
  5. จากนั้นเราสร้างโฟลเดอร์สำหรับบันทึก: D:\USR\log\s1.localhostและ D:\USR\log\s2.localhost- บันทึกสำหรับแต่ละไซต์จะถูกเก็บไว้ที่นี่ จริงๆ แล้ว บันทึกสามารถเก็บไว้ในโฟลเดอร์เดียวได้ แต่ฉันคุ้นเคยกับการทำเช่นนี้ - สะดวกกว่าสำหรับฉัน
  6. ถัดไป คุณต้องเปิดใช้งานการสนับสนุนสำหรับโฮสต์เสมือน ในไฟล์ D:\USR\apache\conf\httpd.confยกเลิกการใส่เครื่องหมายข้อคิดเห็นบรรทัด รวม conf/extra/httpd-vhosts.conf
  7. ต่อไปเราจะแก้ไขไฟล์ d:\USR\apache\conf\extra\httpd-vhosts.conf— ควรมีลักษณะเช่นนี้ (แต่ละโฮสต์เสมือนมีบล็อก VirtualHost ของตัวเอง): ผู้ดูแลระบบเซิร์ฟเวอร์ [ป้องกันอีเมล] DocumentRoot "D:/USR/www/s1.localhost" ชื่อเซิร์ฟเวอร์ s1.localhost ServerAlias ​​www.s1.localhost ErrorLog "D:/USR/log/s1.localhost/error.log" CustomLog "D:/USR/log /s1 .localhost/access.log" ทั่วไป ผู้ดูแลระบบเซิร์ฟเวอร์ [ป้องกันอีเมล] DocumentRoot "D:/USR/www/s2.localhost" ชื่อเซิร์ฟเวอร์ s2.localhost ServerAlias ​​www.s2.localhost ErrorLog "D:/USR/log/s2.localhost/error.log" CustomLog "D:/USR/log /s2 .localhost/access.log" ทั่วไป
  8. โฮสต์เสมือนเครื่องแรก s1.localhostตอนนี้จะเป็นโฮสต์หลักของระบบเพราะว่า บล็อกของมันมาก่อนในไฟล์คอนฟิกูเรชัน เช่น จะสามารถใช้ได้เมื่อเข้าสู่

Apache (เซิร์ฟเวอร์ Apache HTTP) ชื่อของเว็บเซิร์ฟเวอร์ที่มีชื่อเสียงและแพร่หลายที่สุดซึ่งรองรับโปรโตคอล HTTP/1.1 โดยพื้นฐานแล้ว เว็บเซิร์ฟเวอร์เป็นโปรแกรมที่มีประสิทธิภาพซึ่งออกแบบมาเพื่อประมวลผลคำขอ http จากแถบที่อยู่ของเบราว์เซอร์ และส่งคืนไฟล์ที่จำเป็นตามคำขอนี้ เพื่อให้ง่ายขึ้น เว็บเซิร์ฟเวอร์อนุญาตให้คุณสร้างการสื่อสารระหว่างเบราว์เซอร์และเซิร์ฟเวอร์ตามรูปแบบต่อไปนี้: เบราว์เซอร์ขอให้มอบไฟล์ไซต์ตามที่อยู่ และเว็บเซิร์ฟเวอร์จะมอบให้ นี่เป็นเรื่องง่ายมาก “การสื่อสาร” เกิดขึ้นผ่านโปรโตคอล HTTP

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

ไม่นานมานี้ Apache มีการผูกขาดเสมือนในการแก้ปัญหา ขณะนี้เว็บเซิร์ฟเวอร์ Nignix หมดเวลาแล้ว มีการใช้ symbiosis ของ Apache และ Nignix เพิ่มมากขึ้น

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

การจัดการอาปาเช่

หากต้องการทำความคุ้นเคยกับเว็บเซิร์ฟเวอร์ Apache ควรทำความคุ้นเคยกับวิธีจัดการบริการ Apache จากฝั่งไคลเอ็นต์

มีแนวโน้มว่าความง่ายในการจัดการภายนอกของบริการเว็บ Apache คือสิ่งที่ทำให้ได้รับความนิยมอย่างมาก (หรือนี่คือหนึ่งในเหตุผล) ในการจัดการบริการเว็บ Apache จะมีไฟล์พิเศษชื่อ .htaccess (มีจุดอยู่ที่จุดเริ่มต้น) ในแง่ของฟังก์ชันการทำงาน จะคล้ายกับไฟล์ robots.txt สำหรับโรบ็อตการค้นหา ด้วยคำสั่งพิเศษที่เขียนไว้ในไฟล์นี้ คุณในฐานะผู้ใช้สามารถควบคุมการส่งเพจบนเว็บไซต์ของคุณ สร้างการเปลี่ยนเส้นทาง ฯลฯ โดยไม่ต้องเจาะลึกซอฟต์แวร์เซิร์ฟเวอร์ นอกจากไฟล์ .htaccess แล้ว สำหรับการจัดการ Apache ยังมีไฟล์ htpasswd (มีจุดที่เริ่มต้นด้วย) และโมดูล mod_auth และ mod_access

แต่กลับมาที่เซิร์ฟเวอร์ภายในเครื่องกันหากต้องการติดตั้ง (สร้าง) เซิร์ฟเวอร์ภายในเครื่องบนคอมพิวเตอร์ของคุณ คุณไม่สามารถทำได้หากไม่มี Apache ฉันขอเตือนคุณอีกครั้งว่าในตัวย่อและ LAMP ตัวอักษร [A] คือเว็บเซิร์ฟเวอร์ Apache

ในแอสเซมบลีทั้งหมดของเซิร์ฟเวอร์ภายในเครื่อง เช่น Denver, Open-server, XAMPP ฯลฯ เว็บเซิร์ฟเวอร์ Apache มีความสำคัญอย่างยิ่ง หากเราประกอบเซิร์ฟเวอร์ด้วยตัวเองซึ่งเป็นสิ่งที่เรากำลังทำอยู่ จะต้องติดตั้ง Apache อย่างอิสระ

ฉันควรติดตั้ง Apache เวอร์ชันใด

Apache พัฒนาในสองสาขา (เวอร์ชัน): Apache 1.3 และ Apache 2.x ไม่จำเป็นต้องติดตั้งเวอร์ชันเก่า 1.3 ดังนั้นเราจึงทำงานกับเวอร์ชัน 2.x

ตอนนี้ส่วนที่สับสนที่สุด คุณทราบดีว่าเกือบทุกโปรแกรมสามารถติดตั้งได้สองวิธี:

  • การใช้ตัวติดตั้งอัตโนมัติ (ตัวติดตั้ง) ไฟล์ ;
  • โดยตรงโดยการอัพโหลดไดเร็กทอรีและไฟล์โปรแกรมไปยังไดเร็กทอรีที่ต้องการบนดิสก์

ด้วย Apache สถานการณ์จะเป็นดังนี้:

  • Apache 2.4.26 เวอร์ชันล่าสุด (เปิดตัว 19-06-2560) มีเฉพาะในตัวเลือกการติดตั้งด้วยตนเองเท่านั้น (ลิงก์ด้านล่าง)
  • เวอร์ชันตัวติดตั้งประกอบด้วย Apache 2.2.25 เวอร์ชันล่าสุด

นั่นคือทั้งหมด! ความใกล้ชิดครั้งแรกกับ Apache เกิดขึ้น ในบทความต่อไปนี้ ฉันจะแสดงวิธีการติดตั้ง Apache ทั้งสองเวอร์ชันบนคอมพิวเตอร์ของคุณ

ในที่สุด ลิงค์ที่จำเป็น

การนำทางบนเว็บไซต์เว็บเซิร์ฟเวอร์ Apache (http) ค่อนข้างสับสน ดังนั้นฉันจะให้ลิงก์ที่จำเป็น:

  • เว็บไซต์เซิร์ฟเวอร์ Apache (http://httpd.apache.org/)
  • ดาวน์โหลดเว็บเซิร์ฟเวอร์ Apache ( http://httpd.apache.org/download.cgi)
  • ดาวน์โหลดเวอร์ชันเสถียร - เวอร์ชันล่าสุด: 2.4.26 (เผยแพร่ 2017-06-19) (สำหรับ Windows)
  • ดาวน์โหลดฉบับที่ล้าสมัย - ซีรี่ส์ 2.2 2.2.32 (เผยแพร่เมื่อ 13-01-2017)
  • เวอร์ชันไบนารี่: https://archive.apache.org/dist/httpd/binaries/win32/ (2013-07-10)

อาปาเช่คืออะไร? อี จากนั้นซอฟต์แวร์โอเพ่นซอร์ส เว็บเซิร์ฟเวอร์ซึ่งขับเคลื่อนประมาณ 46% ของเว็บไซต์ทั่วโลก ชื่ออย่างเป็นทางการคือ Apache HTTP Server ดูแลและพัฒนาโดย Apache Software Foundation

เว็บเซิร์ฟเวอร์อนุญาตให้เจ้าของเว็บไซต์ให้บริการเนื้อหาของตนบนอินเทอร์เน็ต ดังที่ชื่อ "เว็บเซิร์ฟเวอร์" สื่อถึง Apache เป็นหนึ่งในเว็บเซิร์ฟเวอร์ที่เก่าแก่และน่าเชื่อถือที่สุด โดยมีเวอร์ชันแรกที่เปิดตัวเมื่อกว่า 20 ปีที่แล้วในปี 1995

เมื่อมีคนต้องการเข้าชมเว็บไซต์ พวกเขาจะป้อนชื่อโดเมนลงในแถบที่อยู่ของเบราว์เซอร์ เว็บเซิร์ฟเวอร์จะส่งไฟล์ที่ร้องขอเสมือนผู้ส่งสารเสมือน

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

การประมวลผลไฟล์ การประมวลผลฐานข้อมูล เมลและเว็บเซิร์ฟเวอร์ใช้ซอฟต์แวร์เซิร์ฟเวอร์ประเภทต่างๆ แต่ละแอปพลิเคชันเหล่านี้สามารถเข้าถึงไฟล์ที่จัดเก็บไว้ในเซิร์ฟเวอร์จริงและใช้เพื่อวัตถุประสงค์ที่แตกต่างกัน

หน้าที่ของเว็บเซิร์ฟเวอร์คือการให้บริการเว็บไซต์บนอินเทอร์เน็ต เมื่อต้องการทำเช่นนี้ จะทำหน้าที่เป็นสื่อกลางระหว่างคอมพิวเตอร์เซิร์ฟเวอร์และคอมพิวเตอร์ไคลเอนต์ ใช้เนื้อหาจากเซิร์ฟเวอร์สำหรับคำขอของผู้ใช้แต่ละรายและส่งไปยังเครือข่าย

ความท้าทายที่ใหญ่ที่สุดของเว็บเซิร์ฟเวอร์คือการตอบสนองคำขอต่างๆ จากผู้ใช้จำนวนมากไปพร้อมๆ กัน เว็บเซิร์ฟเวอร์ประมวลผลไฟล์ที่เขียนด้วยภาษาการเขียนโปรแกรมที่แตกต่างกัน เช่น PHP, Python, Java และอื่นๆ

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

เว็บเซิร์ฟเวอร์ Apache ทำงานอย่างไร?

แม้ว่า Apache จะถูกเรียกว่าเว็บเซิร์ฟเวอร์ แต่จริงๆ แล้วไม่ใช่เซิร์ฟเวอร์ แต่เป็นโปรแกรมที่ทำงานบนเซิร์ฟเวอร์ หน้าที่คือสร้างการเชื่อมต่อระหว่างเซิร์ฟเวอร์และเบราว์เซอร์ของผู้เยี่ยมชม (Firefox, Google Chrome, Safari ฯลฯ ) ในขณะที่ส่งไฟล์ไปมาระหว่างพวกเขา (โครงสร้างไคลเอนต์ - เซิร์ฟเวอร์) Apache เป็นซอฟต์แวร์ข้ามแพลตฟอร์ม ซึ่งหมายความว่าทำงานได้ดีบนเซิร์ฟเวอร์ Unix และ Windows

เมื่อผู้เยี่ยมชมต้องการโหลดหน้าบนเว็บไซต์ของคุณ เช่น หน้าแรกของคุณหรือหน้า "เกี่ยวกับเรา" เบราว์เซอร์ของพวกเขาจะส่งคำขอไปยังเซิร์ฟเวอร์ของคุณและ Apache จะตอบกลับด้วยไฟล์ที่ร้องขอทั้งหมด (ข้อความ รูปภาพ ฯลฯ) . เซิร์ฟเวอร์และไคลเอนต์สื่อสารโดยใช้ HTTP และ Apache รับผิดชอบการเชื่อมต่อที่ราบรื่นและปลอดภัยระหว่างทั้งสองเครื่อง

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

Apache และเว็บเซิร์ฟเวอร์อื่นๆ

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

เขาอยู่ที่นี่ - ยิ่งใหญ่และแย่มาก ในช่วงชีวิตของมัน ได้ทำลายนักพัฒนาเว็บมือใหม่จำนวนมากที่เสียชีวิตในการตั้งค่าไฟล์การกำหนดค่า 🙂 แต่คุณและฉันเป็นคนที่มีจิตใจเข้มแข็งและท้องแข็ง - ไปกันเลย

การติดตั้งและการตั้งค่าเบื้องต้น

แตกไฟล์เก็บถาวรการแจกจ่ายลงในไดเร็กทอรี C:\Apache2

เปิดไฟล์ “C:\Apache2\conf\httpd.conf” ในโปรแกรมแก้ไขข้อความ ซึ่งเป็นไฟล์การกำหนดค่าหลักสำหรับเซิร์ฟเวอร์ Apache

เอาล่ะเดี๋ยวก่อน ขอความร่วมมือสตรี ผู้สูงอายุ และเด็กอย่าอ่านต่อ ผู้เขียนจะไม่รับผิดชอบต่อสภาพจิตใจของผู้ที่อ่านบทความจนจบ

การแก้ไขไฟล์ httpd.conf

  1. หากต้องการโหลดโมดูล mod_rewrite ให้ค้นหาและยกเลิกการใส่เครื่องหมายข้อคิดเห็น (ลบสัญลักษณ์ “#” ที่จุดเริ่มต้นของบรรทัด) บรรทัดนี้:
    LoadModule โมดูล rewrite_module/mod_rewrite.so
  2. หากต้องการโหลดล่าม PHP คุณต้องเพิ่มบรรทัดที่ส่วนท้ายของบล็อกการโหลดโมดูล:
    LoadModule php5_module "C:/php/php5apache2_2.dll"
  3. กำหนดไดเร็กทอรีที่มีไฟล์คอนฟิกูเรชัน PHP โดยเพิ่มบรรทัดต่อไปนี้:
    PHPIniDir "C:/php"
  4. ค้นหาและยกเลิกการใส่เครื่องหมายข้อคิดเห็นบรรทัด:
    ชื่อเซิร์ฟเวอร์ www.example.com:80
    แก้ไขดังนี้โดยตั้งชื่อเซิร์ฟเวอร์เดิม:
    ชื่อเซิร์ฟเวอร์โฮสต์ท้องถิ่น:80
  5. ค้นหาบรรทัด:
    DocumentRoot "c:/Apache2/htdocs"
    กำหนดไดเรกทอรีการจัดการไซต์รูท (เราจะสร้างใหม่ในภายหลัง):
    DocumentRoot "C:/apache"
  6. ค้นหาบล็อกนี้:

    ตัวเลือก FollowSymLinks
    AllowOverride ไม่มี
    คำสั่งปฏิเสธอนุญาต
    ปฏิเสธจากทั้งหมด

    และแทนที่ด้วยสิ่งต่อไปนี้:

    ตัวเลือกรวมถึงดัชนี FollowSymLinks
    อนุญาตแทนที่ทั้งหมด
    อนุญาตจากทั้งหมด
  7. ลบหรือใส่ความคิดเห็นในบล็อกควบคุมไดเร็กทอรีดั้งเดิม (เราไม่ต้องการมัน) ซึ่งหากไม่มีความคิดเห็นจะมีลักษณะดังนี้:

    ตัวเลือกดัชนี FollowSymLinks
    AllowOverride ไม่มี
    คำสั่งอนุญาต, ปฏิเสธ
    อนุญาตจากทั้งหมด
  8. ค้นหาบล็อก:

    DirectoryIndexดัชนี.html

    แทนที่ด้วย:

    DirectoryIndex index.html index.htm index.shtml index.php
  9. ค้นหาบรรทัด:
    ErrorLog "บันทึก/error.log"
    แทนที่ด้วยสิ่งต่อไปนี้ (ในกรณีนี้ จะสะดวกกว่าในการดูไฟล์ข้อผิดพลาดเซิร์ฟเวอร์ส่วนกลาง):
    บันทึกข้อผิดพลาด "C:/apache/error.log"
  10. ค้นหาบรรทัด:
    CustomLog "logs/access.log" ทั่วไป
    แทนที่ด้วย:
    CustomLog "C:/apache/access.log" ทั่วไป
  11. ในการใช้งาน SSI (การเปิดใช้งานฝั่งเซิร์ฟเวอร์) บรรทัดต่อไปนี้จะอยู่ในบล็อก คุณต้องค้นหาและไม่แสดงข้อคิดเห็น:
    เพิ่มประเภทข้อความ/html .shtml
    AddOutputFilter ประกอบด้วย .shtml
  12. เพิ่มด้านล่างในบล็อกเดียวกัน สองบรรทัด:
    แอปพลิเคชัน AddType/x-httpd-php .php
    แอปพลิเคชัน AddType/x-httpd-php-source .phps
  13. สุดท้าย ค้นหาและไม่ใส่เครื่องหมายข้อคิดเห็นบรรทัด:
    รวม conf/extra/httpd-mpm.conf
    รวม conf/extra/httpd-autoindex.conf
    รวม conf/extra/httpd-vhosts.conf
    รวม conf/extra/httpd-manual.conf
    รวม conf/extra/httpd-default.conf

บันทึกการเปลี่ยนแปลงและปิดไฟล์ "httpd.conf"

ตอนนี้เปิดไฟล์ “C:\Apache2\conf\extra\httpd-vhosts.conf” และทำการเปลี่ยนแปลงต่อไปนี้

บล็อกตัวอย่างโฮสต์เสมือนที่มีอยู่จำเป็นต้องลบออก และแทรกเฉพาะรายการต่อไปนี้:
ชื่อ VirtualHost *:80


DocumentRoot "C:/apache/localhost/www"
ชื่อเซิร์ฟเวอร์โฮสต์ท้องถิ่น
บันทึกข้อผิดพลาด "C:/apache/localhost/error.log"
CustomLog "C:/apache/localhost/access.log" ทั่วไป

บันทึกการเปลี่ยนแปลงและปิดไฟล์ "httpd-vhosts.conf"

การตั้งค่าไฟล์การกำหนดค่าเสร็จสมบูรณ์ ตอนนี้คุณต้องติดตั้งบริการ Apache2.2

การติดตั้งบริการ Apache2.2 ในรูปภาพ

เปิดบรรทัดคำสั่งและป้อน “C:\Apache2\bin\httpd.exe -k install”

นี่คือสิ่งที่เราควรเห็นเมื่อติดตั้งบริการ Apache2.2 สำเร็จแล้ว

หากทุกอย่างเป็นไปด้วยดีเราจะดำเนินการต่อไป - ตั้งค่าการเปิดตัวบริการ Apache2.2 ด้วยตนเองซึ่งเราปฏิบัติตามเส้นทาง: "เริ่ม" → "แผงควบคุม" → "เครื่องมือการดูแลระบบ" → "บริการ" ในการจัดการบริการ หน้าต่างที่เปิดขึ้นเลือกบรรทัด "Apache2.2" แล้วดับเบิลคลิกที่มันจากนั้นในแท็บ "ทั่วไป" เลือกการเริ่มต้นบริการด้วยตนเอง - "ประเภทการเริ่มต้น: ด้วยตนเอง" "(ประเภทการเริ่มต้น: คู่มือ) สิ่งนี้จะต้องทำเพื่อป้องกันไม่ให้บริการที่ไม่จำเป็นโหลดระบบ เมื่อพิจารณาว่าคอมพิวเตอร์ที่บ้านใช้ไม่เพียงแต่สำหรับการพัฒนาเว็บเท่านั้น แต่ยังรวมถึงความต้องการอื่นๆ ด้วย การเริ่มและหยุดบริการที่ใช้เป็นระยะๆ ด้วยตนเองนั้นเหมาะสมที่สุด

การสร้างโครงสร้างไดเร็กทอรีโฮสต์เสมือน

ในรูทของดิสก์คุณต้องสร้างไดเร็กทอรี "apache" ซึ่งจะมีโฮสต์เสมือนของคุณ (โดเมน) ไฟล์บันทึกข้อผิดพลาดระดับโลก "error.log" (สร้างโดยโปรแกรมเมื่อคุณเริ่มใช้งานครั้งแรกโดยอัตโนมัติ) ไฟล์การเข้าถึงทั่วโลก "access.log" (สร้างขึ้นโดยอัตโนมัติ) ในไดเรกทอรี "apache" เราสร้างโฟลเดอร์ว่างอีกโฟลเดอร์ - "localhost" ซึ่งในทางกลับกันเราจะสร้างโฟลเดอร์ "www" ซึ่งในส่วนหลังเราจะต้องเก็บเนื้อหาของเราไว้ในรูปแบบของสคริปต์ในเครื่อง โครงสร้างไดเร็กทอรีที่ดูแปลกนี้ถูกกำหนดโดยโครงสร้างไดเร็กทอรีที่คล้ายกันในระบบ Unix และมีจุดมุ่งหมายเพื่อทำให้การทำความเข้าใจและการใช้งานง่ายขึ้น

ตัวอย่างการสร้างโฮสต์เสมือน

หากคุณต้องการติดตั้งโฮสต์เสมือนของคุณเอง ให้ทำดังต่อไปนี้:

เปิดไฟล์ “httpd-vhosts.conf” และสร้างบล็อกในนั้นโดยมีเนื้อหาโดยประมาณต่อไปนี้:

# โฟลเดอร์ที่จะรูทของโฮสต์ของคุณ
DocumentRoot "C:/apache/test.ru/www"
# โดเมนที่คุณสามารถเข้าถึงโฮสต์เสมือนได้
ชื่อเซิร์ฟเวอร์ test.ru
# นามแฝง (ชื่อเพิ่มเติม) ของโดเมน
เซิร์ฟเวอร์นามแฝง www.test.ru
# ไฟล์ที่จะเขียนข้อผิดพลาด
บันทึกข้อผิดพลาด "C:/apache/test.ru/error.log"
# ไฟล์บันทึกการเข้าถึงโฮสต์
CustomLog "C:/apache/test.ru/access.log" ทั่วไป

จากนั้นในไดเรกทอรี "apache" ให้สร้างโฟลเดอร์ "test.ru" (เช่นเดียวกับที่มีจุด) ซึ่งในทางกลับกันจะสร้างโฟลเดอร์ "www"

ขั้นตอนต่อไปในการสร้างโฮสต์เสมือนคือการแก้ไขไฟล์ C:\WINDOWS\system32\drivers\etc\hosts ของระบบปฏิบัติการ เปิดไฟล์นี้และเพิ่มสองบรรทัดเข้าไป:
127.0.0.1 ทดสอบ.ru
127.0.0.1 www.test.ru

ตอนนี้เริ่มต้นเซิร์ฟเวอร์ Apache โดยดำเนินการ “C:\Apache2\bin\httpd.exe -k start” บนบรรทัดคำสั่ง เปิดเบราว์เซอร์ ป้อน “test.ru” หรือ “www.test.ru” ในแถบที่อยู่ และ คุณจะพบว่าตัวเองอยู่ในโฮสต์เสมือนของคุณ เพียงระวังตอนนี้คุณสามารถไปที่ไซต์ดั้งเดิมด้วยชื่อของโฮสต์เสมือน (“ www.test.ru” ถ้ามี) โดยการใส่ความคิดเห็นหรือลบบรรทัด:“ 127.0.0.1 www.test.ru ” ในไฟล์ที่กล่าวถึงข้างต้น“ เจ้าภาพ"

เอกสารประกอบของ Apache ขณะที่เซิร์ฟเวอร์ทำงานอยู่ มีอยู่ที่ http://localhost/manual/

คุณสามารถหยุด Apache ได้โดยการรัน “C:\Apache2\bin\httpd.exe -k stop” บนบรรทัดคำสั่ง หากคุณต้องการรีสตาร์ท Apache ให้รัน “C:\Apache2\bin\httpd.exe -k restart” ที่บรรทัดคำสั่ง

การติดตั้งและกำหนดค่าเว็บเซิร์ฟเวอร์ Apache เสร็จสมบูรณ์

การสร้างไฟล์แบตช์เพื่อเริ่มและหยุดบริการ

ยอมรับว่าการแก้ไขไฟล์ "โฮสต์" ด้วยตนเองทุกครั้งที่คุณเริ่มบริการนั้นไม่สะดวก ดังนั้นเพื่อให้สะดวกยิ่งขึ้นในการเริ่มบริการ Apache, MySQL และการเปลี่ยนไฟล์ "โฮสต์" เราจะสร้างไฟล์แบตช์สองไฟล์: สำหรับการเริ่มต้นและ หยุดซึ่งจะทำงานประจำทั้งหมดโดยอัตโนมัติ

เมื่อใช้โฮสต์เสมือน คุณจะต้องสร้างไฟล์สองไฟล์ในไดเร็กทอรี C:\apache: vhosts-off.txt ซึ่งมีเนื้อหาเริ่มต้นของไฟล์ “hosts” และ vhosts-on.txt ซึ่งมีโฮสต์เสมือนทั้งหมด โปรดทราบว่าเมื่อสร้างโฮสต์เสมือนใหม่ คุณจะต้องเพิ่มโฮสต์เหล่านั้นลงในไฟล์ vhosts-on.txt ไม่ใช่เพิ่มลงใน C:\WINDOWS\system32\drivers\etc\hosts ดูตัวอย่างด้านล่าง

ไฟล์ vhosts-off.txt (สามารถมีบรรทัดเดียวได้):
127.0.0.1 โลคัลโฮสต์

ตัวอย่างไฟล์ vhosts-on.txt ที่มีโฮสต์เสมือน www.test.ru และ test.ru:

127.0.0.1 โลคัลโฮสต์
127.0.0.1 www.test.ru
127.0.0.1 ทดสอบ.ru

ในไดเรกทอรีเดียวกัน C:\apache ให้สร้างไฟล์แบตช์สองไฟล์: start-webserver.bat – เพื่อเริ่มบริการและแทนที่ไฟล์ “hosts” และ stop-webserver.bat – เพื่อหยุดบริการและล้างไฟล์ “hosts”

เปิดไฟล์ start-webserver.bat:

@echo ปิดเสียงสะท้อน หากไม่มี C:\apache\vhosts-on.txt ไปที่ no_vhosts echo สร้างโฮสต์เสมือน: copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts echo :no_vhosts NET เริ่ม Apache2.2 NET เริ่ม MySQL

หยุดไฟล์ stop-webserver.bat:

@echo ปิดเสียงสะท้อน หากไม่มี C:\apache\vhosts-off.txt ไปที่ no_vhosts echo Restore ไฟล์โฮสต์: คัดลอก /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts echo :no_vhosts NET หยุด Apache2.2 NET หยุด MySQL

หากคุณไม่ได้ใช้โฮสต์เสมือนหรือต้องการเริ่มบริการโดยไม่ต้องแทนที่ไฟล์ “hosts” เพียงลบไฟล์ vhosts-on.txt และ vhosts-off.txt ออกจากไดเร็กทอรี C:\apache

พร้อมกับบริการต่างๆ จะสะดวกในการเรียกใช้โปรแกรม Apache Monitor ซึ่งแสดงสถานะของเซิร์ฟเวอร์ Apache ในซิสเต็มเทรย์ซึ่งคุณสามารถสร้างไฟล์แบตช์อื่น“ start-webserver-monitor.bat” ซึ่งมีเนื้อหาที่ คล้ายกับไฟล์ “start-webserver.bat” โดยมีการเพิ่มส่วนท้ายของบรรทัดถัดไป:

เริ่ม "" "C:\Apache2\bin\ApacheMonitor.exe"

ในการรันชุดเครื่องมือทั้งหมด คุณจะต้องเรียกใช้ไฟล์ “start-webserver-monitor.bat” หรือ “start-webserver.bat” และเพื่อหยุดไฟล์ “stop-webserver.bat” หากต้องการ คุณสามารถเปลี่ยนชื่อไฟล์เหล่านี้ ย้ายไปยังตำแหน่งอื่นจากโฟลเดอร์ “C:\apache” หรือสร้างทางลัดไปยังไฟล์เหล่านี้ เช่น บนเดสก์ท็อป

บทความต้นฉบับ: http://php-myadmin.ru/learning/instrument-apache.html