Ο όρος LAMP αναφέρεται σε τρία βασικά συστατικά που λειτουργούν εξαιρετικά καλά μαζί για τη φιλοξενία ισχυρής ιστοσελίδας με βάση δεδομένων. Είναι ένα αρκτικόλεξο για το Linux, Apache, MySQL και PHP. Αυτές οι τέσσερις τεχνολογίες χρησιμοποιούνται για τη δημιουργία ενός διακομιστή που μπορείτε απλά να συνδέσετε στο δίκτυό σας και να επικοινωνείτε με τη χρήση του φυλλομετριτή (web browser) σας.
Στο οδηγό αυτό υποθέτουμε ότι έχετε εγκαταστήσει και ρυθμίσει το Server σας όπως περιγράφεται στον οδηγό Εγκατάσταση Ubuntu 10.04 LTS Server Edition.
Η εγκατάσταση του LAMP server στο Ubuntu θα μπορούσε να γίνει και κατά την εγκατάσταση του βασικού συστήματος από το τμήμα εγκατάσταση λογισμικού επιλέγοντας μαζί με το OpenSSH server και LAMP server όμως η μετέπειτα ξεχωριστή εγκατάσταση είναι καλύτερη.
Συνδεθείτε λοιπών με SSH στο server σας
ssh όνομαχρήστη@όνομαserver
Προσέξετε να έχετε κάνει της κατάλληλες προσθήκες στο τοπικό σας αρχείο /etc/hosts όπως περιγράφονται στον παραπάνω οδηγό διαφορετικά δεν θα μπορείτε να συνδεθείτε στο server σας χρησιμοποιώντας το όνομα του και αυτό θα δημιουργήσει προβλήματα στην μετέπειτα ρύθμιση του server σας.
Τώρα μπορείτε να εγκαταστήσετε το LAMP server πληκτρολογώντας
sudo tasksel install lamp-server
που θα εγκαταστήσει μόνο τα βασικά πακέτα.
Κατά την εγκατάσταση θα σας ζητηθεί ένας κωδικός για το root χρήστη της MySQL δώστε ένα καλό κωδικό και καταγράψτε τον.
Επαναλάβετε τον κωδικό
Αφού ολοκληρωθεί η εγκατάσταση ανοίξτε το αρχείο /etc/mysql/my.cnf
sudo nano /etc/mysql/my.cnf
και σχολιάστε (Βάλτε στη αρχή της γραμμης #)
#bind-address = 127.0.0.1
Επανεκκινήστε τον MySql server
sudo /etc/init.d/mysql restart
Ανοίξτε το φυλλομετριτή σας και γράψετε http://όνομαserver
πρείεπει να βλέπετε την default σελίδα του apache που λέει «it works».
Τώρα μπορούμε να εγκαταστήσουμε ένα πρόγραμμα όπως το phpMyAdmin για να χειριζόμαστε ευκολότερα τις βάσεις δεδομένων μας.
sudo apt-get install phpmyadmin
Όταν σας ζητηθεί να επιλέξετε διακομιστή επιλέξετε apache2.
Επιλέξετε «yes»
Δώστε τον κωδικό για τη MySQL σας
και τον κωδικό που θέλετε για το phpMyAdmin (αν θέλτε για μπορείτε να τον βάλετε ίδιο με της MySql)
Επαναλάβετε τον κωδικό
Το αρχείο ρυθμίσεών του είναι το /etc/phpmyadmin/config.inc.php
Επανεκκινήστε τον apache
sudo /etc/init.d/apache2 restart
Μετά ανοίξτε το φυλλομετριτή σας και γράψετε http://όνομαserver/phpmyadmin
και δώστε όνομα χρήστη root και τον κωδικό που δώσατε για το phpMyAdmin.
Ο φάκελος για τα αρχεία της ιστοσελίδας σας είναι ο /var/www/ . Για λόγους ευκολίας στη διαχείριση, είναι καλό να αλλάξετε φάκελο από /var/www/ σε ένα φάκελο στο /home/όνομαχρήστη/www/ αυτό θα σας διευκολύνει στη μεταφορά και επεξεργασία αρχείων στο server σας. Όπου όνομαχρήστη βάλτε το όνομα του διαχειριστή του server σας. Σε γραμμή εντολών πληκτρολογήστε
mkdir /home/όνομαχρήστη/www
Τώρα πρέπει να αλλάξουμε το αρχείο ρυθμίσεων του Apache για την ιστοσελίδα μας.
Τα αρχεία ρυθμίσεων των διαθέσιμων σελίδων στο server μας βρίσκονται στο φάκελο /etc/apache2/sites-available/ ενώ των ενεργοποιημένων σελίδων στο /etc/apache2/sites-enabled/ και των ενεργοποιημένων modules στο /etc/apache2/mods-enabled/
Αντιγράψτε το default αρχείο δίνοντας το όνομα της σελίδας σας π.χ
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example.com
Ανοίξτε το αρχείο που μόλις δημιουργίσατε
sudo nano /etc/apache2/sites-available/example.com
και προσθέστε
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.com
ServerAlias example.com
αλλάξτε το
DocumentRoot /var/www σε DocumentRoot /home/όνομαχρήστη/www
και το
<Directory /var/www/> σε <Directory /home/όνομαχρήστη/www/>
Απενεργοποιήστε το προκαθορισμένο αρχείο
sudo a2dissite default
και ενεργοποιήστε το δικό σας
sudo a2ensite example.com
Επανεκκινήστε τον Apache
sudo /etc/init.d/apache2 restart
Για να βεβαιωθούμε ότι όλα πήγαν καλά ας γράψουμε μια απλή σελίδα.
Σε γραμμή εντολών πληκτρολογείστε
nano /home/όνομαχρήστη/www/index.php
και μέσα στο αρχείο γράψτε
<?php phpinfo(); ?>
και αποθηκεύεστε το. Αυτή η εντολή θα μας δόση πληροφορίες για τη php μας
Για να δείτε την σελίδα ανοίξτε τον browser σας και πληκτρολογείστε τη διεύθυνση
http://όνομαserver
Αν όλα πήγαν καλά θα δείτε την σελίδα. Για λόγους ασφάλειας μετά τη δοκιμή διαγράψτε το index.php.
Στοιχειώδεις ρυθμίσεις ασφάλειας
Συνήθως στις μέρες μας οι Servers βρίσκονται πίσω από κάποιο Router το οποίο είναι και firewall με αποτέλεσμα να είναι προστατευμένοι από κάποιου είδους επιθέσεις. Αυτό δεν σημαίνει οτι είναι ασφαλείς και δεν πρέπει να ανησυχούμε, αντιθέτως ένας Web Server θα δεχθεί κατά 99% κάποιου είδους επίθεση. Συνήθως οι επιθέσεις αυτές γίνονται από διάφορα προγράμματα δηλ αυτοματοποιημένα.
Ένα πρώτο βήμα που μπορούμε να κάνουμε για να αποφύγουμε μεγάλο μέρος αυτών των επιθέσεων είναι να αλλάξουμε κάποιες default ρυθμίσεις των προγραμμάτων που χρησιμοποιούμε για τη διαχείριση του Server μας. Μπορούμε για αρχή να αλλάξουμε το default port 22 του SSH.
Ανοίξτε το αρχείο ρυθμίσεων του SSH αφού κρατείστε ένα αντίγραφο
sudo cp /etc/ssh/sshd_config /etc/ssh/sshdback_config
sudo nano /etc/ssh/sshd_config
και αλλάξτε το port από 22 σε πχ 2222
λίγο ποιο κάτο στο ίδιο αρχείο βρείτε το
PermitRootLogin yes
και αλλάξτε το σε
PermitRootLogin no
σώστε το και βγείτε.
Καλλό είναι να αλλάξουμε κάποια στοιχεία του apache2 αφού κρατήσουμε ένα αντίγραφό του αρχείου /etc/apache2/conf.d/security
sudo cp /etc/apache2/conf.d/security /etc/apache2/conf.d/securityback
μετά ανοίξτε το
sudo nano /etc/apache2/conf.d/security
και βρείτε το
ServerTokens OS και κάντε το ServerTokens Prod
και το
ServerSignature On και και κάντε το ServerSignature Off
κρατήστε ένα αντίγραφό του αρχείου ρυθμίσεών του apache2
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2back.conf
μετά ανοίξτε το
sudo nano /etc/apache2/apache2.conf
και προσθέστε στο τέλος
ServerTokens Prod
ServerSignature Off
σώστε το και βγείτε.
Επανεκκινήστε τον Apache
sudo /etc/init.d/apache2 restart
Φυσικά το θέμα της ασφάλειας ενός server είναι μεγάλο και περίπλοκο οι παραπάνω ρυθμίσεις είναι κάποια πολύ βασικά πράγματα που μπορούμε να κάνουμε σε έναν φρεσκοστημένο LAMP Server.
Ο LAMP server σας είναι έτοιμος να φιλοξενήσει τις ιστοσελίδες σας.
- Συνδεθείτε ή εγγραφείτε για να σχολιάσετε