Εγκατάσταση Laravel σε Ubuntu 16.04 με LEMP Stack

egkatastasi-lavarel

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

Σε αυτό το άρθρο θα δούμε πως μπορούμε να εγκαταστήσουμε Laraver σε ένα μηχάνημα που τρέχει Ubuntu 16.04 με LEMP Stack χρησιμοποιώντας τα Blocks του Nginx.

Αν δεν έχετε εγκατεστημένο το LEMP Stack μπορείτε να το εγκαταστήσετε ακολουθώντας αυτόν εδώ τον οδηγό: Εγκατάσταση Lemp stack Σε Ubuntu 16.04 (Nginx, PHP, MariaDB)

Επίσης θα χρειαστούμε ένα domain το οποίο έχει ρυθμιστεί για να δείχνει στο server μας. Αν δεν έχετε κάποιο Domain μπορείτε να αποκτήσετε ένα νέο δωρεάν και να το ρυθμίσετε με τον αυτόν τον οδηγό: Απόκτηση και ρύθμιση δωρεάν domain name για χρήση στην Ιστοσελίδα μας.

Για να ολοκληρώσουμε με επιτυχία αυτόν τον οδηγό χρειαζόμαστε ένα λογαριασμό με δικαιώματα χρήσης της εντολής sudo

Για την ολοκλήρωση του οδηγού θα χρησιμοποιήσουμε το example.com. Εσείς σε όλα τα βήματα θα χρειαστεί να το αντικαταστήσετε με το δικό σας domain.

Βήμα 1, Δημιουργία της δομής φακέλων και αρχείων.

Η θέση των αρχείων του Laravel θα είναι στο /var/www/example.com/ , θα πρέπει να δημιουργήσουμε αυτούς του φακέλους:

sudo mkdir -p /var/www/example.com/

Επειδή δεν μπορούμε να γράψουμε sudo cd χωρίς να πάρουμε error θα αποκτήσουμε μόνιμα δικαιώματα υπερ χρήστη για τη συνεχεία του οδηγού:

sudo su

μεταφερόμαστε στο φάκελο για να εγκαταστήσουμε το Laravel:

cd /var/www/example.com/

θα εγκαταστήσουμε το Laravel με τη χρήση του Composer. Ο Composer είναι ένας διαχειριστής εξαρτήσεων για PHP. Για να εγκαταστήσουμε το Composer:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Επίσης θα ενεργοποιήσουμε το mcrypt module της PHP που είναι απαραίτητο για τη λειτουργία του Laravel.

phpenmod mcrypt

Τώρα μπορούμε να δημιουργήσουμε μια νέα εφαρμογή Laravel μέσο του Composer.
Τη νέα μας εφαρμογή θα την ονομάσουμε blog, μπορείτε να το αλλάξετε με όποιο όνομα επιθυμείτε:

composer create-project --prefer-dist laravel/laravel blog

Ο Composer εγκαθιστά όλα τα απαραίτητα αρχεία του Laravel μέσα στο φάκελο blog που είναι το όνομα της εφαρμογής μας.

Αν κάνουμε ls -la στο φάκελο που βρισκόμαστε θα πρέπει να δούμε το φάκελο blog:

laravel new app
laravel new app

Μέσα στο φάκελο blog θα πρέπει να έχουμε όλη τη δομή αρχείων του Laravel:

ls -la blog

laravel files
laravel files

Το επόμενο που θα χρειαστεί να κάνουμε είναι να αλλάξουμε κάτοχο και δικαιώματα των αρχείων για να μπορεί να τα διαβάζει ο Nginx. Ο χρήστης με τον όποιο εκτελείτε ο Nginx σε Ubuntu είναι ο www-data:

chown -R www-data:www-data /var/www/
chmod -R 755 /var/www/

Βήμα 2, Δημιουργία αρχείου ρυθμίσεων για για το Server block.

Ο Nginx έχει τα αρχεία ρυθμίσεων για τα block στο φάκελο /etc/nginx/sites-available/ όπου μπορούμε να δημιουργήσουμε ένα αρχείο για κάθε site που θέλουμε να φιλοξενήσουμε στον ιδιο server, δημιουργούμε ένα νέο αρχείο με το όνομα του example.com:

nano /etc/nginx/sites-available/example.com

Από τα αρχεία του Laravel που εγκαταστήσαμε μόνο ο φάκελος /var/www/example.com/blog/public χρειάζεται να είναι προσβάσιμος από τo Internet. Προσθέτουμε μέσα στο αρχείο:

server {
root /var/www/example.com/blog/public;
index index.php index.html index.htm;

server_name example.com;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Πατάμε Ctrl+X για έξοδο και Υ για αποθήκευση.

Τώρα θα πρέπει να ενεργοποιήσουμε το Server block που φτιάξαμε. Το κάνουμε δημιουργώντας ένα σύνδεσμο για το αρχείο config που δημιουργήσαμε στο φάκελο sites-available:


ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

θα επιβεβαιώσουμε ότι δεν έχουμε στον Nginx συντακτικά λάθη:

nginx -t

θα μας επιστρέψει το παρακάτω κείμενο που θα μας ενημερώνει ότι δεν υπάρχουν λάθη:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

και τέλος θα κάνουμε restart στον Nginx για να διαβάσει τις αλλαγές:

systemctl restart nginx

Αν πληκτρολογήσουμε στο φυλλομετρητή το domain μας, θα πρέπει να μας εμφανιστεί η αρχική σελίδα του Laravel.

laravel default
laravel default

Μπορούμε να ενεργοποιήσουμε το authentication στο Laravel γράφοντας στο τερματικό μας:

php /var/www/example.com/blog/artisan make:auth

και στη default σελίδα θα εμφανιστεί το Login – Register:

laravel default login
laravel default login

Έχουμε τελειώσει με την εγκατάσταση και μπορούμε συνεχίσουμε τη παραμετροποίηση της σελίδας μας, Ο χρόνος ολοκλήρωσης του παραπάνω οδηγού σε ένα μηχάνημα με εγκατεστημένο LEMP υπολογίζεται περίπου στα 20 λεπτά.

Μην διστάσετε να αφήσετε σχόλιο για οποιαδήποτε απορία ή παρατήρηση που μπορεί να έχετε.

Site Footer