Wszystko, co musisz wiedzieć o stosie LAMP

Zaktualizowano: 2022 / Autor artykułu: Timothy Shim

Istnieje wiele stosów oprogramowania używanych do tworzenia stron internetowych lub wdrażania aplikacji. Jedną z najpopularniejszych kombinacji jest LAMP stos. Akronim LAMP oznacza Linuksa, Apache, MySQL i PHP.

Co to jest stos LAMP?

LAMP to akronim dla Linux, Apache, MySQL i PHP. Jest to popularny stos oprogramowania używany obecnie w tworzeniu stron internetowych. Często używamy stosów oprogramowania, takich jak LAMP, do tworzenia określonych aplikacji lub usług. Na przykład w przypadku aplikacji stos może służyć jako podstawa, która umożliwia jej funkcjonowanie. 

Jednym z wyraźnych dowodów tego jest: WordPress, który wymaga wszystkich składników stosu LAMP. Jednak nie jest twardą i szybką zasadą, że WordPress lub jakakolwiek inna aplikacja musi używać stosu LAMP. Istnieją różne odmiany LAMP, takie jak LEMP, LAPP, LEAP i inne.

Zrozumienie komponentów stosu LAMP

Podobnie jak inne stosy oprogramowania, LAMP zawiera komponenty, które obejmują różne kluczowe obszary niezbędne do obsługi aplikacji. Każdy z tych komponentów spełnia kluczową rolę podczas przekazywania sobie nawzajem danych, aby odgrywały swoje role. Rzućmy okiem na role funkcjonalne w LAMP.

Linux – system operacyjny

Linux

Linux jest preferowanym systemem operacyjnym (OS) dla Apache i MySQL, więc nie jest niespodzianką, że Linux odgrywa kluczową rolę w stosach LAMP. Ten uniksowy system operacyjny obsługuje wszystko, od superkomputerów po smartfony. Jest to najbardziej krytyczny składnik oprogramowania każdego urządzenia sprzętowego, ponieważ bez systemu operacyjnego nic nie można zrobić.

Otwarty charakter Linuksa oznacza, że ​​każdy może go używać lub modyfikować bez ponoszenia opłat licencyjnych. Ta korzyść sprawia, że ​​Linux jest doskonałą opcją dla dostawcy usług hostingowych którzy chcą oferować plany hostingowe w przystępnej cenie.

Apache – serwer WWW

Apache

Apache to serwer WWW typu open source który działa na Linuksie. ten serwer wWW odpowiada za „słuchanie” i „serwowanie”. Za każdym razem, gdy otrzymuje żądanie z przeglądarek internetowych, Apache przekazuje go innym komponentom LAMP w celu przetworzenia. Gdy jest gotowy, Apache wysyła żądaną stronę do przeglądarki internetowej.

Podobnie jak Linux, Apache jest oprogramowaniem typu open source i można go używać bezpłatnie bez licencji. Apache jest lekki, więc nie zużywa wielu zasobów na twoim serwerze. Jego elastyczny charakter sprawia, że ​​jest to jeden z najlepszych wyborów dla wielu firmy hostingowe.

MySQL — silnik bazy danych

mysql

Silniki baz danych to konie robocze większości nowoczesnych systemów obliczeniowych. Zarządzają danymi, udostępniają je aplikacjom i udostępniają narzędzia do zarządzania tymi danymi. Aparaty baz danych występują w wielu różnych formach. Niektóre są przeznaczone do konkretnych zadań (takich jak eCommerce), inne są rozwiązaniami uniwersalnymi.

MySQL to system zarządzania relacyjnymi bazami danych (RDBMS). Relacyjne bazy danych to najczęstszy typ bazy danych używany w aplikacjach internetowych. Są łatwe w użyciu i umożliwiają szybki dostęp do danych.

PHP – język skryptowy

PHP

PHP to język po stronie serwera, który Rasmus Lerdorf stworzył w 1994 roku. Możesz go używać jako języka skryptowego do tworzenia stron internetowych. Na przykład PHP działa z HTML i CSS do tworzenia dynamicznych treści dla witryn internetowych, aplikacji internetowych i innych usług online.

