Όλα όσα πρέπει να ξέρετε για το LAMP Stack

Ενημερώθηκε: 2022-05-06 / Άρθρο από: Timothy Shim

Υπάρχει μια ποικιλία από στοίβες λογισμικού που χρησιμοποιούνται στην ανάπτυξη ιστού ή στην ανάπτυξη εφαρμογών. Ένας από τους πιο δημοφιλείς συνδυασμούς είναι ο LAMP σωρός. Το ακρωνύμιο LAMP αντιπροσωπεύει Linux, Apache, MySQL και PHP.

Τι είναι η στοίβα LAMP;

Το LAMP είναι το ακρωνύμιο των Linux, Apache, MySQL και PHP. Είναι μια δημοφιλής στοίβα λογισμικού που χρησιμοποιείται σήμερα στην ανάπτυξη ιστού. Συχνά χρησιμοποιούμε στοίβες λογισμικού όπως το LAMP για τη δημιουργία συγκεκριμένων εφαρμογών ή υπηρεσιών. Για παράδειγμα, στην περίπτωση μιας εφαρμογής, η στοίβα μπορεί να χρησιμεύσει ως η βάση που της επιτρέπει να λειτουργήσει. 

Μια σαφής απόδειξη αυτού είναι WordPress, το οποίο απαιτεί όλα τα στοιχεία της στοίβας LAMP. Ωστόσο, δεν είναι σκληρός και γρήγορος κανόνας ότι το WordPress ή οποιαδήποτε άλλη εφαρμογή πρέπει να χρησιμοποιεί μια στοίβα LAMP. Υπάρχουν διαφορετικές παραλλαγές LAMP όπως LEMP, LAPP, LEAP και άλλα.

Κατανόηση των στοιχείων στοίβας LAMP

Όπως και άλλες στοίβες λογισμικού, το LAMP περιλαμβάνει στοιχεία που καλύπτουν διάφορες βασικές περιοχές που είναι απαραίτητες για τη λειτουργία μιας εφαρμογής. Κάθε ένα από αυτά τα στοιχεία εκπληρώνει έναν κρίσιμο ρόλο, ενώ διαβιβάζει δεδομένα το ένα στο άλλο για να παίξει το ρόλο του. Ας ρίξουμε μια ματιά στους λειτουργικούς ρόλους στο LAMP.

Linux – Το λειτουργικό σύστημα

Linux

Linux είναι το λειτουργικό σύστημα (OS) της επιλογής για Apache και MySQL, επομένως δεν αποτελεί έκπληξη το γεγονός ότι το Linux παίζει κεντρικό ρόλο στις στοίβες LAMP. Αυτό το λειτουργικό σύστημα που μοιάζει με Unix τρέχει τα πάντα, από υπερυπολογιστές έως smartphone. Είναι το πιο κρίσιμο στοιχείο λογισμικού οποιασδήποτε συσκευής υλικού, καθώς δεν μπορείτε να κάνετε τίποτα χωρίς λειτουργικό σύστημα.

Η φύση ανοιχτού κώδικα του Linux σημαίνει ότι ο καθένας μπορεί να το χρησιμοποιήσει ή να το τροποποιήσει χωρίς να πληρώσει τέλη αδειοδότησης. Αυτό το πλεονέκτημα καθιστά το Linux μια εξαιρετική επιλογή για web hosting παρόχους που θέλουν να προσφέρουν προγράμματα φιλοξενίας σε προσιτή τιμή.

Apache – Ο διακομιστής Ιστού

Apache

Ο Apache είναι ένας διακομιστής ιστού ανοιχτού κώδικα που τρέχει σε Linux. ο του web server είναι υπεύθυνος για την «ακρόαση» και «εξυπηρέτηση». Κάθε φορά που λαμβάνει ένα αίτημα από προγράμματα περιήγησης ιστού, Apache το περνά σε άλλα εξαρτήματα LAMP για επεξεργασία. Όταν είναι έτοιμο, το Apache στέλνει τη σελίδα που ζητήθηκε στο πρόγραμμα περιήγησης ιστού.

Όπως το Linux, το Apache είναι ανοιχτού κώδικα και δωρεάν για χρήση χωρίς άδεια. Το Apache είναι ελαφρύ, επομένως δεν καταναλώνει πολλούς πόρους στον διακομιστή σας. Η ευέλικτη φύση του το καθιστά μία από τις κορυφαίες επιλογές για πολλούς web hosting εταιρείες.

MySQL – Η μηχανή βάσης δεδομένων

mysql

