Category Archives: CentOs

About Centos Distro

Lamp Stack (Linux Apaxhe Mysql php) και Virtual Hosts σε Centos 6.6

Εφόσον είδαμε πως να στήσουμε Lamp Stack σε Ubuntu και Debian και πως στήσαμε VirtualHosts σε αυτό ήρθε η ώρα να σας δείξουμε πως να το κάνετε και σε Centos 6.6 (Αν και βγήκε η έκδοση 7, λόγο ότι βγαίνει μόνο σε 64 bit και δεν έχω το κατάλληλο hardware για 64 bit VMs το έκανα σε 6.6).

Εγκατάσταση Apache Mysql php

Κατ’ αρχάς εγκαθιστούμε τον http server, την mysql, την php και κάποια php modules, χρήσιμα για ένα μέσο site, με την εντολή:

yum install httpd mysql php php-devel php-mysql php-pdo php-xml php-imap php-pear.noarch php-gd php-pear

Και μετά για δοκιμή δίνουμε:

echo "<?php phpinfo(); ?>" > /var/www/http/info.php

Και μπορούμε να δούμε αν παίζει δίνοντας στον browser http://^server_address^/info.php ή http://localhost/info.php αν στήνουμε τον server στο ίδιο μηχάνημα.

Ακόμη κάποια site θέλουν το Plugin Imagemagick που εγκαθιστάτε με τις εντολές:

yum install ImageMagick ImageMagick-devel gcc
pecl install imagick
echo "extension=imagick.so" > /etc/php.d/imagick.ini
sudo service httpd restart

 Δημιουργία VirtualHost

Για να ελέγχεται αν το configuration του apache έχει κάποιο λάθος ,που ενδεχομένως να κάνατε εσείς, κατα την διάρκεια εκτέλεσης του οδηγού δίνουμε:

sudo httpd -t

Ο τρόπος που θα δημιουργούμε τα virtualhost είναι ο ίδιος που χρησιμοποιεί το Debian/Ubuntu μόνο που θα τον στήσουμε εμείς Εξ’ αρχής.

Γι αυτό κατ’ αρχάς θα κάνουμε 2 φακέλους, έναν που θα περιέχει όλα τα vhosts και έναν που θα έχει τα «ενεργά» vhosts:

sudo mkdir -p /etc/httpd/vhosts-enabled
sudo mkdir -p /etc/httpd/vhosts-available

Στο folder /etc/httpd/vhosts/vhosts-enabled θα υπάρχουν τα virtual hosts που θα θέλουμε να σερβίρουμε και θα είναι Symbolic Links των αρχείων που θα περιγράφουν τα Vhost που θα βρίσκονται στον φάκελο /etc/httpd/vhosts/vhosts-available και θα είναι αρχεία υπό μορφή *.conf

Και για να «ενεργοποιήσουμε» ανοίγουμε με τον αγαπημένο μας editor:

sudo nano /etc/httpd/conf/httpd.conf

Αν δεν έχετε τον nano μπορείτε ή να το κάνετε με vi η να τον εγκαταστήσετε με την εντολή:

sudo yum install nano

Κάνουμε uncomment (αφαιρούμε το # από μπροστά) την γραμμή που λέει

# NameVirtualHost *:80

Και προσθέτουμε στο τέλος του αρχείου τα παρακάτω:

Include vhosts-enabled/*.conf

Και με Ctrl+O αποθηκεύουμε και με Ctrl+X βγαίνουμε από τον Editor

Και δημιουργούμε έναν φάκελο φιλοξενίας των virtual host:

sudo mkdir vhosts

Τώρα αν θέλουμε να δημιουργήσουμε ένα virtual Host δημιουργούμε έναν φάκελο στο /var/www/vhosts που θα περιέχει έναν φάκελο για τα αρχεία του site και έναν φάκελο για τα logs. Αυτό είναι δυνατόν να γίνουν με τις εντολές:


cd /var/www/vhosts
sudo mkdir ^όνομα_vhost^
sudo mkdir ^όνομα_vhost^/htdocs #Φάκελος φιλοξενίας site
sudo mkdir ^όνομα_vhost^/logs #Φάκελος logs

Όπου το ^όνομα_vhost^ ένα χαρακτηριστικό όνομα για το site σας (πχ. το url του)

Μέτα πηγαίνετε στον φάκελο /etc/httpd/vhosts-enabled με την εντολή:

cd /etc/httpd/vhosts-enabled

Με τον αγαπημένο σας editor δημιουργείτε ένα αρχείο που το όνομα θα έχει την μορφή ^όνομα_vhost^.conf

sudo nano ^όνομα_vhost^.conf

Και βάζουμε περιεχόμενο της μορφής:


<Virtualhost *:80>
ServerName ^domain_or_ip^

DocumentRoot  ^path_που_περιεχει_τα_αρχεία_του_σιτε^

DirectoryIndex index.php home.php index.html index.htm

ErrorLog ^Path_για_logs_σφαλμάτων^
CustomLog ^path_για_άλλου_είδους_logs^ combined
</Virtualhost>

Όπου:

  • ^domain_or_ip^: To domain ή η IP που θέλουμε το site να σερβίρετε.
  • ^path_που_περιεχει_τα_αρχεία_του_σιτε^: Εκεί που έχουμε τα αρχεία του site μας (στην περίπτωσή μας /var/www/vhosts/^όνομα_vhost^/htdocs )
  • ^Path_για_logs_σφαλμάτων^: Path που θα καταγράφονται ότι error υπάρχει. (συγκεκριμένη τιμή /var/www/vhosts/^όνομα_vhost^/logs/error.log)
  • ^path_για_άλλου_είδους_logs^: Path που καταγράφονται logs για το ποια IP επισκέπτεται το site. (συγκεκριμένή τιμή /var/www/vhosts/^όνομα_vhost^/logs/custom.log)

Το virtualhost το ενεργοποιούμε με τις εντολές:

sudo ln -s `pwd`/^όνομα_vhost^.conf ../vhosts-enabled/^όνομα_vhost^.conf

ή εναλλακτικά

sudo ln -s /etc/httpd/vhosts-available/^όνομα_vhost^.conf /etc/httpd/vhosts-enabled/^όνομα_vhost^.conf

Και μετά δίνεις

sudo service httpd restart

και δίνοντας http://^site_url^ στον browser σας μπορείτε να επισκεφτείτε το site σας. (Αρκεί στο /var/www/vhosts/^όνομα_vhost^/htdocs να έχετε βάλει καποιο περιεχόμενο 😉 )