PHP jest jednym z trzech podstawowych języków używanych w stosach LAMP. Inne alternatywy to Perl i Python. Często charakter aplikacji internetowej dyktuje język skryptowy używany w stosie LAMP.

Jak działa stos LAMP

Każda z aplikacji w stosie LAMP zapewnia określony zestaw usług, przyczyniając się do funkcji wyższego poziomu. Najczęściej ta funkcja polega na stworzeniu serwera WWW zdolnego do obsługi różnych aplikacji.

Najpierw Apache otrzymuje żądanie z przeglądarki internetowej. Przekazuje żądanie do aplikacji internetowej. Aplikacja internetowa wysyła następnie zapytanie do silnika bazy danych i zwraca żądane informacje. Następnie dane wracają do Apache, który wyśle ​​je do przeglądarki internetowej, która wysłała żądanie.

Każdy z komponentów LAMP komunikuje się ze sobą poprzez interfejsy zaprojektowane jako ogólne i abstrakcyjne. Te interfejsy są powszechnie znane jako aplikacja Programowanie Interfejsy (API). Dobry projekt API powinien być wystarczająco elastyczny, aby obsłużyć wiele implementacji i wydajny w wykorzystaniu zasobów.

Kto używa LAMP?

Ze względu na wszechstronność stosu LAMP jest to jeden z najczęściej używanych stosów oprogramowania w branży hostingu. Za pomocą LAMP można uruchomić prawie każdą aplikację internetową. Należą do nich WordPress, Drupal, Joomla, LMS i wiele innych. 

Z perspektywy samego WordPressa sprawia to, że stos LAMP jest dominującym stosem oprogramowania na całym świecie. Uprawnienia WordPress ponad 40% wszystkich witryn online dzisiaj. Jeśli prowadzisz witrynę internetową działającą na WordPressie, korzystasz również ze stosu LAMP.

Wady LAMP

Chociaż stos LAMP oferuje znaczne korzyści, nie jest doskonały. Tutaj rozważymy niektóre wady używania LAMP i co może to oznaczać dla niektórych niszowych użytkowników.

Brak wsparcia dla nowych języków

PHP został zaprojektowany do tworzenia stron internetowych i pozostał skoncentrowany. Tymczasem inne języki zostały stworzone specjalnie do użytku w scenariuszach takich jak data science – na przykład R. LAMP Stack nie obsługuje tych języków, więc musisz zacząć od zera, jeśli chcesz ich używać z konfiguracją serwera.

Brak wsparcia bezpieczeństwa

Większość komponentów typu open source opiera się na wkładach społeczności w celu poprawy funkcji bezpieczeństwa. Choć do tej pory skuteczne, może być problematyczne, ponieważ nie ma jednego podmiotu odpowiedzialnego za zapewnienie wszystkim użytkownikom dostępu do najnowszych aktualizacji zabezpieczeń.

Wysokie wykorzystanie zasobów

Apache i MySQL mogą spowolnić działanie aplikacji w zależności od natężenia ruchu, które muszą obsłużyć. To spowolnienie zwiększy koszty, jeśli nie zostanie zaznaczone (choć można to obejść).

Alternatywy dla LAMP Stack

Chociaż LAMP jest popularny, nie jest to jedyny dostępny stos oprogramowania. Oto kilka innych stosów oprogramowania, które możesz rozważyć jako alternatywy dla stosów LAMP:

1. ŚREDNI stos

MEAN to akronim dla MongoDB, Express, AngularJS i Node.js. MEAN to nowszy framework, który zyskuje popularność wśród programistów, ponieważ pozwala im budować aplikacje przy użyciu JavaScript zarówno na frontendzie, jak i zapleczu. MEAN stał się popularnym wyborem dla startupów, ponieważ ułatwia budowanie skalowalnych aplikacji bez uczenia się nowych języków lub frameworków.

2. Stos WAMP

WAMP oznacza Windows Apache MySQL PHP. Jest podobny do LAMP, z wyjątkiem zastąpienia Linuksa jako systemu operacyjnego. Zamiast tego stos WAMP korzysta z systemu Windows. Włączenie to powoduje przypadkowe włączenie innych narzędzi, takich jak FTP klienci, redaktorzy itp.