Οι μηχανές βάσεων δεδομένων είναι η δύναμη των περισσότερων σύγχρονων υπολογιστικών συστημάτων. Διαχειρίζονται δεδομένα, τα καθιστούν διαθέσιμα σε εφαρμογές και παρέχουν εργαλεία για τη διαχείριση αυτών των δεδομένων. Οι μηχανές βάσεων δεδομένων διατίθενται σε πολλές διαφορετικές μορφές. Ορισμένα έχουν σχεδιαστεί για συγκεκριμένες εργασίες (όπως π eCommerce), ενώ άλλες είναι καθολικές λύσεις.

MySQL είναι ένα σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων (RDBMS). Οι σχεσιακές βάσεις δεδομένων είναι ο πιο κοινός τύπος βάσης δεδομένων που χρησιμοποιείται σε διαδικτυακές εφαρμογές. Είναι εύχρηστα και επιτρέπουν γρήγορη πρόσβαση στα δεδομένα.

PHP – Η γλώσσα δέσμης ενεργειών

PHP

PHP είναι μια γλώσσα διακομιστή που δημιούργησε ο Rasmus Lerdorf το 1994. Μπορείτε να τη χρησιμοποιήσετε ως γλώσσα σεναρίου για την ανάπτυξη ιστού. Για παράδειγμα, η PHP λειτουργεί με HTML και CSS για τη δημιουργία δυναμικού περιεχομένου για ιστότοπους, εφαρμογές web και άλλες διαδικτυακές υπηρεσίες.

Η PHP είναι μία από τις τρεις κύριες γλώσσες που χρησιμοποιούνται στις στοίβες LAMP. Άλλες εναλλακτικές περιλαμβάνουν Perl και Python. Συχνά, η φύση της εφαρμογής Ιστού υπαγορεύει τη γλώσσα δέσμης ενεργειών που χρησιμοποιείται στη στοίβα LAMP.

Πώς λειτουργεί η στοίβα LAMP

Κάθε μία από τις εφαρμογές στη στοίβα LAMP παρέχει ένα συγκεκριμένο σύνολο υπηρεσιών, συμβάλλοντας σε μια λειτουργία υψηλότερου επιπέδου. Συνηθέστερα, αυτή η λειτουργία είναι η δημιουργία ενός διακομιστή Ιστού ικανού να υποστηρίζει διάφορες εφαρμογές.

Πρώτον, ο Apache λαμβάνει ένα αίτημα από ένα πρόγραμμα περιήγησης ιστού. Διαβιβάζει το αίτημα στην εφαρμογή web. Στη συνέχεια, η εφαρμογή Ιστού ρωτά τη μηχανή της βάσης δεδομένων και επιστρέφει τις ζητούμενες πληροφορίες. Στη συνέχεια, τα δεδομένα επιστρέφουν στον Apache, ο οποίος θα τα στείλει στο πρόγραμμα περιήγησης ιστού που έκανε το αίτημα.

Κάθε ένα από τα στοιχεία LAMP επικοινωνεί μεταξύ τους μέσω διεπαφών σχεδιασμένων να είναι γενικές και αφηρημένες. Αυτές οι διεπαφές είναι πιο γνωστές ως Εφαρμογή Προγραμματισμός Διεπαφές (API). Ένας καλός σχεδιασμός API θα πρέπει να είναι αρκετά ευέλικτος ώστε να υποστηρίζει πολλαπλές υλοποιήσεις και αποτελεσματικός στη χρήση των πόρων.

Ποιος χρησιμοποιεί ΛΑΜΠΑ

Λόγω της ευελιξίας της στοίβας LAMP, είναι μια από τις πιο ευρέως χρησιμοποιούμενες στοίβες λογισμικού στη βιομηχανία φιλοξενίας ιστοσελίδων. Μπορείτε να χρησιμοποιήσετε το LAMP για να εκτελέσετε σχεδόν οποιαδήποτε εφαρμογή Ιστού. Αυτά περιλαμβάνουν WordPress, Drupal, Joomla, LMS και πολλά άλλα. 

Μόνο από την άποψη του WordPress, αυτό κάνει τη στοίβα LAMP την κυρίαρχη στοίβα λογισμικού παγκοσμίως. Δυνάμεις WordPress περισσότερες από 40% όλων των ιστότοπων online σήμερα. Εάν διαχειρίζεστε έναν ιστότοπο που εκτελείται σε WordPress, τρέχετε επίσης σε μια στοίβα LAMP.

Μειονεκτήματα του LAMP

Αν και η στοίβα LAMP προσφέρει σημαντικά πλεονεκτήματα, δεν είναι τέλεια. Εδώ θα εξετάσουμε ορισμένα μειονεκτήματα της χρήσης LAMP και τι μπορεί να σημαίνει για ορισμένους εξειδικευμένους χρήστες.

