Βήμα-12 Δημιουργία virtual hosts

Submitted by johnknowhow on Κυρ, 10/14/2018 - 23:21
cloud

Εάν τελικά καταφέρατε να ολοκληρώσετε την προηγούμενη ενότητα τότε θα έχετε στην κατοχή σας 2 domain names το ένα το drupalSite.ml  και το άλλο to wordpressSite.ml (εσείς μπορείτε να τα ονομάσετε όπως θέλετε).

Η ενότητα αυτή θα επικεντρωθεί στο πώς δηλαδή θα δημιουργήσουμε εικονικούς εξυπηρετητές (virtual hosts) έτσι ώστε ο apache να γνωρίζει ποιό site να σερβίρει κάθε φορά.Να θυμίσω οτι και τα δύο domain που καπαρώσαμε καταλήγουν στην ίδια public ip ,αυτό που τα διαχωρίζει είναι το όνομα τους , άρα θα πρέπει να ορίσουμε στον apache οτι όταν δεί συγκεκριμένο domain θα πρέπει να σερβίρει και το ανάλογο site.

idea

Η διαδικασία που θα ακολουθήσουμε μπορεί να γίνει με 2 τρόπους είτε από το τερματικό είτε μέσα από τον webmin ,ειδικά μέσα από τον webmin υπάρχουν 2 τρόποι για να ορίσεις virtual hosts ,o πρώτος είναι να εντοπίσεις τον server apache και να το κάνεις μέσα από τις λειτουργίες του και ο δεύτερος (ο χειροκίνητος) είναι να φτιάξεις εσύ τα αρχεία που χρειάζονται.Εγώ θα περιγράψω τον δεύτερο τρόπο διότι θεωρώ οτι σου δίνει μεγαλύτερη ευελιξία και περισσότερη κατανόηση του τι κάνεις.

ΔΗΜΙΟΥΡΓΙΑ VIRTUAL HOSTS

Τα εργαλεία που θα χρειαστούμε για αυτό το σκοπό είναι τα :

  • ένα laptop η τον άλλο υπολογιστή μας (εκτός του server φυσικά)
  • Το πρόγραμμα Putty που το έχουμε εγκαταστήσει μέσα στο laptop
  • Το πρόγραμμα webmin που το έχουμε εγκαταστήσει στον server σε προηγούμενη ενότητα και το οποίο θα το καλέσουμε από τον Browser του laptop.

Πάμε λοιπόν να ξεκινήσουμε :

  • Ανοίγουμε το laptop και συνδεόμαστε μέσω wifi με το δίκτυο μας.
  • Μέσα από το laptop ανοίγουμε το Putty και εισάγουμε την ip του server, οταν συνδεθούμε με τον server δίνουμε το username και το password.

