Πώς να φιλοξενήσετε τον Στατικό Ιστότοπό σας με AWS - Ένας Οδηγός για Αρχάριους

Όταν δημιούργησα το πρώτο μου χαρτοφυλάκιο πέρυσι, βασίζονταν σε αυτά που έμαθα από το freeCodeCamp (HTML, CSS και λίγο JavaScript)

Σε αυτό το σημείο, είδα μόνο το χαρτοφυλάκιό μου στο localhost βλέποντας τα αρχεία στον τοπικό υπολογιστή μου. Δεν ήξερα τίποτα για το πώς να φιλοξενήσω έναν ιστότοπο στο Διαδίκτυο.

Το να μάθω πώς να φιλοξενώ τον πρώτο ιστότοπό μου δεν ήταν εύκολο, αλλά ήταν μια υπέροχη μαθησιακή εμπειρία Εάν είστε επίδοξος προγραμματιστής ιστού ή απλά ενδιαφέρεστε να ξεκινήσετε τον δικό σας στατικό ιστότοπο, ελπίζω να βρείτε αυτόν τον οδηγό χρήσιμο.

Για ποιον είναι αυτός ο οδηγός;

Αυτός ο οδηγός απευθύνεται σε πλήρεις αρχάριους που θέλουν να φιλοξενήσουν έναν στατικό ιστότοπο (έναν ιστότοπο με σταθερό περιεχόμενο). Θα παράσχω έναν οδηγό για τα εξής:

  1. Πώς να αγοράσετε έναν τομέα.
  2. Πώς να ρυθμίσετε τον τομέα σας για έναν εξωτερικό πάροχο φιλοξενίας.
  3. Πώς να φιλοξενήσετε τον ιστότοπό σας με το Amazon Web Services (AWS).
  4. Πώς να κάνετε τον ιστότοπό σας ασφαλή (πιστοποίηση SSL) χρησιμοποιώντας το Amazon Certification Manager.

Μπορεί να υπάρχει κάποια ορολογία που είναι νέα για εσάς. Προχωρήστε και αναζητήστε όρους που δεν είναι εξοικειωμένοι. Έχω βάλει χρήσιμους συνδέσμους και εξηγήσεις όπου το θεώρησα κατάλληλο.

Τι είναι το όνομα τομέα και το DNS (Domain Name System);

Ένα όνομα τομέα είναι η διεύθυνση του ιστότοπού σας. Για παράδειγμα το thecodinghamster.com. Αλλά για έναν υπολογιστή, ένα όνομα τομέα είναι στην πραγματικότητα μια σειρά αριθμών (μια διεύθυνση IP). Μία διεύθυνση IP μοιάζει με αυτήν: 123.321.0.1

Δεν είναι εύκολο για εμάς να θυμόμαστε μια μεγάλη σειρά αριθμών. Έτσι, ο υπολογιστής σας αναφέρεται σε ένα DNS για να μεταφράσει μια διεύθυνση ιστότοπου που βασίζεται σε κείμενο σε μια διεύθυνση IP την οποία τότε μπορεί να κατανοήσει. Ένα DNS είναι σαν έναν κατάλογο.

Παρακολούθησα αυτό το υπέροχο βίντεο που εξηγεί το όνομα τομέα, το DNS και πώς λειτουργεί αυτό σε λιγότερο από πέντε λεπτά. Παρακολουθήστε τα πρώτα πέντε λεπτά του βίντεο αν σας ενδιαφέρει:

Πού μπορείτε να αγοράσετε το όνομα τομέα σας;

Μπορείτε να αγοράσετε ένα όνομα τομέα από έναν καταχωρητή ονόματος τομέα. Οι τιμές ξεκινούν από λίγα δολάρια. Το όνομα τομέα σας είναι μοναδικό. Κάθε καταχωρητής ονόματος τομέα προσφέρει διαφορετικά επίπεδα υπηρεσιών / υποστήριξης. Αλλά μπορείτε να καταχωρίσετε τον τομέα σας σε οποιονδήποτε καταχωρητή.

Τι είναι ο πάροχος φιλοξενίας;

«Μια υπηρεσία φιλοξενίας Διαδικτύου είναι μια υπηρεσία που εκτελεί διακομιστές Διαδικτύου, επιτρέποντας σε οργανισμούς και άτομα να παρέχουν περιεχόμενο στο Διαδίκτυο. Υπάρχουν διάφορα επίπεδα υπηρεσίας και διάφορα είδη υπηρεσιών που προσφέρονται. "

