ทำไมไม่ใช้ WAMP stack?


28

นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการใช้สแต็คของ * AMPP

ฉันเพิ่งได้พูดคุยกับคนที่มีประสบการณ์และพวกเขาแนะนำให้ฉันไม่ใช้ WAMP stack และแทนที่จะติดตั้ง apache, mysql และ php แยกกัน

ฉันไม่เข้าใจว่าทำไมพวกเขาถึงแนะนำสิ่งนี้ แต่ทุกคนสามารถบอกฉันได้

มีข้อเสียเฉพาะของ WAMP หรือข้อได้เปรียบเฉพาะในการติดตั้งทั้งหมดแยกต่างหากหรือไม่?

เนื่องจาก WAMP stack ประกอบด้วย apache, mysql และ php แล้วอะไรคือความแตกต่างระหว่างการใช้ WAMP stack และการติดตั้งแยกต่างหาก?


3
แล้ว WIMP stack จะเป็นอย่างไร? (Windows, IIS, เซิร์ฟเวอร์ MSSQL, ASP.net) ฉันชอบตัวย่อ
HopelessN00b

@ HopelessN00b เป็น WIMP มันเป็นส่วนขยายของระบบปฏิบัติการสำหรับเครื่อง Commodore 64 (ประมาณเวลาของ Windows 2) และยืนสำหรับ "Windows, ไอคอน, หนูและตัวชี้"
John Gardeniers

@John Gardeniers WIMP ได้ถูกนำมาใช้เป็นตัวย่อสำหรับรูปแบบ "ไอคอนของไอคอน Windows และเมนูแบบดึงลง" ของ UI ที่เราทุกคนใช้อยู่ตอนนี้
Euan M

คำตอบ:


37

เนื่องจาก WAMP stack ประกอบด้วย apache, mysql และ php แล้วอะไรคือความแตกต่างระหว่างการใช้ WAMP stack และการติดตั้งแยกต่างหาก?

มีความแตกต่างมากมายแม้ว่าสามสิ่งที่น่าเป็นห่วงที่สุดคือ:

  1. การกำหนดค่าที่ไม่ปลอดภัย
  2. ความยากลำบากและความล่าช้าในการอัพเกรด
  3. การกำหนดค่า / ตำแหน่งไบนารีที่ไม่เป็นมาตรฐาน

ในการขยายตัวใน # 1: WAMP, MAMP, LAMPP, XAMPP ฯลฯ ได้รับการออกแบบให้เป็นตัวติดตั้งแบบสแต็กเดียวที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถทำงานได้อย่างรวดเร็วและมีความต้านทานน้อยที่สุด ดังนั้นค่าการกำหนดค่าจำนวนมากจึงถูกปล่อยทิ้งไว้อย่างตั้งใจในสภาวะที่ไม่ปลอดภัย นี่เป็นสิ่งที่โอเคสำหรับงานพัฒนา แต่โง่อย่างไม่น่าเชื่อในการผลิต

แล้วสำหรับ # 2, ผู้ขาย OS ทำให้มันมากง่ายต่อการเก็บโคมไฟกองของคุณอัพเกรดด้วยมากที่สุดการปรับปรุงคุณลักษณะที่ผ่านมาและการรักษาความปลอดภัย เมื่อแพ็คเกจของพวกเขาถูกปล่อยสู่ repos อย่างเป็นทางการพวกเขาได้ผ่านการทดสอบมากมายและโอกาสที่พวกเขาจะทำลายอะไรในระบบของคุณค่อนข้างต่ำ ในเวลาส่วนใหญ่คุณสามารถอัพเกรดทุกอย่างด้วยคำสั่งเดียว

ในที่สุด # 3: โปรแกรมติดตั้งแบบคลิกเดียวจะวางไฟล์ไว้ในตำแหน่งที่ไม่ได้มาตรฐาน เช่นเมื่อคุณ (หรือคนอื่น ๆ ) ไปแก้ไขสิ่งต่าง ๆ คุณจะออกจากการค้นหาทั่วทั้งระบบไฟล์ของคุณเพื่อพูดไฟล์ php.ini ของคุณ เมื่อคุณติดตั้งสแต็ก LAMP จากแพ็กเกจ repo ของการแจกจ่ายทุกอย่างจะอยู่ในตำแหน่งที่คาดหวังและเป็นที่รู้จัก


1
ฉันรู้สึกว่าเราตอบคำถามเดียวกันพร้อมกันตลอดทั้งสัปดาห์
MDMarra

2
Caveat: ฉันเขียนสิ่งนี้โดยสมมติว่าคุณกำลังใช้งานบน Linux ซึ่งเห็นได้ชัดว่าคุณไม่ได้ จุดเดียวกันหลายจุดยังคงเป็นจริงบน Windows อย่างไรก็ตามฉันควรส่งว่าคุณควรจะทำงานบน Linux คุณจะได้รับประสบการณ์ที่น่าพึงพอใจมากขึ้น
EEAA

@MDMarra ฮ่าฮ่าฉันไม่ได้สังเกตจนกระทั่งตอนนี้ ฉันเดาว่าฉันต้องย้อนกลับไปดูประวัติของเรา :)
EEAA

21

