Tại sao không sử dụng ngăn xếp WAMP?


28

Đây là một câu hỏi chính tắc về việc sử dụng ngăn xếp của * AMPP.

Gần đây tôi đã nói chuyện với một số người có kinh nghiệm và họ đề nghị tôi không nên sử dụng ngăn xếp WAMP, và thay vào đó cài đặt apache, mysql và php riêng.

Tôi không hiểu tại sao họ lại đề xuất điều này, vậy ai có thể nói với tôi không?

Có một nhược điểm đặc biệt nào của WAMP, hoặc một lợi thế cụ thể để cài đặt tất cả chúng một cách riêng biệt không?

Vì bản thân ngăn xếp WAMP bao gồm apache, mysql và php, vậy sự khác biệt giữa việc sử dụng ngăn xếp WAMP và cài đặt chúng một cách riêng biệt là gì?


3
Điều gì về một ngăn xếp WIMP? (Windows, IIS, MSSQL Server, ASP.net) Tôi thích từ viết tắt hơn.
HoplessN00b

@ HoplessN00b, WIMP đã được thực hiện. Nó là một phần mở rộng hệ điều hành cho các máy Commodore 64 (khoảng thời gian của Windows 2) và là viết tắt của "Windows, Biểu tượng, Chuột và Con trỏ".
John Gardeniers

@John Gardeniers WIMP đã được sử dụng trong giai đoạn đó như là một từ viết tắt của kiểu "Các biểu tượng Windows và Chuột kéo xuống" mà tất cả chúng ta hiện đang sử dụng.
Euan M

Câu trả lời:


37

Vì bản thân ngăn xếp WAMP bao gồm apache, mysql và php, vậy sự khác biệt giữa việc sử dụng ngăn xếp WAMP và cài đặt chúng một cách riêng biệt là gì?

Có nhiều sự khác biệt, mặc dù ba điều đáng lo ngại nhất là:

  1. cấu hình không an toàn
  2. khó khăn và chậm trễ trong việc nâng cấp
  3. cấu hình không chuẩn / vị trí nhị phân

Để mở rộng trên # 1: WAMP, MAMP, LAMPP, XAMPP, v.v., được thiết kế để trở thành trình cài đặt ngăn xếp một cú nhấp chuột giúp nhà phát triển dễ dàng làm việc nhanh chóng và có ít sức cản nhất có thể. Như vậy, nhiều giá trị cấu hình được cố tình để ở trạng thái không an toàn. Điều này là ổn cho công việc phát triển, nhưng cực kỳ ngu ngốc để làm trong sản xuất.

Sau đó, cho # 2, các nhà cung cấp hệ điều hành làm cho nó rất dễ dàng để giữ LAMP stack của bạn nâng cấp với hầu hết các bản cập nhật tính năng mới và bản vá bảo mật. Khi các gói của họ được phát hành cho các repos chính thức của họ, họ đã trải qua nhiều thử nghiệm và khả năng chúng phá vỡ bất cứ thứ gì trên hệ thống của bạn là khá thấp. Trong phần lớn thời gian, bạn có thể nâng cấp mọi thứ chỉ bằng một lệnh.

Cuối cùng, # 3: cài đặt một cái bấm chuột đặt các tập tin của họ trong rất địa điểm không chuẩn. Như vậy, khi bạn (hoặc bất kỳ ai khác) đi khắc phục sự cố, bạn sẽ tìm kiếm tất cả trên hệ thống tệp của mình, giả sử, tệp php.ini của bạn. Khi bạn cài đặt ngăn xếp LAMP từ repo gói phân phối của mình, mọi thứ sẽ ở một vị trí nổi tiếng, được mong đợi.


1
Tôi cảm thấy như chúng tôi đã đồng thời trả lời cùng một câu hỏi cả tuần.
MDMarra

2
Hãy cẩn thận: Tôi đã viết điều này giả sử bạn đang chạy trên Linux, mà rõ ràng là bạn không. Nhiều điểm giống nhau vẫn đúng trên Windows. Tuy nhiên, tôi nên gửi rằng bạn thực sự nên chạy trên Linux. Bạn sẽ có một trải nghiệm thú vị hơn nhiều.
EEAA

@MDMarra Hah, đến giờ tôi vẫn chưa nhận ra. Tôi đoán tôi cần phải quay lại và nhìn vào lịch sử của chúng tôi. :)
EEAA

21

Trước hết, apache, php và MySQL đều là các ứng dụng * nix được chuyển sang Windows. Nó thường được ưa thích để chạy các công cụ trên nền tảng gốc của chúng trong môi trường sản xuất.

Thứ hai, các gói * AMP được cấu hình sẵn thường có cấu hình cực kỳ dễ bị tấn công. Hầu hết các gói vận chuyển với một readme nói rằng chúng chỉ dành cho nhà phát triển và không được sản xuất vì điều này.

Nếu bạn thực sự muốn phát triển trong một môi trường bắt chước sản xuất, bạn sẽ sử dụng một cấu hình tương tự như môi trường sản xuất của bạn và bạn không nhận được điều đó với các gói WAMP hoặc LAMP.


6

Nếu câu hỏi là - sử dụng Windows làm nền tảng của tôi, tại sao một số người lại bảo tôi cài đặt riêng Apache, PHP và MySQL chứ không phải là một phần của bản phân phối WAMP ...