Όταν έψαχνα για έναν πάροχο φιλοξενίας για τον ιστότοπό μου, εξερεύνησα διαφορετικές επιλογές. Οι τιμές κυμαίνονταν από 2,00 £ - 5,00 £ το μήνα με διάφορες επιλογές αποθήκευσης από 0,5 GB έως 10 GB. Οι τιμές φαίνονταν λογικές, αλλά το μόνο που ήθελα να κάνω ήταν να φιλοξενήσω έναν στατικό ιστότοπο. Είχε μερικές εικόνες, HTML, CSS και αρχεία JavaScript. Χωρίς δυναμικό περιεχόμενο.

Γιατί AWS;

Μετά από κάποια περαιτέρω έρευνα, βρήκα AWS. Το AWS προσφέρει μια δωρεάν επιλογή επιπέδου. Ουσιαστικά, έχετε πολλά δωρεάν προϊόντα. Μερικά από αυτά λήγουν μετά από 12 μήνες και άλλα δωρεάν. Το μόνο κόστος που θα επιβαρυνθείτε για τη φιλοξενία ενός στατικού ιστότοπου είναι το κόστος δημιουργίας μιας φιλοξενούμενης ζώνης. Αυτό κοστίζει 0,50 $ ανά μήνα. Έτσι πήγα με AWS και δημιούργησα τον λογαριασμό μου.

Το μεγάλο πράγμα για το AWS είναι η τιμή και είναι ένας αξιόπιστος πάροχος φιλοξενίας. Αλλά ένα πράγμα που πρέπει να θυμάστε είναι ότι βασίζεστε στην τεκμηρίωσή τους. Καθώς άρχισα να διαβάζω για τις υπηρεσίες που προσέφερε το AWS, έγινε γρήγορα σύγχυση! Χρησιμοποίησα τον επίσημο οδηγό AWS που παρέχεται για τη δημιουργία στατικών ιστότοπων. Αλλά βρέθηκα να χαθώ κάνοντας κλικ σε έναν σύνδεσμο σε άλλο σύνδεσμο και ούτω καθεξής. Άρχισα να ερευνώ άλλους οδηγούς για να καλύψω τα κενά της γνώσης.

Βρήκα αυτόν τον εξαιρετικό οδηγό της Victoria Drake.

Ακολούθησα τον οδηγό της Victoria Drake παράλληλα με τον AWS και κατάφερα να τα βρω. Αλλά υπήρχαν ακόμη μερικά πράγματα που δεν εξηγήθηκαν, τα οποία ελπίζω να ολοκληρώσω.

Πριν προχωρήσουμε, εδώ είναι η λίστα υποχρεώσεων:

  • Κάντε κάποια έρευνα σχετικά με τους καταχωρητές τομέα και αγοράστε το όνομα τομέα σας.
  • Εγγραφείτε για δωρεάν λογαριασμό με AWS.
  • Ανοίξτε και τα δύο έγγραφα από τον AWS και τον οδηγό Victoria Drake. Χρησιμοποιήστε τον οδηγό μου για να σας καθοδηγήσει στην τεκμηρίωση (ελπίζω να έχει νόημα!).

Ορίστε!

AWS: Δημιουργήστε μια φιλοξενούμενη ζώνη στη διαδρομή 53.

Η διαδρομή 53 είναι ο χειρισμός όλων των αιτημάτων DNS.

Το πρώτο πράγμα που πρέπει να ρυθμίσετε είναι η φιλοξενούμενη ζώνη με τη Διαδρομή 53. Αυτό είναι πολύ εύκολο αν αγοράσατε τον τομέα σας μέσω AWS. Μια φιλοξενούμενη ζώνη δημιουργείται αυτόματα μόλις την αγοράσετε. Εάν το έχετε κάνει, απλά μεταβείτε στην επόμενη ενότητα ( Ρύθμιση των κάδων S3 ).

Ωστόσο, εάν ήσασταν σαν εμένα και αγοράσατε το όνομα τομέα σας μέσω άλλου καταχωρητή, κάντε τα εξής.

Αυτό το επόμενο μέρος είναι πώς να δημιουργήσετε μια φιλοξενούμενη ζώνη στη διαδρομή 53 εάν δεν έχετε αγοράσει το όνομα τομέα σας από την AWS:

  1. Μεταβείτε στη Διαδρομή 53 στην κονσόλα σας και κάντε κλικ στο "Δημιουργία Ζητούμενης Ζώνης". Συμπληρώστε τη διεύθυνση του τομέα σας, το σχόλιο είναι προαιρετικό και επιλέξτε "Δημόσια φιλοξενούμενη ζώνη". Κάντε κλικ στο "Δημιουργία".

