Επιστροφή στο blog

Εγκατάσταση και Ρύθμιση του Laravel με Nginx σε Ubuntu 20.04

Εγκατάσταση και Ρύθμιση του Laravel με Nginx σε Ubuntu 20.04

Εισαγωγή

Laravel είναι ένα πλαίσιο εφαρμογών ιστού που συνοδεύεται από ένα σύνολο ενσωματωμένων εργαλείων και πόρων για την ανάπτυξη σύγχρονων PHP εφαρμογών. Είναι γνωστό για την αξιοπιστία, την απόδοση, την αποδοτικότητα, τη σπονδυλωτότητα και την ασφάλειά του. Λόγω των διαφόρων ενσωματωμένων χαρακτηριστικών του, το Laravel έχει γνωρίσει απίστευτη αύξηση στη δημοτικότητά του. Πολλοί προγραμματιστές υιοθετούν το Laravel για να απλοποιήσουν τη διαδικασία ανάπτυξης ιστού.

Αυτός ο οδηγός θα δείξει πώς να εγκαταστήσετε και να διαμορφώσετε μια νέα εφαρμογή Laravel σε Ubuntu 20.04.

Laravel σε Ubuntu

Θα χρησιμοποιήσουμε το Composer, έναν διαχειριστή εξαρτήσεων PHP, για τη λήψη και τη διαχείριση του Laravel. Για να εγκαταστήσετε το Composer ακολουθήστε τις οδηγίες αυτού του σεμιναρίου. Ο Nginx server θα εξυπηρετεί την εφαρμογή. Θα δημιουργήσει μια δοκιμαστική εφαρμογή Laravel χρησιμοποιώντας τη βάση δεδομένων MySQL database.

Αυτός ο οδηγός απαιτεί ορισμένες προϋποθέσεις. Υποθέτουμε ότι έχετε ήδη έναν σωστά διαμορφωμένο διακομιστή Ubuntu 20.04 σε λειτουργία. Για αναφορά, δείτε έναν γρήγορο οδηγό σχετικά με τη ρύθμιση ενός διακομιστή Ubuntu. Απαιτείται επίσης να έχετε εγκατεστημένο και διαμορφωμένο το stack LEMP (Linux, Nginx, MySQL και PHP). Έχουμε έναν λεπτομερή οδηγό σχετικά με την εγκατάσταση και διαμόρφωση του LEMP stack.

Επειδή πρόκειται να εγκαταστήσουμε διάφορα πακέτα, απαιτούνται δικαιώματα root. Στην περίπτωση του Ubuntu, ο χρήστης root είναι απενεργοποιημένος από προεπιλογή. Επομένως, χρειαζόμαστε πρόσβαση σε έναν χρήστη που δεν είναι root με δικαιώματα sudo privilege. Here’s πώς να εκχωρήσετε δικαιώματα sudo σε άλλους χρήστες.

Step 1 – Εγκατάσταση ενοτήτων PHP

Πριν εγκαταστήσουμε το Laravel, χρειαζόμαστε ορισμένες σημαντικές ενότητες PHP για το πλαίσιο. Αυτές οι ενότητες είναι άμεσα διαθέσιμες από τα προεπιλεγμένα αποθετήρια πακέτων του Ubuntu. Αυτές οι ενότητες υποστηρίζουν λειτουργίες όπως κωδικοποίηση χαρακτήρων, XML και μαθηματικά ακριβείας.

Αρχικά, ενημερώστε την προσωρινή μνήμη APT και εγκαταστήστε τα πακέτα:

Step 2 – Δημιουργία βάσης δεδομένων για την εφαρμογή

Για να δείξουμε τη λειτουργικότητα του Laravel, θα φτιάξουμε μια εφαρμογή λίστας ταξιδιών που δείχνει τη λίστα με τα μέρη που θα ήθελε να επισκεφτεί ο χρήστης, καθώς και μια λίστα με μέρη που έχουν ήδη επισκεφθεί. Μπορούμε να αποθηκεύσουμε αυτά τα δεδομένα σε έναν πίνακα place με πεδία name (όνομα τοποθεσίας) και visited (σημαίνοντας ως visited ή nonvisited). Ένα επιπλέον πεδίο θα περιλαμβάνει μια μοναδική ταυτότητα για κάθε καταχώριση. Για να συνδέσουμε τα δεδομένα με την εφαρμογή Laravel, θα δημιουργήσουμε έναν αποκλειστικό χρήστη MySQL και θα του εκχωρήσουμε πλήρη δικαιώματα στη βάση δεδομένων travellist.

Η εγγενής βιβλιοθήκη MySQL PHP mysqlnd δεν υποστηρίζει πλέον το caching_sha2_authentication. Επομένως, πρέπει να ρυθμίσουμε τη βάση δεδομένων μας με τη μέθοδο ελέγχου ταυτότητας mysql_native_password. Αποκτήστε πρόσβαση στο κέλυφος MySQL ως root:

