CLOUD CONCEPT
Νερατζιωτίσσης 15, Μαρούσι, Αθήνα, 15124, Αττική
+30 211 8005 401
info@c2.gr
Το LAMP stack ( Linux , Apache , MySQL , PHP) είναι μια ομάδα λογισμικού ανοιχτού κώδικα που συνήθως εγκαθίσταται μαζί για να επιτρέψει σε έναν server να φιλοξενήσει δυναμικές ιστοσελίδες και εφαρμογές . Περιλαμβάνει το λειτουργικό Linux, με τον web server Apache. Τα δεδομένα της τοποθεσίας αποθηκεύονται σε μια βάση δεδομένων MySQL και το δυναμικό περιεχόμενο επεξεργάζεται από την PHP. Καμιά φορα αναφέρεται και ως LEMP αν αντί για τον Apache διαλέξουμε τον Nginx.
Παρακάτω θα εγκαταστήσουμε τον Apache , την MySQL και την PHP σε εναν server Debian 8.
Πριν ξεκινήσουμε θα πρέπει να έχουμε δημιουργήσει έναν ξεχωριστό λογαριασμό χρήστη εκτός του root στον server Debian 8 .
Μπορούμε να εγκαταστήσουμε τον Apache εύκολα χρησιμοποιώντας τον διαχειριστή πακέτων του Debian , apt..
Ξεκινάμε πληκτρολογώντας τις εξής εντολές:
sudo apt-get update
sudo apt-get install apache2
Δεδομένου ότι χρησιμοποιούμε μια εντολή sudo, αυτές οι λειτουργίες εκτελούνται με δικαιώματα root. Θα μας ζητηθεί τον κωδικό πρόσβασης του κανονικού μας χρήστη για επιβεβαίωση .
Στη συνέχεια, εγκαθίσταται ο Apache .
Για να βεβαιωθούμε οτι η εγκατάσταση ήταν επιτυχής , θα επισκεφτόυμε απο ένα πρόγραμμα περιήγησης την public IP του server μας .
http://your_server_IP_address
Λογικά , πρέπει να δούμε την παρακάτω εικόνα ::
Πώς να βρείτε την public IP του server σας
Εάν δεν γνωρίζετε ποια είναι η public IP του server σας, υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να το βρείτε. Συνήθως, αυτή είναι η διεύθυνση που χρησιμοποιείτε για να συνδεθείτε στο server μέσω SSH.
Από τη γραμμή εντολών, μπορείτε να το βρείτε με διάφορους τρόπους. Πρώτον, μπορείτε να χρησιμοποιήσετε τα εργαλεία iproute2 για να λάβετε τη διεύθυνσή σας πληκτρολογώντας το εξής:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Αυτό θα σας δώσει μία ή δύο γραμμές πίσω. Και οι δύο είναι σωστές διευθύνσεις, αλλά ο υπολογιστής σας μπορεί να χρησιμοποιήσει μόνο ένα από αυτά, έτσι μην διστάσετε να δοκιμάσετε το καθένα.
Μια εναλλακτική μέθοδος είναι να χρησιμοποιήσετε ένα εξωτερικό μέρος για να σας πει πώς βλέπει το διακομιστή σας. Μπορείτε να το κάνετε αυτό ζητώντας από έναν συγκεκριμένο διακομιστή ποια είναι η διεύθυνση IP σας:
curl http://icanhazip.com
Ανεξάρτητα από τη μέθοδο που χρησιμοποιείτε για τη λήψη της διεύθυνσης IP σας, μπορείτε να την πληκτρολογήσετε στη γραμμή διευθύνσεων του προγράμματος περιήγησης του ιστού σας για να φτάσετε στο διακομιστή σας.
Τώρα που έχουμε ανοίξει τον web server μας, είναι καιρός να εγκαταστήσουμε το MySQL. MySQL είναι ένα σύστημα διαχείρισης βάσεων δεδομένων. Βασικά, θα οργανώσει και θα παρέχει πρόσβαση σε βάσεις δεδομένων όπου ο ιστότοπός μας μπορεί να αποθηκεύσει πληροφορίες.
Και πάλι θα χρησιμοποιήσουμε την get apt για να εγκαταστήσουμε το λογισμικό μας. Αυτή τη φορά, θα εγκαταστήσουμε επίσης κάποια άλλα πακέτα ώστε να επικοινωνούμε πιο εύκολα με την MySQL .
sudo apt-get install mysql-server php5-mysql
Κατά τη διάρκεια της εγκατάστασης, ο server θα ζητήσει να επιλέξετε και να επιβεβαιώσετε έναν κωδικό πρόσβασης για το χρήστη "root" της MySQL. Αυτός είναι ένας λογαριασμός διαχειριστή στη MySQL που έχει αυξήμένα προνόμια.
Όταν ολοκληρωθεί η εγκατάσταση, πρέπει να εκτελέσουμε κάποιες πρόσθετες εντολές για την ασφαλή ρύθμιση του περιβάλλοντος MySQL.
Πρώτον, πρέπει να πούμε στην MySQL να δημιουργήσει τη δομή καταλόγου της βάσης δεδομένων όπου θα αποθηκεύσει τις πληροφορίες του. Μπορείτε να το κάνετε αυτό πληκτρολογώντας:
sudo mysql_install_db
Στη συνέχεια, θέλουμε να εκτελέσουμε μια απλή δέσμη ενεργειών ασφαλείας, η οποία θα αφαιρέσει κάποιες επικίνδυνες προεπιλογές και θα αποκλείσει την πρόσβαση στο σύστημα βάσης δεδομένων μας λίγο. Ξεκινάμε εκτελώντας:
sudo mysql_secure_installation
Θα μας ζητηθεί να εισαγάγουμε τον κωδικό πρόσβασης που ορίσαμε για τον λογαριασμό root της MySQL. Στη συνέχεια, θα ρωτηθούμε αν θέλουμε να αλλάξουμε αυτόν τον κωδικό πρόσβασης. Εάν είστε ικανοποιημένοι με τον τρέχοντα κωδικό πρόσβασης, πληκτρολογήστε "n" για "όχι" στη γραμμή εντολών.
Για τις υπόλοιπες ερωτήσεις, απλά πατήστε το πλήκτρο "ENTER" μέσα από κάθε ερώτηση για να αποδεχτείτε τις προεπιλεγμένες τιμές. Αυτό θα αφαιρέσει μερικούς δείκτες χρηστών και βάσεων δεδομένων, θα απενεργοποιήσει τα απομακρυσμένα root logins και θα φορτώσει αυτούς τους νέους κανόνες έτσι ώστε η MySQL να σέβεται αμέσως τις αλλαγές που έχουμε κάνει.
Σε αυτό το σημείο, το σύστημα βάσης δεδομένων έχει ρυθμιστεί.
Η PHP θα επεξεργαστεί κώδικα για την εμφάνιση δυναμικού περιεχομένου. Μπορεί να εκτελέσει δέσμες ενεργειών, να συνδεθεί με τις βάσεις δεδομένων MySQL για να πάρει πληροφορίες και να παραδώσει το επεξεργασμένο περιεχόμενο στον web server .
Μπορούμε και πάλι να εκμεταλλευτούμε το σύστημα apt για την εγκατάσταση των εξαρτημάτων μας. Θα συμπεριλάβουμε και κάποια βοηθητικά πακέτα:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
Στις περισσότερες περιπτώσεις,θέλουμε να τροποποιήσουμε τον τρόπο με τον οποίο ο Apache εξυπηρετεί αρχεία όταν ζητείται ένας κατάλογος. Τώρα , εάν ένας χρήστης ζητήσει έναν κατάλογο από το server, ο Apache θα αναζητήσει πρώτα ένα αρχείο που ονομάζεται index.html. Θέλουμε να πούμε στον web server μας να προτιμά τα αρχεία PHP, ώστε να κάνουμε τον Apache να ψάξει πρώτα ένα αρχείο index.php.
Για να γίνεται αυτό, πληκτρολογούμε αυτήν την εντολή για να ανοίξει το αρχείο dir.conf σε έναν text editor :
sudo vi /etc/apache2/mods-enabled/dir.conf
Θα μοιάζει με αυτό:
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
Θέλουμε να τροποποιήσουμε το αρχείο ευρετηρίου PHP στην πρώτη θέση μετά το DirectoryIndex, όπως παρακάτω:
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
Όταν τελειώσουμε, αποθηκεύουμε και κλείνουμε το αρχείο πατώντας "CTRL-X".
Μετά από αυτό, πρέπει να επανεκκινήσουμε τον Apache, για να αναγνωριστούν οι αλλαγές. Αυτό γίνεται πληκτρολογώντας :
sudo service apache2 restart
Εγκαταστήστε τις λειτουργικές μονάδες PHP
Για να βελτιώσουμε τη λειτουργικότητα της PHP, μπορούμε προαιρετικά να εγκαταστήσουμε μερικά addons.
Για να δουμε τα διαθέσιμα addons της PHP γράφουμε :
apt-cache search php5-
Τα αποτελέσματα είναι όλα προαιρετικά στοιχεία που μπορούμε να εγκαταστήσουμε . Θα μας δώσει μια σύντομη περιγραφή για κάθε ένα :
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
. . .
Για να δούμε περισσότερες πληροφορίες σχετικά με το τι κάνει κάθε ένα, μπορούμε πέρα από γκουγκλάρισμα , να δούμε τη μακρά περιγραφή πληκτρολογώντας:
apt-cache show package_name
Για παράδειγμα, για να μάθετε τι κάνει το module php5-cli, θα μπορούσαμε να το πληκτρολογήσουμε:
apt-cache show php5-cli
Εάν αποφασίσουμε ότι θέλουμε να εγκαταστήσουμε ένα πακέτο, μπορούμε να το κάνουμε χρησιμοποιώντας την εντολή apt-get όπως και πριν.
Σε αυτό το σημείο, το LAMP stack έχει εγκατασταθεί και ρυθμιστεί. Tώρα θα τεστάρουμε την PHP.
Για να ελέγξουμε ότι το σύστημά μας έχει διαμορφωθεί σωστά για την PHP, θα φτιάξουμε ένα πολύ απλό script .
Θα ονομάσουμε αυτό το script info.php. Προκειμένου ο Apache να βρει το αρχείο και να το προβάλει σωστά, πρέπει να αποθηκευτεί σε ένα συγκεκριμένο directory , το οποίο ονομάζεται "root web".
Στο Debian 8, αυτό το directory βρίσκεται στο / var / www / html /. Μπορούμε να δημιουργήσουμε το αρχείο στην τοποθεσία αυτή πληκτρολογώντας:
sudo vi /var/www/html/info.php
Αυτό θα ανοίξει ένα κενό αρχείο. Θέλουμε να τοποθετήσουμε στο αρχείο το ακόλουθο κομμάτι κώδικα:
phpinfo();
?>
Αποθηκεύουμε και κλείνουμε το αρχείο.
Τώρα μπορούμε να ελέγξουμε αν ο server μπορεί να εμφανίσει σωστά το περιεχόμενο που δημιουργήθηκε από ένα script της PHP. Για να το δοκιμάσετουμε, πρέπει απλώς να επισκεφθούμε αυτήν τη σελίδα σε έναν browser . Θα χρειαστούμε ξανά την IP του server.
Η διεύθυνση που θέλουμε να επισκεφθούμε είναι:
http://your_server_IP_address/info.php
Η σελίδα αυτή θα πρέπει να δείχνει κάτι τέτοιο:
Αν δούμε την από πάνω σελίδα , τότε η PHP λειτουργεί όπως αναμένεται.
Καλό είναι να διαγράψουμε αυτό το αρχείο , αφού δούμε ότι δουλεύει , γιατι μπορεί να δώσει πληροφοριίες για τον server μας . Αυτό γίνεται με την εντολή :
sudo rm /var/www/html/info.php
Αν χρειαστούμε πάλι τις πληροφορίες της PHP τότε μπορούμε πάλι να φτιάξουμε αυτό το αρχείο .