Έλλειψη υποστήριξης για νέες γλώσσες

Η PHP σχεδιάστηκε για ανάπτυξη ιστού και παρέμεινε επικεντρωμένη. Εν τω μεταξύ, άλλες γλώσσες έχουν δημιουργηθεί ειδικά για χρήση σε σενάρια όπως η επιστήμη δεδομένων – όπως η R. Η στοίβα LAMP δεν υποστηρίζει αυτές τις γλώσσες, επομένως θα πρέπει να ξεκινήσετε από την αρχή εάν θέλετε να τις χρησιμοποιήσετε με τη ρύθμιση του διακομιστή σας.

Έλλειψη υποστήριξης ασφαλείας

Τα περισσότερα στοιχεία ανοιχτού κώδικα βασίζονται σε συνεισφορές που βασίζονται στην κοινότητα για τη βελτίωση των χαρακτηριστικών ασφαλείας. Αν και μέχρι στιγμής είναι αποτελεσματικό, μπορεί να είναι προβληματικό επειδή δεν υπάρχει μεμονωμένη οντότητα που να είναι υπεύθυνη για τη διασφάλιση ότι όλοι οι χρήστες έχουν πρόσβαση στις πιο πρόσφατες ενημερώσεις ασφαλείας.

Υψηλή χρήση πόρων

Το Apache και η MySQL μπορούν να επιβραδύνουν την απόδοση της εφαρμογής σας ανάλογα με τον όγκο κίνησης που πρέπει να χειριστούν. Αυτή η επιβράδυνση θα αυξήσει το κόστος εάν αφεθεί ανεξέλεγκτη (αν και υπάρχουν τρόποι να αντιμετωπιστεί αυτό).

Εναλλακτικές λύσεις στη στοίβα LAMP

Αν και το LAMP είναι δημοφιλές, δεν είναι σε καμία περίπτωση η μόνη διαθέσιμη στοίβα λογισμικού. Ακολουθούν ορισμένες άλλες στοίβες λογισμικού που μπορεί να θέλετε να θεωρήσετε ως εναλλακτικές στοίβας LAMP:

1. MEAN Stack

ΜΕΣΟ είναι ένα ακρωνύμιο για τα MongoDB, Express, AngularJS και Node.js. Το MEAN είναι ένα νεότερο πλαίσιο που κερδίζει δημοτικότητα στους προγραμματιστές επειδή τους επιτρέπει να δημιουργούν εφαρμογές χρησιμοποιώντας JavaScript τόσο στο frontend όσο και στο backend. Το MEAN έχει γίνει μια δημοφιλής επιλογή για νεοσύστατες επιχειρήσεις, επειδή διευκολύνει τη δημιουργία επεκτάσιμων εφαρμογών χωρίς την εκμάθηση νέων γλωσσών ή πλαισίων.

2. Στοίβα WAMP

WAMP σημαίνει Windows Apache MySQL PHP. Είναι παρόμοιο με το LAMP, εκτός από την αντικατάσταση του Linux ως λειτουργικού συστήματος. Αντίθετα, η στοίβα WAMP χρησιμοποιεί Windows. Αυτή η συμπερίληψη έχει ως αποτέλεσμα τη συμπερίληψη άλλων εργαλείων όπως fTP πελάτες, συντάκτες κ.λπ.

3. Στοίβα XAMPP

XAMPP σημαίνει Cross-platform (multi-OS), Apache, MySQL, PHP και Perl. Η προεπιλεγμένη διανομή περιλαμβάνει και τα τέσσερα στοιχεία, αλλά μπορείτε επίσης να τα εγκαταστήσετε ξεχωριστά. Το XAMPP είναι διαθέσιμο σε λειτουργικά συστήματα Windows, macOS και Linux και μπορεί να χρησιμοποιηθεί για τη δημιουργία περιβάλλοντος δοκιμών χωρίς να εγκαταστήσετε ολόκληρη τη στοίβα LAMP στον διακομιστή σας.

Πώς να εγκαταστήσετε τη στοίβα LAMP στο Ubuntu

Αυτός ο σύντομος οδηγός προϋποθέτει ότι έχετε ήδη ένα αντίγραφο Linux εγκατεστημένο στον διακομιστή σας. Οι ακριβείς εντολές μπορεί να είναι διαφορετικές λόγω των πολλών διαθέσιμων γεύσεων Linux. Ωστόσο, η γενική διαδικασία θα πρέπει να είναι σχετικά παρόμοια. Θα χρησιμοποιήσουμε το Ubuntu 20.04.