3. Stos XAMPP

XAMPP to skrót od Cross-platform (multi-OS), Apache, MySQL, PHP i Perl. Domyślna dystrybucja zawiera wszystkie cztery składniki, ale można je również zainstalować osobno. XAMPP jest dostępny w systemach operacyjnych Windows, macOS i Linux i może być używany do tworzenia środowiska testowego bez instalowania całego stosu LAMP na serwerze.

Jak zainstalować stos LAMP na Ubuntu?

W tym krótkim przewodniku założono, że masz już zainstalowaną kopię systemu Linux na swoim serwerze. Dokładne polecenia mogą się różnić ze względu na wiele dostępnych wersji systemu Linux. Jednak ogólny proces powinien być stosunkowo podobny. Będziemy używać Ubuntu 20.04.

Instalowanie serwera WWW Apache

  1. Zaktualizuj lokalny indeks pakietów za pomocą sudo apt update
  2. Zainstaluj Apache2 za pomocą sudo apt zainstaluj apache2
  3. Aby potwierdzić, że usługa Apache działa, wpisz sudo systemctl status apache2
  4. Następnie musimy zmodyfikować ustawienia zapory i zwiększyć bezpieczeństwo. Pisanie na maszynie lista aplikacji sudo ufw wyświetli dostępne tryby zapory. Ogólnie będą to Apache, Apache Full i Apache Secure. 

Aby rozpocząć, użyj po prostu "Apache", ponieważ uniemożliwi to wszelki dostęp z wyjątkiem portu 80. Zrób to za pomocą następującego polecenia; sudo ufw zezwól na „Apache”

Instalowanie MySQL

  1. Po uruchomieniu Apache przechodzimy do instalacji MySQL. Mając już zaktualizowany indeks repozytorium, możesz po prostu uruchomić instalację serwera MySQL za pomocą następującego polecenia; sudo apt zainstaluj mysql-server
  2. Ponownie możesz zweryfikować instalację za pomocą polecenia systemctl; sudo systemctl start mysql.service
  3. Wszystkie świeże instalacje MySQL są dość podstawowe, a jednym z podstawowych zadań konfiguracyjnych jest wzmocnienie bezpieczeństwa. Na szczęście istnieje pakiet bezpieczeństwa, który możesz szybko wdrożyć; sudo mysql_secure_installation

Uruchomienie polecenia spowoduje serię pytań konfiguracyjnych dla skryptu, aby wprowadzić niezbędne zmiany w zabezpieczeniach. 

Instalowanie PHP 

Linux jest dostarczany z PHP w repozytorium, ale będziesz musiał zainstalować pakiet. Użyte polecenie będzie zależeć od wersji PHP, którą chcesz wdrożyć. Na przykład, aby zainstalować PHP 7.4, uruchom sudo apt install php7.4.

Ostatnie myśli na stosie LAMP

Stos LAMP zapewnia solidną, wszechstronną podstawę dla różnych stron internetowych lub aplikacji. W większości przypadków nie masz wyboru, jakie oprogramowanie oferuje Twój dostawca usług hostingowych. Jednak użytkownicy hostingu współdzielonego nie będą musieli sobie z tym radzić — wystarczy sprawdzić, czy host obsługuje żądaną aplikację.

Stosy oprogramowania, takie jak LAMP, wchodzą w grę po przejściu na Wirtualne serwery prywatne (VPS). Tutaj możesz w pełni wykorzystać wszechstronność LAMP, a nawet zbudować niestandardowe środowiska, które odpowiadają Twoim potrzebom.

Przeczytaj więcej

O Timothy Shim

Timothy Shim jest pisarzem, redaktorem i tech geekiem. Rozpoczynając karierę w dziedzinie technologii informatycznych, szybko znalazł drogę do druku i od tego czasu współpracował z międzynarodowymi, regionalnymi i krajowymi tytułami medialnymi, takimi jak ComputerWorld, PC.com, Business Today i The Asian Banker. Jego wiedza specjalistyczna dotyczy technologii zarówno z punktu widzenia konsumenta, jak i przedsiębiorstwa.