ก่อนอื่น, apache, php, และ MySQL เป็นแอพพลิเคชั่น * nix ทั้งหมดที่เชื่อมต่อกับ Windows มักนิยมใช้เครื่องมือบนแพลตฟอร์มดั้งเดิมในสภาพแวดล้อมการผลิต

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

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


6

หากคำถามคือ - ใช้ Windows เป็นแพลตฟอร์มของฉันทำไมบางคนบอกให้ฉันติดตั้ง Apache, PHP และ MySQL แยกต่างหากแทนที่จะเป็นส่วนหนึ่งของการกระจาย WAMP ...

เหตุผลหลักคือบางคนมีประสบการณ์เชิงลบโดยใช้ "ทุกอย่างรวมถึงอ่างครัว" การแจกแจงแบบ WAMP ที่มาพร้อมกับเซิร์ฟเวอร์ FTP, เซิร์ฟเวอร์จดหมาย, เซิร์ฟเวอร์ JSP, เซิร์ฟเวอร์ DNS มีปัญหาเกี่ยวกับการอัพเกรดความปลอดภัย ... และโดยทั่วไปแล้วสิ่งที่ทำให้ยุ่งเหยิง

และในตอนท้ายของวันคนเหล่านั้นค่อนข้างจะติดตั้งและกำหนดค่า Apache, PHP และ MySQL ด้วยวิธีของตัวเอง และคนอื่น ๆ อาจคิดว่าคุณจะได้รับประสบการณ์มากขึ้นด้วยตัวคุณเอง

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

มีประมาณสิบ WAMPs ที่คุณสามารถทดสอบได้เพื่อดูว่าพวกมันเรียงซ้อนกันอย่างไร ฉันมักจะแนะนำให้ลองใช้ - WampServer , UniformServer , Wamp-Developer ProและXamppเพื่อดูว่าหนึ่งในนั้นเหมาะสมกับความต้องการของคุณหรือไม่หากต้องการตั้งค่าการติดตั้ง / เฟรมเวิร์ก WAMP ของคุณเองหรือไปกับสภาพแวดล้อมของ LAMP .


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

3
ฉันจะไปต่อและบอกว่าถ้าคนต้องการใช้ระบบสไตล์ WAMP ใด ๆเพราะพวกเขาไม่มีประสบการณ์ทักษะและความมั่นใจในการใช้ส่วนประกอบต่าง ๆ จากนั้นบุคคลนั้นไม่ควรวางไว้บนอินเทอร์เน็ต WAMP ในรูปแบบใดก็ตามเป็นสิ่งที่ดีสำหรับอินทราเน็ต แต่ไม่ใช่อินเทอร์เน็ต
John Gardeniers

3

คำตอบโดยตรงจาก XAMPP (ฉันแบ่งปันแม้ว่าจะไม่ใช่คำถาม xampp โดยตรงเนื่องจากเป็นคำถามที่เป็นที่ยอมรับสำหรับสแต็คของ AMPP )

การผลิต XAMPP พร้อมหรือยัง

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

นี่คือรายการความปลอดภัยที่หายไปใน XAMPP:

    The MySQL administrator (root) has no password.
    The MySQL daemon is accessible via network.
    ProFTPD uses the password "lampp" for user "daemon".
    PhpMyAdmin is accessible via network.
    The XAMPP demopage is accessible via network.
    The default users of Mercury and FileZilla are known.

คะแนนทั้งหมดอาจมีความเสี่ยงด้านความปลอดภัยอย่างมาก โดยเฉพาะอย่างยิ่งหาก XAMPP สามารถเข้าถึงได้ผ่านเครือข่ายและผู้คนที่อยู่นอก LAN ของคุณ นอกจากนี้ยังสามารถช่วยในการใช้ไฟร์วอลล์หรือเราเตอร์ (NAT) ในกรณีที่เราเตอร์หรือไฟร์วอลล์ปกติพีซีของคุณไม่สามารถเข้าถึงได้ผ่านเครือข่าย มันขึ้นอยู่กับคุณที่จะแก้ไขปัญหาเหล่านี้ ในฐานะผู้ช่วยเล็กน้อยมี "XAMPP Security console"

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

หากคุณต้องการให้ XAMPP ของคุณสามารถเข้าถึงได้จากอินเทอร์เน็ตคุณควรไปที่ URI ต่อไปนี้ซึ่งสามารถแก้ไขปัญหาบางอย่างได้:

 http://localhost/security/

ด้วยคอนโซลความปลอดภัยคุณสามารถตั้งรหัสผ่านสำหรับผู้ใช้ MySQL "root" และ phpMyAdmin คุณยังสามารถเปิดใช้งานการรับรองความถูกต้องสำหรับ demopages XAMPP

เครื่องมือบนเว็บนี้ไม่ได้แก้ไขปัญหาความปลอดภัยเพิ่มเติม! โดยเฉพาะอย่างยิ่งเซิร์ฟเวอร์ FileZilla FTP และเมล์เซิร์ฟเวอร์เมอร์คิวรี่คุณต้องปลอดภัยด้วยตัวเอง


-3

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

อย่างจริงจังถ้าคุณคิดว่าการติดตั้ง Apache บน Linux เริ่มต้นนั้นปลอดภัย ... เดาอีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.