putty_4.png

  • Ανοίγουμε τον browser (mozila,explorer κλπ) και καλούμε το πρόγραμμα webmin γράφοντας στην μπάρα διευθύνσεων του browser :   https://xxx.xxx.x.xx:10000 (όπου xxx.xxx.x.xx η IP του server )
  • στην οθόνη του webmin που θα εμφανιστεί δίνουμε το username και το password , και μπαίνουμε στο περιβάλλον του .
  • στην αριστερή πλευρά του webmin επιλέγουμε: others και έπειτα στο υπομενού file manager και στην δεξια μεριά μπαίνουμε στον φάκελο var/www .Μέσα στον φάκελο www θα δημιουργήσουμε δύο φακέλους για τα 2 site μας.Αφού κάποια στιγμή θα αγοράσουμε domain names με κατάληξη gr τότε μπορούμε να ονομάσουμε τους φακέλους με κατάληξη gr δηλαδή τον πρώτο φάκελο θα τον ονομάσουμε drupalSite.gr και τον δεύτερο wordPressSite.gr.Αφήνουμε αυτούς τους φακέλους προσωρινά κενούς και σε επόμενη ενότητα θα τοποθετήσουμε μέσα σε αυτούς τα site μας.
  • Μεταφερόμαστε στον φάκελο etc/apache2/sites-available και παρατηρούμε οτι υπάρχει ένα αρχείο με ονομασία 000-default.conf , θα πρέπει να αντιγράψουμε αυτό το αρχείο 2 φορές και να μετονομάσουμε τα αντίγραφα σε drupalSite.conf  και  wordPressSite.conf
  • Το επόμενο βήμα είναι να τροποποιήσουμε αυτά τα 2 αρχεία με τα δικά μας δεδομένα.
  • Σημείωση : Γι αυτούς που δεν γνωρίζουν ,οποιαδήποτε γραμμή μέσα στο αρχείο που ξεκινάει με το σύμβολο # δεν είναι εντολή ,είναι απλά σχόλιο και δεν θα εκτελεστεί.
  • Άρα λοιπόν στο αρχείο drupalSite.conf  θα πρέπει να προσθέσετε τις εντολές και να έχει αυτή τη μορφή :
  • <VirtualHost *:80>


        ServerAdmin ΕΔΩ ΓΡΑΦΕΤΕ ΤΟ EMAIL TOY SITE
        ServerName drupalSite.ml
        ServerAlias www.drupalSite.ml
        DocumentRoot /var/www/drupalSite.gr

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

  • Σημείωση : αργότερα όταν θα αγοράσετε κανονικό Domain θα τροποποιήσετε αυτό το αρχείο δηλαδή αν αγοράσετε το drupalSite.gr τότε θα μετονομάσετε τα drupalSite.ml σε drupalSite.gr έτσι ώστε το αρχείο να δέιχνει όπως κάτωθι :
  • <VirtualHost *:80>


        ServerAdmin ΕΔΩ ΓΡΑΦΕΤΕ ΤΟ EMAIL TOY SITE
        ServerName drupalSite.gr
        ServerAlias www.drupalSite.gr
        DocumentRoot /var/www/drupalSite.gr

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

     

  • Αποθηκεύστε το αρχείο.
  • Το επόμενο βήμα είναι να τροποποιήσουμε το αρχείο wordPressSite.conf
  • Το ανοίγουμε και το τροποποιούμε όπως κάτωθι.
  • <VirtualHost *:80>


        ServerAdmin ΕΔΩ ΓΡΑΦΕΤΕ ΤΟ EMAIL TOY SITE
        ServerName wordPressSite.ml
        ServerAlias www.wordPressSite.ml
        DocumentRoot /var/www/wordPressSite.gr

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

  • Σώζουμε το αρχείο και βγαίνουμε από αυτό.
  • Επόμενο βήμα είναι να τροποποιήσουμε το αρχείο hosts
  • Μεταφερόμαστε στον φάκελο etc και εντοπίζουμε το αρχείο hosts το ανοίγουμε και προσθέτουμε σε αυτό :

ΓΙΑ ΤΟ drupalSite :

             public ip drupalSite.ml www.drupalSite.ml

             (παράδειγμα :62.35.112.10 drupalSite.ml www.drupalSite.ml ) 

       επίσης προσθέτουμε για μελλοντική χρήση και το  :

             public ip drupalSite.gr www.drupalSite.gr

ΓΙΑ ΤΟ wordPressSite:

              public ip wordPressSite.ml www.wordPressSite.ml

              public ip wordPressSite.gr www.wordPressSite.gr

  • Σώζουμε το αρχείο και βγαίνουμε από αυτό.
  • Ανοίγουμε το πρόγραμμα Putty και δίνουμε τις εντολές :

Απενεργοποίηση του 000-default.conf

  sudo a2dissite 000-default.conf

 ενεργοποίηση του wordPressSite.conf

   sudo a2ensite wordPressSite.conf

ενεργοποίηση του drupalSite.conf

   sudo a2ensite drupalSite.conf

  • και αφού τα έχουμε κάνει όλα σωστά επανεκινούμε και τον apache με την εντολή :

      sudo service apache2 reload

  • Η διαδικασία virtual hosts τελείωσε,τώρα ο apache γνωρίζει σε ποιόν φάκελο θα σερβίρει το κάθε domain.Αν τα έχετε κάνει όλα σωστά τότε κατα την επανεκίνηση του apache δεν θα σας βγάζει σφάλμα και ο apache θα εκκινεί κανονικά.