2. Μόλις δημιουργηθεί η φιλοξενούμενη ζώνη, χρειάζεστε τις εγγραφές NS (Name Servers):

3. Μεταβείτε στον καταχωρητή ονόματος domain σας και συνδεθείτε. Ανάλογα με τον καταχωρητή σας, θα πρέπει να βρείτε μια ενότητα στις ρυθμίσεις σας που ονομάζεται "Nameservers", την οποία μπορείτε να επεξεργαστείτε. Πρέπει να αντιγράψετε τις εγγραφές AWS NS και να αλλάξετε τις υπάρχουσες εγγραφές NS στις ρυθμίσεις του τομέα σας.  

Παρακαλώ σημειώστε, μην αντιγράψετε την τελεία / τελεία στο τέλος της εγγραφής NS. Για παράδειγμα, πρέπει να είναι "ns-63.awsdns-07.com", όχι "ns-63.awsdns-07.com".

Θα χρειαστούν έως και 24 ώρες για τη διάδοση.

Ρυθμίστε τους κάδους S3

Στο μεταξύ μπορείτε να ρυθμίσετε τους κάδους S3. Ο κάδος S3 είναι ο χώρος αποθήκευσης για τα αρχεία σας, όπως το index.html.

Πρέπει να διαμορφώσετε δύο κάδους για τον ιστότοπό σας: 1) yourdomainname.com και 2) www.yourdomainname.com.

Ο πρώτος κάδος είναι ο κύριος κάδος σας όπου θα ανεβάσετε όλα τα έγγραφά σας, όπως το index.html. Ο δεύτερος κάδος ανακατευθύνει στον πρώτο κάδο. Για να ρυθμίσετε τους κάδους S3, ακολουθήστε την τεκμηρίωση AWS σχετικά με τον τρόπο ρύθμισης του κάδου S3 (2: Δημιουργία και ρύθμιση παραμέτρων κάδων και μεταφόρτωση δεδομένων).

Εκτός από την τεκμηρίωση, υπάρχουν μερικά πράγματα που πρέπει να σημειώσετε:

  • Στην ενότητα 2.1 (μέρος 2): κάντε κλικ στον σύνδεσμο Πώς μπορώ να δημιουργήσω έναν κάδο S3; Αυτός είναι ένας βήμα προς βήμα οδηγός και εξηγήστε όλες τις ρυθμίσεις που πρέπει να επιλέξετε.
  • Στην ενότητα 2.1 (μέρος 3): δεν χρειάζεται να ανεβάσετε ακόμα τα αρχεία του ιστότοπού σας. Μπορείτε να προσθέσετε ένα δοκιμαστικό index.html στο μεταξύ.

Σημειώστε το τελικό σας σημείο . Μπορείτε να το βρείτε στον κάδο σας S3> καρτέλα "Ιδιότητες"> "Στατική φιλοξενία ιστοσελίδων". Θα πρέπει να μοιάζει με αυτό: //yourdomainname.com.s3-website.eu-west-2.amazonaws.com

Προσθέστε τις εγγραφές ψευδωνύμων / "A" στη διαδρομή 53

Τέλος επιστρέψτε στη Διαδρομή 53 και ανοίξτε τη φιλοξενούμενη ζώνη για να ρυθμίσετε τις εγγραφές ψευδωνύμου σας. Μπορείτε να ακολουθήσετε την τεκμηρίωση στο "Βήμα 3: Προσθήκη εγγραφών ψευδωνύμων για τα example.com και www.example.com". Είναι αρκετά απλό.

Μόλις μεταδοθούν οι ρυθμίσεις NS, ο ιστότοπός σας είναι ζωντανός ! Θα μπορείτε να επισκεφθείτε τον ιστότοπό σας στη διεύθυνση τομέα π.χ. το όνομα τομέα σας.com

Ωστόσο, λάβετε υπόψη ότι δεν θα είναι ασφαλές και θα δείτε ένα πρόθεμα // στη γραμμή διευθύνσεων. Θα το φτάσω στην επόμενη ενότητα.

Πώς να κάνετε τον ιστότοπό σας ασφαλή και τι είναι πιστοποιητικό SSL;