Στη συνέχεια, δημιουργήστε μια νέα βάση δεδομένων με το όνομα travellist:

Μετά από αυτό, δημιουργήστε έναν αποκλειστικό χρήστη travellist_user με έναν κατάλληλο κωδικό πρόσβασης:

Δώστε στον χρήστη travellist_user πλήρη δικαιώματα στη βάση δεδομένων travellist. Αυτό θα εμποδίσει επίσης τον χρήστη από το να δημιουργήσει και να τροποποιήσει οποιαδήποτε άλλη βάση δεδομένων στον διακομιστή:

Έξοδος από το κέλυφος MySQL:

exit

Ας δοκιμάσουμε τον νέο χρήστη. Η ακόλουθη εντολή θα συνδεθεί στο κέλυφος MySQL ως χρήστης travellist_user. Η σημαία -p θα ζητήσει τον κωδικό πρόσβασης του χρήστη:

Εκτυπώστε όλες τις διαθέσιμες βάσεις δεδομένων. Όπως διαμορφώθηκε προηγουμένως, θα πρέπει να εμφανίζει μόνο τις travellist και information_schema μόνο:

Στη συνέχεια, πρέπει να δημιουργήσουμε τον πίνακα δεδομένων places. Εκτελέστε την ακόλουθη δήλωση MySQL:

Ας γεμίσουμε τον πίνακα με μερικά δείγματα δεδομένων:

Ας δούμε αν τα δεδομένα αποθηκεύτηκαν με επιτυχία στη βάση δεδομένων:

Όπως μπορούμε να δούμε, ο δοκιμαστικός πίνακας είναι γεμάτος με έγκυρα δεδομένα. Μπορούμε τώρα να βγούμε από το MySQL shell:

MySQL shell

Step 3 – Δημιουργία μιας νέας εφαρμογής Laravel

Είμαστε τώρα έτοιμοι να δημιουργήσουμε μια νέα εφαρμογή Laravel χρησιμοποιώντας το Composer. Θα χρησιμοποιήσουμε το travellist ως δοκιμαστική εφαρμογή. Αυτή η εφαρμογή θα εμφανίζει τη λίστα τοποθεσιών από τη βάση δεδομένων MySQL, επιδεικνύοντας τη βασική ρύθμιση του Laravel. Μεταβείτε στον αρχικό κατάλογο του χρήστη:

Το επόμενο βήμα είναι να δημιουργήσετε μια νέα εφαρμογή Laravel χρησιμοποιώντας το Composer. Θα δημιουργήσει έναν αποκλειστικό κατάλογο travellist με μια βασική εφαρμογή Laravel με τις προεπιλεγμένες ρυθμίσεις. Εκτελέστε την ακόλουθη εντολή:

composer create-project

Μόλις δημιουργηθεί η εφαρμογή, μπορούμε να επαληθεύσουμε αν όλα τα στοιχεία εγκαταστάθηκαν με επιτυχία:

php artisan

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

Step 4 – Ρύθμιση του Laravel

Όλα τα αρχεία ρυθμίσεων του Laravel αποθηκεύονται μέσα σε έναν κατάλογο με το όνομα config μέσα στον ριζικό κατάλογο της εφαρμογής. Επιπλέον, κατά την εγκατάσταση του Laravel με το Composer, δημιουργείται επίσης ένα αρχείο περιβάλλοντος. Περιέχει διάφορες ρυθμίσεις ειδικές για το τρέχον περιβάλλον. Οι τιμές που δηλώνονται σε αυτό θα υπερισχύουν των τιμών που έχουν οριστεί στα κανονικά αρχεία ρυθμίσεων στο config.

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

Ανοίξτε το αρχείο περιβάλλοντος με έναν επεξεργαστή κειμένου:

Ακολουθεί ένα δείγμα κώδικα περιβάλλοντος:

DB_PASSWORD=password123

Ας αναλύσουμε τις τιμές:

  • APP_NAME: Αυτό το πεδίο περιγράφει το όνομα της εφαρμογής. Αυτό το όνομα θα χρησιμοποιείται για ειδοποιήσεις και μηνύματα.
  • APP_ENV: Το τρέχον περιβάλλον της εφαρμογής.
  • APP_KEY: Αυτό το κλειδί δημιουργείται αυτόματα κατά την εγκατάσταση του Laravel μέσω του Composer. Χρησιμοποιείται για τη δημιουργία salts και hashes. Δεν χρειάζεται να το αλλάξετε.
  • APP_DEBUG: Εναλλαγή λειτουργίας εντοπισμού σφαλμάτων. Όταν είναι ενεργοποιημένη, θα εμφανίζει πληροφορίες εντοπισμού σφαλμάτων στην πλευρά του πελάτη.
  • APP_URL: Η βασική διεύθυνση URL της εφαρμογής. Χρησιμοποιείται επίσης για τη δημιουργία συνδέσμων της εφαρμογής.
  • DB_DATABASE: Το όνομα της βάσης δεδομένων. Σε αυτήν την περίπτωση, θα είναι η αποκλειστική βάση δεδομένων που δημιουργήσαμε.
  • DB_USERNAME: Το όνομα χρήστη για τη σύνδεση στη βάση δεδομένων.
  • DB_PASSWORD: Ο κωδικός πρόσβασης για τη σύνδεση στη βάση δεδομένων.