Lý do chính là một số người đã có trải nghiệm tiêu cực khi sử dụng phân phối WAMP kiểu "mọi thứ, kể cả bồn rửa chén" đi kèm với Máy chủ FTP, Máy chủ Thư, Máy chủ JSP, Máy chủ DNS, có vấn đề về khả năng nâng cấp, bảo mật ... và điều đó thường làm cho một mớ hỗn độn của mọi thứ.

Và vào cuối ngày, những người đó thà cài đặt và cấu hình Apache, PHP và MySQL theo cách riêng của họ. Và những người khác có thể nghĩ rằng bạn sẽ có được nhiều kinh nghiệm hơn khi tự mình làm tất cả.

Nhưng không phải tất cả các WAMP đều như thế này, và một số là các khung công tác cao, liên quan đến bảo mật, khả năng nâng cấp và cấu hình một cách phù hợp.

Có khoảng một tá WAMP mà bạn có thể kiểm tra, để xem cách chúng xếp chồng lên nhau. Tôi luôn khuyên bạn nên dùng thử - WampServer , UniformServer , Wamp-Developer ProXampp để xem liệu một trong số chúng có phù hợp với nhu cầu của bạn không, và nếu không, hãy thiết lập cài đặt / khung WAMP tùy chỉnh của riêng bạn hoặc đi với môi trường LAMP .


3
Bạn không sai ở điểm bạn đang thực hiện, nhưng tôi gửi rằng mã an toàn nhất, hiệu quả nhất là mã bạn không bao giờ phải chạy và khung linh hoạt nhất hoàn toàn không có khung nên bạn không phải lo lắng về việc phá vỡ các quy tắc của người khác và ngăn chặn các giả định về bảo mật, khả năng nâng cấp hoặc cấu hình của họ là đúng và phá vỡ khuôn khổ. Nó thực sự phụ thuộc vào các yêu cầu và kỹ năng của người triển khai - nếu đó là một hệ thống truy cập internet, một khung không thể thay thế để hiểu cách tự cấu hình đúng tất cả các thành phần.
Rob Moir

3
Tôi sẽ đi xa hơn và nói rằng nếu một người cần sử dụng bất kỳ hệ thống kiểu WAMP nào vì họ không có kinh nghiệm, kỹ năng và sự tự tin để làm điều đó bằng cách sử dụng các bộ phận cấu thành thì người đó không nên đưa nó lên Internet. WAMP, trong bất kỳ hình thức nào của nó, đều tốt cho mạng nội bộ nhưng không phải Internet.
John Gardeniers

3

Một câu trả lời trực tiếp từ XAMPP. (Tôi chia sẻ, ngay cả khi không phải là câu hỏi xampp trực tiếp, vì nó được liệt kê dưới dạng câu hỏi chính tắc cho ngăn xếp của AMPP )

XAMPP đã sẵn sàng chưa?

XAMPP không có nghĩa là để sử dụng sản xuất mà chỉ cho các môi trường phát triển . Cách XAMPP được cấu hình là mở càng tốt để cho phép nhà phát triển bất cứ điều gì anh ấy / cô ấy muốn. Đối với môi trường phát triển, điều này thật tuyệt nhưng trong môi trường sản xuất, nó có thể gây tử vong.

Dưới đây là danh sách bảo mật bị thiếu trong 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.

Tất cả các điểm có thể là một rủi ro bảo mật rất lớn. Đặc biệt là nếu XAMPP có thể truy cập qua mạng và những người bên ngoài mạng LAN của bạn. Nó cũng có thể giúp sử dụng tường lửa hoặc bộ định tuyến (NAT). Trong trường hợp bộ định tuyến hoặc tường lửa, PC của bạn thường không thể truy cập qua mạng. Nó là tùy thuộc vào bạn để khắc phục những vấn đề này. Là một trợ giúp nhỏ có "Bảng điều khiển bảo mật XAMPP".

Vui lòng bảo mật XAMPP trước khi xuất bản bất cứ điều gì trực tuyến. Tường lửa hoặc bộ định tuyến bên ngoài chỉ đủ cho mức độ bảo mật thấp. Để bảo mật hơn một chút, bạn có thể chạy "Bảng điều khiển bảo mật XAMPP" và gán mật khẩu.

Nếu bạn muốn truy cập XAMPP từ internet, bạn nên truy cập URI sau để khắc phục một số vấn đề:

 http://localhost/security/

Với bảng điều khiển bảo mật, bạn có thể đặt mật khẩu cho người dùng MySQL "root" và phpMyAdmin. Bạn cũng có thể kích hoạt xác thực cho các bản XAMPP.

Công cụ dựa trên web này không khắc phục bất kỳ vấn đề bảo mật bổ sung nào! Đặc biệt là máy chủ FTP FileZilla và máy chủ thư Mercury bạn phải tự bảo mật.


-3

Một số câu trả lời hay, nhưng đừng quên rằng KHÔNG phải cài đặt mặc định là rất an toàn vì chúng được sử dụng trong phạm vi rộng nhất có thể.

Nghiêm túc mà nói, nếu bạn nghĩ rằng cài đặt mặc định của Apache trên Linux là an toàn ... hãy đoán lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.