Εγκατάσταση και ρύθμιση LAMP σε Ubuntu 10.04 server

LinuxFlame | Τετ, 07/27/2011 - 23:36 | 8'

Ο όρος 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 σας είναι έτοιμος να φιλοξενήσει τις ιστοσελίδες σας.

Δώσε αστέρια!

MO: (ψήφοι: 0)