Είναι πολύ σημαντικό να κάνετε τον ιστότοπό σας ασφαλή και για να το κάνετε αυτό θα πρέπει να λάβετε πιστοποιητικό SSL. Το SSL σημαίνει Secure Sockets Layer και χρησιμοποιεί κρυπτογράφηση για την ασφαλή μεταφορά δεδομένων μεταξύ ενός χρήστη και ενός ιστότοπου. Η Google θα δώσει επίσης ώθηση στην κατάταξη για ιστότοπους με HTTPS.

Εάν ασφαλίσετε τον ιστότοπο με πιστοποιητικό SSL, θα δείτε το σύμβολο // και ένα λουκέτο στη γραμμή διευθύνσεων.

Υπάρχουν διαφορετικοί τύποι πιστοποιητικών SSL: Εκτεταμένο πιστοποιητικό επικύρωσης και πιστοποιητικό επικυρωμένο από τομέα. Για έναν προσωπικό ιστότοπο ή ιστολόγιο, απαιτείται μόνο επικυρωμένο domain πιστοποιητικό. Επίσης, δεν θα δείτε το όνομα της εταιρείας σας στα αριστερά της γραμμής, όπως το παραπάνω παράδειγμα. Το λαμβάνετε μόνο εάν έχετε ένα εκτεταμένο πιστοποιητικό επικύρωσης που είναι περισσότερο για μεγάλες εταιρείες / επιχειρήσεις.

Πόσο κοστίζει για ένα πιστοποιητικό SSL;

Έχω δει διάφορους τρόπους απόκτησης πιστοποιητικού SSL. Μπορείτε να πληρώσετε ένα ασφάλιστρο για μια υπηρεσία που θα το κάνει για λογαριασμό σας ή μπορείτε να το κάνετε δωρεάν με το Let's Encrypt. Το Let's Encrypt είναι μια επίσημη αρχή έκδοσης πιστοποιητικών (CA). Αλλά πρέπει να ανανεώνετε το πιστοποιητικό σας κάθε τρεις μήνες και η διαδικασία είναι αρκετά περίπλοκη.

Δεν ήθελα να πληρώσω ένα ασφάλιστρο ή δεν ήθελα την ταλαιπωρία της ανανέωσης κάθε τρεις μήνες. Βολικά, η AWS μπορεί να εκδώσει πιστοποιητικά SSL με πολύ μικρή χρέωση. Πληρώνετε 0,75 $ για κάθε πιστοποιητικό που εκδίδεται και διαρκεί για ένα έτος.

Εάν επιλέξετε να μην πάτε με AWS, βεβαιωθείτε ότι έχετε κάνει την έρευνά σας και επιλέξτε μια αξιόπιστη ΑΠ!

Πώς αποκτάτε πιστοποιητικό SSL με AWS;

Συνδεθείτε στην κονσόλα AWS και μεταβείτε στο AWS Certificate Manager (ACM).

Βεβαιωθείτε ότι έχετε αλλάξει την περιοχή από την προεπιλογή (Οχάιο) σε Β. Βιρτζίνια. Αυτό δεν είναι ρητό στους οδηγούς και μόνο η περιοχή της Βιρτζίνιας μπορεί να εκδώσει πιστοποιητικά. Έμαθα τον σκληρό τρόπο και έχασα πολύ χρόνο!

Στη συνέχεια, κάντε κλικ στο "Ξεκινήστε" στην ενότητα "Πιστοποιητικά παροχής".

Ακολουθήστε την τεκμηρίωση με AWS ("Αίτηση δημόσιου πιστοποιητικού χρησιμοποιώντας την κονσόλα") και χρησιμοποιήστε τον οδηγό Victoria Drake (στην ενότητα "Πιστοποιητικό SSL").

Εκτός από τους οδηγούς υπάρχουν λίγα πράγματα που δεν εξηγήθηκαν πλήρως:

  • Θα πρέπει να επικυρώσετε την ιδιοκτησία του τομέα σας μέσω email ή απευθείας με DNS. Θα πρότεινα να επαληθεύετε πάντα την ιδιοκτησία με επικύρωση DNS .
  • Μόλις ζητήσετε το πιστοποιητικό σας, θα λάβετε κάτι τέτοιο (εκτός από την κατάσταση θα εκκρεμεί). Κάντε κλικ στο "Εξαγωγή αρχείου DNS Configuration":

Είναι ένα υπολογιστικό φύλλο Excel που θα περιέχει κάτι σαν αυτό:

  • Θα πρέπει να προσθέσετε αυτές τις εγγραφές στις ρυθμίσεις DNS στον καταχωρητή σας. Συνδεθείτε και μεταβείτε στις ρυθμίσεις DNS. Η διεπαφή ποικίλλει με διαφορετικούς καταχωρητές, αλλά αναζητάτε τις εγγραφές κεντρικού υπολογιστή σας κάτω από τις ρυθμίσεις DNS.
  • Κάντε κλικ στο «Προσθήκη εγγραφής»> ο τύπος εγγραφής είναι CNAME :