Εγκατάσταση του διακομιστή Web Apache

  1. Ενημερώστε το ευρετήριο του τοπικού σας πακέτου με sudo apt update
  2. Εγκαταστήστε το Apache2 με sudo apt εγκαταστήσετε apache2
  3. Για να επιβεβαιώσετε ότι η υπηρεσία Apache εκτελείται, πληκτρολογήστε sudo systemctl κατάσταση apache2
  4. Στη συνέχεια, πρέπει να τροποποιήσουμε τις ρυθμίσεις του τείχους προστασίας και να αυξήσουμε την ασφάλεια. Πληκτρολόγηση sudo ufw λίστα εφαρμογών θα εμφανίσει τις διαθέσιμες λειτουργίες τείχους προστασίας. Γενικά, αυτά θα είναι τα Apache, Apache Full και Apache Secure. 

Για να ξεκινήσετε, χρησιμοποιείτε απλώς "Apache", καθώς θα απαγορεύσει κάθε πρόσβαση εκτός από τη θύρα 80. Κάντε το με την ακόλουθη εντολή. sudo ufw επιτρέπει το 'Apache'

Εγκατάσταση της MySQL

  1. Μόλις το Apache είναι σε λειτουργία, προχωράμε στην εγκατάσταση της MySQL. Με το ευρετήριο του αποθετηρίου σας ήδη ενημερωμένο, μπορείτε απλώς να εκτελέσετε την εγκατάσταση του διακομιστή MySQL με την ακόλουθη εντολή. sudo apt εγκαταστήστε το mysql-server
  2. Και πάλι, μπορείτε να επαληθεύσετε την εγκατάσταση με την εντολή systemctl. sudo systemctl εκκίνηση mysql.service
  3. Όλες οι νέες εγκαταστάσεις MySQL είναι αρκετά ξεκάθαρες και μία από τις βασικές εργασίες διαμόρφωσης είναι η ενίσχυση της ασφάλειας. Ευτυχώς, υπάρχει ένα πακέτο ασφαλείας που μπορείτε να αναπτύξετε γρήγορα. sudo mysql_secure_installation

Η εκτέλεση της εντολής θα έχει ως αποτέλεσμα μια σειρά από ερωτήσεις ρύθμισης παραμέτρων για το σενάριο για να κάνει τις απαραίτητες αλλαγές ασφαλείας. 

Εγκατάσταση PHP 

Το Linux έρχεται με PHP στο αποθετήριο, αλλά θα χρειαστεί να εγκαταστήσετε το πακέτο. Η εντολή που χρησιμοποιείται θα εξαρτηθεί από την έκδοση PHP που θέλετε να αναπτύξετε. Για παράδειγμα, για να εγκαταστήσετε την PHP 7.4 εκτελέστε το sudo apt εγκαταστήστε το php7.4.

Τελικές σκέψεις για τη στοίβα LAMP

Η στοίβα LAMP παρέχει μια σταθερή, ευέλικτη βάση για διάφορους ιστότοπους ή εφαρμογές. Στις περισσότερες περιπτώσεις, δεν έχετε τη δυνατότητα επιλογής της στοίβας λογισμικού που προσφέρει ο πάροχος φιλοξενίας Ιστού σας. Ωστόσο, οι χρήστες κοινόχρηστης φιλοξενίας δεν θα χρειαστεί να το χειριστούν αυτό – απλώς ελέγξτε εάν ο κεντρικός υπολογιστής υποστηρίζει την εφαρμογή που θέλετε.

Στοίβες λογισμικού όπως το LAMP μπαίνουν στο παιχνίδι όταν μεταβείτε σε Εικονικοί ιδιωτικοί διακομιστές (VPS). Εδώ μπορείτε να επωφεληθείτε πλήρως από την ευελιξία της LAMP ή ακόμα και να δημιουργήσετε προσαρμοσμένα περιβάλλοντα που ταιριάζουν στις ανάγκες σας.

ΔΙΑΒΑΣΤΕ ΠΕΡΙΣΣΟΤΕΡΑ

Σχετικά με τον Timothy Shim

Ο Timothy Shim είναι συγγραφέας, συντάκτης και tech geek. Ξεκινώντας την καριέρα του στον τομέα της Πληροφορικής, βρήκε γρήγορα το δρόμο του για εκτύπωση και από τότε συνεργάστηκε με τίτλους διεθνών, περιφερειακών και εγχώριων μέσων ενημέρωσης όπως οι ComputerWorld, PC.com, Business Today και The Asian Banker. Η εξειδίκευσή του έγκειται στον τομέα της τεχνολογίας τόσο από πλευράς καταναλωτών όσο και επιχειρήσεων.