Οδηγίες Google Cloud Server (δωρεάν για 1 χρόνο) & ρυθμίσεις

Κοινοποιήστε

Όπως είχα αναφέρει και στο παρελθόν, σήμερα θα αναρτήσω τις οδηγίες για να αποκτήσεις τον δικό σου Google Cloud Server με δωρεάν 300$ για να ξοδέψεις, δωράκι από την Google.

Τι είναι ο Virtual Private Server ή αλλιώς VPS?

Σκέψου ότι κάθε διαφήμιση που βλέπεις στο internet για δωρεάν ή πολύ φθηνή φιλοξενία ιστοσελίδας (των αρχείων του site σου δηλαδή) , το 90% όλων αυτών των υπηρεσιών έχει να κάνει με shared hosting server, δηλαδή ο ίδιος server (υπολογιστής) φιλοξενεί και άλλους πελάτες μέσα (εκτός από εσένα).

Ο λόγοι που πολλοί επιλέγουν αυτό τον απλούστατο χώρο φιλοξενίας είναι:
1. Γιατί είναι πολύ εύκολο να το χρησιμοποιήσεις
2. Τα έχει όλα προεγκατεστημένα (email, ftp, databases κτλ)
3. Είναι πολύ φθηνό σε σχέση με ένα Virtual Private Server

Αν θέλουμε όμως να δούμε την πραγματικότητα με άλλο μάτι:
1. Χρησιμοποιείς την ίδια IP με άλλους 100+ πελάτες, που σημαίνει ότι έχεις του ακόλουθους κινδύνους: hacking, ddos attacks, blacklist ip, αργη λειτουργία
   με αποτέλεσμα να πέφτει ο server κάθε λίγο, κ.α.
2. Μπορεί να είναι όλα προεγκατεστημένα, αλλά πόσες φορές προσπάθησες να περάσεις ένα πρόσθετο στο wordpress πχ για να κάνει import 1000+ προιόντα στο e-shop
   σου και ξαφνικά κολλήσαν τα πάντα? Σχεδόν πάντα συμβαίνει αυτό όταν το πρόσθετο ζητάει παραπάνω πόρους, μνήμη και άλλα που πολλές φορές αναλόγως την
   εταιρεία που σε φιλοξενεί, πρέπει να τα ζητήσεις και αν θέλουν θα στα δώσουν, συνήθως όχι.
3. Ο μύθος ότι είναι φθηνό το Shared Hosting δεν ισχύει, αφού λόγο των περιορισμών συνήθως αναγκάζεσαι να πάρεις κάπoιο Gold πακέτο και αυτό σημαίνει ότι θα
   δώσεις τουλάχιστον $10-$14 μήνα, δηλαδή $120-168$ χρόνο

Γι' αυτό τον λόγο, αργά η γρήγορα, έρχεται η ώρα που αρχίζεις να ψάχνεις για το ξακουστό VPS.

Στο παρελθόν τα VPS κόστιζαν ο Κούκος Αηδόνι, σήμερα όμως έχουμε πολλές επιλογές και για να μην σας καθυστερώ πολύ, μπορείτε να δείτε την ιστορία του VPS
στο Google με ένα ψάξιμο.

Μία από τις επιλογές για VPS, είναι η υπηρεσία Google Cloud Platform (Compute Engine) όπου ως δώρο γνωριμίας η Google προσφέρει 300$ trial να τα 
χρησιμοποιήσεις όπου θέλεις.

Θα εμπλουτίσω αυτή την ανάρτηση με περισσότερα και πιο διορθωμένα (πιο εύκολα) βήματα μελλοντικά, καθώς επίσης θα ανεβάσω και ένα βίντεο με όλη την
διαδικασία. Προς το παρόν σας παραθέτω ότι πρόλαβα να γράψω στον ελεύθερο χρόνο μου και όπως πάντα, feel free to ask ;)