Μόλις γίνουν οι αλλαγές, αποθηκεύστε το αρχείο και κλείστε τον επεξεργαστή.

Step 5 – Ρύθμιση του Nginx

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

Το επόμενο βήμα μας είναι να μεταφέρουμε την εφαρμογή στο /var/www καθώς είναι η συνηθισμένη τοποθεσία για εφαρμογές ιστού που εκτελούνται σε Nginx. Χρησιμοποιήστε την εντολή mv για να μετακινήσετε το travellist στο /var/www/travellist:

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

Τα αρχεία της εφαρμογής είναι τώρα στη θέση τους. Ωστόσο, πρέπει να πούμε στον Nginx να εξυπηρετεί το περιεχόμενο. Δημιουργήστε ένα νέο αρχείο ρυθμίσεων εικονικού κεντρικού υπολογιστή:

Ακολουθεί ένα δείγμα προτεινόμενων ρυθμίσεων για μια εφαρμογή Laravel που εκτελείται σε Nginx:

Ήρθε η ώρα να ενεργοποιήσετε το νέο αρχείο ρυθμίσεων εικονικού κεντρικού υπολογιστή. Δημιουργήστε έναν συμβολικό σύνδεσμο προς τον κατάλογο sites-enabled :

Η ακόλουθη εντολή Nginx θα ελέγξει τα αρχεία ρυθμίσεων για συντακτικά σφάλματα:

Στη συνέχεια, επαναφορτώστε τον Nginx:

Η εφαρμογή θα πρέπει τώρα να είναι διαθέσιμη χρησιμοποιώντας το όνομα τομέα ή τη διεύθυνση IP (όπως ορίζεται από την οδηγία server_name ):

Installing Laravel image 3

Βήμα 6 – Προσαρμογή της Κύριας Σελίδας

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

Το αρχείο θα περιέχει κάποιο περιεχόμενο από προεπιλογή. Εδώ, οι διαδρομές ορίζονται χρησιμοποιώντας τη στατική μέθοδο (Route::get). Δέχεται ένα path και μια callback function ως ορίσματα.

Αντικαταστήστε τον κώδικα με τον ακόλουθο:

Installing Laravel image 2

Αποθηκεύστε το αρχείο και κλείστε τον επεξεργαστή. Στη συνέχεια, θα δημιουργήσουμε τη διάταξη για την απόδοση των αποτελεσμάτων του ερωτήματος της βάσης δεδομένων στον χρήστη. Δημιουργήστε ένα νέο αρχείο μέσα στο resource/views:

Στον παρακάτω κώδικα, έχουμε δημιουργήσει δύο λίστες με μέρη ανάλογα με την τιμή του visited και togo:

Installing Laravel image 1

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

Travel list

Voila! Έχουμε πλέον μια λειτουργική εφαρμογή Laravel που χρησιμοποιεί βάση δεδομένων MySQL για το περιεχόμενο.

Τελικές Σκέψεις

Σε αυτόν τον οδηγό, δείξαμε πώς να εγκαταστήσετε μια εφαρμογή Laravel πάνω στο LEMP stack που εκτελείται σε διακομιστή Ubuntu 20.04. Παρουσιάσαμε επίσης πώς να προσαρμόσετε την προεπιλεγμένη διαδρομή (route) για να κάνετε ερωτήματα στο περιεχόμενο της βάσης δεδομένων και να εμφανίσετε τα αποτελέσματα σε μια προσαρμοσμένη προβολή (view). Για περισσότερες πληροφορίες σχετικά με το Laravel, ανατρέξτε στην επίσημη τεκμηρίωση για views, routes, και υποστήριξη βάσης δεδομένων.

Η εγκατάσταση σε αυτόν τον οδηγό πραγματοποιείται σε μια αυτόνομη εικονική μηχανή. Ωστόσο, μπορείτε επίσης να κάνετε deploy το Laravel σε LEMP stacks στο Docker.

Καλή συνέχεια!

author

Hark Labs

Συγγραφέας · CloudSigma

Ο Preslav Dobrev είναι Δημιουργικός Σχεδιαστής στην CloudSigma, με εστίαση στη συνεπή επιχειρηματική ταυτότητα μέσω παραδοσιακών και καινοτόμων καναλιών μάρκετινγκ. Διαθέτει την ικανότητα να συνδυάζει το καλλιτεχνικό όραμα με το στρατηγικό μάρκετινγκ για τη δημιουργία εντυπωσιακών αφηγήσεων επωνυμίας.

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.