Πρέπει να προσθέσετε δύο εγγραφές: 1) Το όνομα κεντρικού υπολογιστή πρέπει να είναι "@" και το όνομα προορισμού πρέπει να είναι η τιμή εγγραφής από το αρχείο διαμόρφωσης DNS.

2) Το όνομα κεντρικού υπολογιστή πρέπει να είναι * (αστερίσκος) και το όνομα προορισμού πρέπει να είναι η τιμή εγγραφής από το αρχείο διαμόρφωσης DNS.

Αν θέλετε περισσότερες πληροφορίες σχετικά με το CNAME και τους τύπους εγγραφών, βρήκα αυτό το χρήσιμο άρθρο.

Είναι αρκετά μεγάλο, αλλά έχω βγάλει το χρήσιμο μέρος:

"Σημείωση: Το όνομα κεντρικού υπολογιστή αναφέρεται στο πρόθεμα πριν από το όνομα τομέα. Για να δημιουργήσετε μια κενή εγγραφή, χρησιμοποιήστε ένα @ στο πεδίο Hostname. Αυτό αντιπροσωπεύει ένα κενό πρόθεμα (έτσι το όνομα ταιριάζει ακριβώς με το όνομα τομέα, για παράδειγμα divapirate.com). Το @ hostname αναφέρεται επίσης ως η ρίζα του τομέα. Ένα * (αστερίσκος) στο όνομα κεντρικού υπολογιστή είναι ένα μπαλαντέρ και αντιπροσωπεύει οποιοδήποτε πρόθεμα. Για παράδειγμα, η δημιουργία μιας εγγραφής για το * .divapirate.com θα οδηγεί το .divapirate.com στη διεύθυνση IP που παρέχεται. "

Απλά πρέπει να περιμένετε την επαλήθευση. Για μένα, χρειάστηκε περίπου μια ώρα.

Πώς προσθέτετε το πιστοποιητικό SSL;

Με το AWS μπορείτε να προσθέσετε πιστοποιητικό SSL στον ιστότοπό σας μέσω της ρύθμισης του CloudFront . Το CloudFront είναι ιδανικό για την επιτάχυνση του ιστότοπού σας. Χρησιμοποίησα την τεκμηρίωση AWS και τον οδηγό Victoria Drake (προσέξτε τις χρήσιμες συμβουλές της).

Λάβετε υπόψη ότι, όταν δημιουργείτε τη διανομή CloudFront, υπάρχει ένα αναπτυσσόμενο μενού για να προσθέσετε το πιστοποιητικό SSL. Εάν έχετε ήδη λάβει πιστοποιητικό SSL, θα συμπληρωθεί εκ των προτέρων στο αναπτυσσόμενο μενού.

Η κατάστασή σας στον πίνακα ελέγχου CloudFront θα πρέπει να αλλάξει σε "Ενεργοποιημένο". Αυτό δεν είναι άμεσο και απαιτεί λίγο χρόνο.

Σχεδόν έτοιμο…

Τέλος, πρέπει να λάβετε το Όνομα τομέα σας από τη διανομή CloudFront. Θα πρέπει να είναι κάτι τέτοιο dsfdser83543. cloudfront.net .

Επιστρέψτε στη Διαδρομή 53> φιλοξενούμενη ζώνη> αλλάξτε και τις δύο εγγραφές ψευδωνύμου (Alias ​​Target) στο CloudFront Domain Name.

Βόιλα! Έχετε φιλοξενήσει τον πρώτο σας ασφαλή στατικό ιστότοπο με AWS.

Ελπίζω να το βρείτε χρήσιμο. Εάν έχετε οποιεσδήποτε ερωτήσεις ή απλώς θέλετε να πείτε γεια, βρείτε με στο Twitter @PhoebeVF

Ένα μεγάλο ευχαριστώ στη Victoria Drake για τον οδηγό της. Για ένα πιο προηγμένο σεμινάριο σχετικά με αυτό το θέμα, ανατρέξτε στο άρθρο της Βικτώριας: "Φιλοξενία του στατικού ιστότοπού σας με AWS S3, Route 53 και CloudFront".

Οι εικόνες είναι ευγενική προσφορά του //undraw.co