01. πηγαίνεις στο console.cloud.google.com
02. κάνεις register με το υπάρχον gmail σου και προσθέτεις χρεωστική κάρτα σύμφωνα με τη διεύθυνση που έβαλες
03. πηγαίνεις στο console.cloud.google.com > Compute Engine > VM Instances
04. αν σε ρωτήσει πατάς Enable (payments profile, κάτι τέτοιο)
05. Μέσα στο VM Instances πατάς "Create Ιnstance"
06. Βάζεις: 
    α) Name: Ότι θές ή αφήνεις το ίδιο
    β) Zone: us-central1-c
    γ) Machine Type: 1 vCPU (3.75 GB memory)
    δ) Στο Boot Disk πάτα "Change" και επέλεξε "Ubuntu 17.10 και από κάτω βάλε 50GB"
    ε) Το Service account δεν το πειράζεις
    ζ) Το Acess scopes επιλέγεις το μεσαίο Allow full access
    η) Στο firewall τσεκάρεις και τα δύο (http & https)
    θ) Κάνε κλικ στο "Management"
    ι) Επέλεξε την καρτέλα Networking
    κ) Στο default Network Interface κάνε κλικ δεξιά στο στυλό για να επεξεργαστείς τις ρυθμίσεις του
    λ) Στις ρυθμίσεις του λοιπόν πήγαινε στο IP Forwarding και αλλαξέ το σε ON και πάτησε DONE
    μ) Τέλος πάτησε Create και περίμενε μέχρι να το ετοιμάσει.
07. Μόλις το ετοιμάσει ετοίμασε ένα έγγραφο και ξεκίνα να γράφεις μέσα ότι στοιχεία θα σου χρειαστούν για το μέλλον
    για παράδειγμα η External IP θα σου χρειαστεί να την έχεις και σε ένα έγγραφο για να συνδέεσαι πιο γρήγορα.
08. Κάνε κλικ πάνω εκεί που λέει SSH και θα ανοίξει ένα καινούργιο παράθυρο με την κονσόλα εντολών του server
09. Συγχαρητήρια, έχεις συνδεθεί με τον server σου.
10. Για να εγκαταστήσεις την δυνατότητα να φιλοξενείς ιστοσελίδες:
    (για κάθε γράψε που σου λέω θα γράφεις και θα πατάς Enter)
    (αν σε ρωτάει με Yes->y ή No->n , θα πατάς y και αν δεν προχωράει Enter)
    (όπου σε ρωτήσει για κωδικό, να βάζεις πάντα τον ίδιο και αποθηκευσέ τον στο έγγραφο που έφτιαξες πριν για να μην τον ξεχάσεις)
    α) Γράψε: sudo su -
    β) Γράψε: apt-get update && apt-get dist-upgrade && apt-get autoremove
    γ) Γράψε: apt-get install apache2
    δ) Γράψε: apt-get install mysql-server mysql-client
    ε) Γράψε: apt-get install php7.0 libapache2-mod-php7.0 php7.0-mysql
    ζ) Γράψε: apt-get install zip unzip
    η) Γράψε: apt-get install phpmyadmin
    (θα σε ρωτήσει Web server to reconfigure automatically, πάτησε το Space στο πληκτρολόγιο για να τσεκάρεις το apache2 και μετά Enter)
    (για κωδικό όταν σε ρωτήσει, βάλε τον ίδιο που έβαλες πριν)
    θ) Γράψε: echo " " > /etc/php/7.0/cli/php.ini
    ι) Γράψε: nano /etc/php/7.0/cli/php.ini
    πήγαινε εδώ: https://pastebin.com/03t79MdK και αντέγραψε ότι υπάρχει και στο παράθυρο της κονσόλας πάτησε CTRL+V για επικόλληση
    τέλος στο πληκτρολόγιο, πάτησε τα κουμπία Ctrl+X , αμέσως μετά πάτησε Υ και τέλος πάτησε Enter
    (αν θέλει την full version του php.ini, πήγαινε εδώ: https://pastebin.com/BjJAZdnv)
    κ) Γράψε: echo " " > /etc/php/7.0/apache2/php.ini
    λ) Γράψε: nano /etc/php/7.0/apache2/php.ini
    (κάνε ακριβώς τα ίδια με το προηγούμενο)
11. Για να συνδέσεις το/τα domain σου:
    (όπου λέει tositesou.com το αλλάζεις με την διεύθυνση του site σου)
    α) Δημιούργησε τον φάκελο του site σου, γράψε: mkdir -p /var/www/html/tositesou.com
    β) Γράψε: chown -R www-data:www-data /var/www/html/tositesou.com
              (αργότερα όταν ανεβάσεις τα αρχεία του site σου δώσε πάλι τις εξής εντολές:
               β1: chown -R www-data:www-data /var/www/html/tositesou.com/*
               β2: chown -R www-data:www-data /var/www/html/tositesou.com)
    γ) Γράψε: chmod -R 755 /var/www
              (αυτή η εντολή είναι μόνο για μια φορά, μην την επαναλάβεις αν ανεβάσεις και δεύτερο site)
    δ) Γράψε: cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/tositesou.com.conf
    ε) Γράψε: nano /etc/apache2/sites-available/tositesou.com.conf
    σβήσε ότι υπάρχει και κάνε επικόλληση μέσα τα ακόλουθα: https://pastebin.com/vSYDNLAW
    ζ) τέλος στο πληκτρολόγιο, πάτησε τα κουμπία Ctrl+X , αμέσως μετά πάτησε Υ και τέλος πάτησε Enter
    η) Γράψε: a2ensite tositesou.com.conf
    θ) Γράψε: sudo service apache2 restart
    ι) Γράψε: nano /etc/hosts
    στην τελευταία γραμμη κάτω κάτω βάλε τα κάτωθι:
    111.111.111.111 tositesou.com
    (το 111.111.111.111 , άλλαξέ το με την external ip του server σου, που σου είπα στην αρχή του εγγράφου)
    κ) τέλος στο πληκτρολόγιο, πάτησε τα κουμπία Ctrl+X , αμέσως μετά πάτησε Υ και τέλος πάτησε Enter
    λ) πήγαινε στα DNS Settings του domain σου, τα οποία θα τα βρεις στο πάροχο όπου αγόρασες το domain (πχ papaki.gr ή godaddy.com κτλ)
    και πρόσθεσε ή άλλαξε το: Type-> A | Name-> tositesou.com | Value: external ip του server σου
    (δες την εικόνα και θα καταλάβεις: https://drive.google.com/open?id=0B0-xSvKcaUZhNThjSHBZM0Y5VGs)
    μ) Στην κονσόλα Γράψε: sudo service apache2 restart
    ν) Ας δούμε αν έγιναν όλα σωστά, επισκέψου σε έναν browser το domain σου, tositesou.com, λογικά Forbidden, φυσικά δεν έχεις κάποιο
    αρχείο ακόμη μέσα, γι αυτό.
12. Για να ανεβάσεις την ιστοσελίδα σου (ΑΓΝΟΕΊΣΤΕ ΤΗΝ ΕΓΚΑΤΑΣΤΑΣΗ ΤΟΥ FILE MANAGER ΣΕ ΑΥΤΟ ΤΟ ΒΗΜΑ, ΠΗΓΑΙΝΕΤΕ ΣΤΟ ΤΕΛΟΣ):
    α) Γράψε: cd /var/www/html/
    β) Γράψε: wget https://nicolaslagios.com/downloads/pafm.zip
    γ) Γράψε: unzip pafm.zip
    δ) Γράψε: nano /var/www/html/pafm/pafm.php
    άλλαξε το "O-KODIKOS-SOU" με έναν κωδικό που επιθυμείς να προστατέψεις τον file manager σου
    τέλος στο πληκτρολόγιο, πάτησε τα κουμπία Ctrl+X , αμέσως μετά πάτησε Υ και τέλος πάτησε Enter
    ε) Γράψε: chown -R www-data:www-data /var/www/html/pafm
    δ) Οπότε για να ανεβάσεις μια ιστοσελίδα:
    δ1) Επισκέψου τον File Manager στην διεύθυνση: http://ip.του.server.σου/pafm/pafm.php και κάνε upload στον σωστό φάκελο
    δ2) Αν θέλει και βάση δεδομένων (database), επισκέψου: http://ip.του.server.σου/phpmyadmin
    Συνδέσου και στα αριστερά πάτησε "New"
    Γράψε όνομα και πάτησε Create
    (όταν θα σε ρωτήσει αργότερα το WordPress πχ για την βάση δεδομένων
    database name: onoma βασης, database host: localhost
    database user: root , database password: ο κωδικός σου)
    ζ) Επειδή θα σου χρειαστούν, σου παραθέτω βασικές εντολές κονσόλας εδώ: https://pastebin.com/Fre59wAg
13. Για να συνδέσεις λειτουργία email:
    α) Πήγαινε στο https://app.mailgun.com/app/dashboard , κάνε εγγραφή
       συνδέσου και πήγαινε στην καρτέλα Domains
       πάτα Add New Domains
       γράψε mailgun.tositesou.com
       πήγαινε στα dns settings του domain σου, όπως είχες πάει πριν και κάνε ακριβώς αυτά που σου λέει το mailgun
       μόλις το κάνεις, μετά από 2 ώρες πήγαινε πάλι στην καρτέλα domains του mailgun και πάτα πάνω στο καινούργιο domain που μόλις
       έβαλες, κατέβα προς τα κάτω και πάτησε στο κουμπί "Check DNS Records Now"
    β) Γράψε: sudo su -
       Γράψε: umask 077
       Γράψε: apt-get update && apt-get install postfix libsasl2-modules -y
              (επέλεξε Local Only και πάτησε Enter και στο επόμενο πάτησε πάλι Enter)
       Γράψε: nano /etc/postfix/main.cf
              Αν υπάρχουν, βγάλτε την διεση από μπροστά
              Αν δεν υπάρχουν προσθεσέ τα
              Αν υπάρχουν και δεν έχουν δίεση, τότε μην κάνεις τίποτα, προχώρησε στο επόμενο βήμα
# default_transport = error
# relay_transport = error
              Στο ίδιο αρχείο πρόσθεσε τις παρακάτω γραμμές:
relayhost = [smtp.mailgun.org]:2525
smtp_tls_security_level = encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
              Τέλος πάτησε CTRL+X και αμέσως μετά Y και Enter
              για να αποθηκευτεί και να κλείσει
      Γράψε: cat > /etc/postfix/sasl_passwd << EOF
             στο > που θα ανοίξει, γράψε τα εξής:
[smtp.mailgun.org]:2525 ΤΟ_SMTP_USERNAME_ΣΟΥ:ΤΟ_SMTP_PASSWORD_ΣΟΥ
             (θα τα βρείς πηγαίνοντας στο: https://app.mailgun.com/app/domains
             και κάνωντας κλικ στο domain που ενδιαφέρεσε)
             Σημείωση!!! Μην ανησυχείς, από όποιο email και αν στέλνεις μέσω του server σου
             θα φαίνετε το email που στέλνεις, όχι το domain από το οποίο πέρνεις την smtp πρόσβαση
      Γράψε: Πάτησε Enter & μετά γράψε: EOF
             και πάτησε Enter
      Γράψε: postmap /etc/postfix/sasl_passwd
      Γράψε: ls -l /etc/postfix/sasl_passwd*
      Γράψε: rm /etc/postfix/sasl_passwd
      Γράψε: chmod 600 /etc/postfix/sasl_passwd.db
      Γράψε: ls -la /etc/postfix/sasl_passwd.db
      Γράψε: /etc/init.d/postfix restart
14. Για να συνδεθείς μέσω FTP (ΑΓΝΟΕΊΣΤΕ ΑΥΤΟ ΤΟ ΒΗΜΑ, ΠΗΓΑΙΝΕΤΕ ΣΤΟ ΤΕΛΟΣ)
    α) κατέβασε στο client machine τον filezilla client: https://filezilla-project.org
    β) κατέβασε το εργαλείο "puttygen": https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
    γ) τρέξε το "puttygen" και πάτησε το κουμπί "Generate"
       μετά πάτησε "save private key" και αποθηκευσέ το κάπου που μπορείς να το θυμάσαι με ότι όνομα θες πχ putty-key.ppk
       μην κλεισεις το πρόγραμμα ακόμη
    δ) πήγαινε στην κονσόλα του Google CLoud: Compute Engine/Metadata
       στην δεύτερη καρτέλα "SSH KEYS" πάτησε edit και κάτω κάτω πάτησε το add item και αντέγραψε όλο το public key που σου έφτιαξε το
       "puttygen" και πάτησε save
    ε) άνοιξε το filezilla και πήγαινε στο menu Edit/Settings και απο το αριστερο πανελ επελεξε το SFTP και πάτησε Add Key File
       βάλε το key file που αποθήκευσες στο βήμα γ και πάτησε OK
       Τώρα για να συνδεθείς: Host: sftp://ip_tou_server_sou , username: από το puttygen βάλε το key comment και πάτησε connect
       Όπως θα δεις στον φάκελο /home έχει δημιουργηθεί ένας υποφάκελος με το username σου
       πήγαινε στην κονσόλα και γράψε την εντολή: sudo chmod 777 /home/username_sou/
       ΤΩΡΑ ΜΠΟΡΕΙΣ ΝΑ ΜΕΤΑΦΕΡΕΙΣ ΚΑΝΟΝΙΚΑ ΑΡΧΕΙΑ ΜΕΣΩ FILEZILLA ΤΕΛΕΥΤΑΙΑ ΕΝΗΜΕΡΩΣΗ!!! Μπορείτε απλά να αγνοήσετε το File Manager του βήματος 12 και να αγνοήσετε ολόκληρο το βήμα 14 και να εγκαταστήσετε το wordpress μέσω της κονσόλας εντολών (μεταφορτώστε το στο / var / www / html με την εντολή wget, αποσυμπιέστε το με την εντολή unzip και τελικά δημιουργήστε μια βάση δεδομένων με την επίσκεψη http: / IP-of-Your-SERVER-ή-σας-DOMAIN / phpmyadmin). Μετά την εγκατάσταση, μεταβείτε στον πίνακα ελέγχου του wordpress admin και εγκαταστήστε το File Manager από το μενού Apps. Είστε έτοιμοι ;)