Εγκαταστήστε το Hexo στο CentOS 7

Το Hexo είναι μια στατική πλατφόρμα ιστολογίου, κατασκευασμένη με το Node.js. Είναι γρήγορο σε σύγκριση με άλλες στατικές πλατφόρμες ιστολογίου, όπως το Jekyll.

Σε αυτό το σεμινάριο, θα εξηγήσω πώς να δημιουργήσετε και να αναπτύξετε ένα ιστολόγιο Hexo. Τα βήματα είναι αρκετά απλά, γραμμένα για CentOS 7, Node.js 4.4. Το τοπικό μου μηχάνημα είναι το Fedora 23.

Προαπαιτούμενα

Ξεκινάμε με ένα πρόσφατα εγκατεστημένο σύστημα CentOS 7. Απαιτούνται τα ακόλουθα πακέτα λογισμικού:

  • gcc-c και gcc-c++
  • φτιάχνω και φτιάχνω
  • nginx
  • openssl
  • nodejs και npm

Θα χρειαστεί να συνδεθείτε ως root ή ως χρήστης με δικαιώματα sudo.

Εγκαταστήστε βοηθητικά προγράμματα

$ yum install -y gcc gcc-c++ make git openssl

Εγκαταστήστε το Nginx

Μπορείτε να εγκαταστήσετε nginxαπό το προεπιλεγμένο αποθετήριο:

$yum install -y nginx

... ή εγκαταστήστε μια σταθερή έκδοση από το επίσημο αποθετήριο Nginx, Εδώ επιλέγουμε το δεύτερο.

Δημιουργήστε ένα αρχείο repo με το όνομα nginx.repo, του οποίου το περιεχόμενο είναι:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

... και αντιγράψτε το στο /etc/yum.repo.d/,

$ cp nginx.repo /etc/yum.repo.d/
$ yum update and yum install -y nginx
$ systemctl enable nginx and systemctl start nginx

Εγκαταστήστε το Node.js

Εγκαθιστούμε το Node.js που υποστηρίζεται για μεγάλο χρονικό διάστημα από το επίσημο αποθετήριο Node.js.

$ curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
$ yum update and yum install -y nodejs

Δημιουργήστε έναν νέο χρήστη

Συνήθως είναι καλύτερο να δημιουργήσετε έναν απλό χρήστη για να τρέξει το ιστολόγιό σας, επειδή το root έχει δικαιώματα υπερ-χρήστη.

Εδώ δημιουργούμε έναν χρήστη με το όνομα vultrκαι τον προσθέτουμε στην ομάδα wheelκαι nginx:

$ useradd -d /home/vultr -m -r -U -s /bin/bash
$ passwd vultr
$ usermod -aG nginx vultr
$ usermod -aG wheel vultr

Δημιουργήστε ένα ζεύγος κλειδιών SSH

Είναι χρήσιμο και απαραίτητο να συνδεθείτε μέσω ενός κλειδιού ssh.

$ ssh-keygen -b 4096 -C "vultr@example.com"

Αφού δημιουργήσουμε το ζεύγος κλειδιών ssh, αντιγράψτε το δημόσιο κλειδί (συνήθως id_rsa.pub) στο ~/.ssh/authorized_keysδιακομιστή:

ssh-copy-id -i ~/.ssh/id_rsa.pub vultr@example.com

Και τώρα, έχουμε εγκαταστήσει όλα τα πακέτα προκατασκευής.

Φτιάξτε το Hexo blog σας

Εγκαταστήστε το Hexo

Συνδεθείτε ως vultrχρήστης. Στη συνέχεια, δημιουργήστε ~/web/web/vultrκαι ~/web/git/vultr:

### This is our hexo blog root directory
$ mkdir -p ~/web/web/vultr
### This is our git repository directory on the server
$ mkdir -p ~/web/git/vultr
### This is our deploy directory
$ mkdir -p ~/web/git/hexo

Εισαγάγετε ~/web/web/vultrκαι εγκαταστήστε το Hexo:

$ cd ~/web/web/vultr
$ sudo npm install -g hexo-cli hexo-server
$ hexo init && npm install --save

Τώρα δεν έχουμε παρά να δημιουργήσουμε το νέο μας blog.

Επεξεργαστείτε _config.yml, για να αλλάξετε τη διεύθυνση url του ιστότοπου του ιστολογίου σας. Στη συνέχεια, τρέξτε:

$ hexo g

Το ιστολόγιό σας έχει πλέον δημιουργηθεί. Τα αρχεία HTML βρίσκονται κάτω από το ~/web/web/vultr/public.

Ρυθμίστε τον διακομιστή Nginx σας

Σε αυτό το σημείο, δεν μπορούμε ακόμα να έχουμε πρόσβαση στον ιστότοπό μας. Επομένως, πρέπει να ρυθμίσουμε το Nginx.

Το Nginx εκτελείται ως χρήστης με όνομα nginxστην nginxομάδα και γι' αυτό πρέπει να προσθέσουμε vultrστην ομάδα nginx.

$ chown -R vultr:nginx ~/web

Δημιουργήστε ένα αρχείο ρυθμίσεων Nginx ονομάζεται vultr.confσύμφωνα με ~/web/την οποία το περιεχόμενο είναι περισσότερο ή λιγότερο σαν αυτό:

server {
    listen 80;
    listen [::]:80;
    ## if https is desired, please uncomment the following lines
    #listen 443 ssl http2;
    #listen [::]:443 ssl http2;

    server_name example.com, www.example.com;

    ## if forcing https, please uncomment the following lines
    #if ($scheme = http) {
    #    return 301 https://$server_name$request_uri;
    #}

    location / {
    root /home/vultr/web/web/vultr/public;
    index index.html;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    ## if https is desired, please uncomment the following lines
    #proxy_set_header X-Forwarded-Proto https;
    }
}

Αντιγραφή vultr.confσε /etc/nginx/config.d/και κάντε επανεκκίνηση Nginx:

$ sudo ln -sf ~/web/vultr.conf /etc/nginx/config.d/
$ sudo systemctl restart nginx

Τώρα το ιστολόγιό μας είναι προσβάσιμο με πρόγραμμα περιήγησης ιστού.

Χρήση του Git για την ανάπτυξη του ιστολογίου σας

Εφόσον το ιστολόγιο έχει ήδη ρυθμιστεί, αυτό το τμήμα του σεμιναρίου είναι προαιρετικό.

Σε αυτό το σημείο, είναι λίγο άβολο να γράψουμε μια ανάρτηση ιστολογίου, γιατί θα χρειαστεί να συνδεθούμε και να γράψουμε στον διακομιστή. Μια καλύτερη λύση θα ήταν να γράψουμε στον τοπικό μας υπολογιστή, να προωθήσουμε τη δημοσίευση στον διακομιστή και να αφήσουμε το Hexo να δημιουργήσει αυτόματα τα στατικά αρχεία. Λαμβάνοντας υπόψη ότι το git έχει άγκιστρα που μπορούν να κάνουν πολλά πράγματα, μπορούμε να χρησιμοποιήσουμε ένα git hook για να επιτύχουμε αυτήν τη ρύθμιση.

Δημιουργήστε ένα γυμνό αποθετήριο στον διακομιστή

Συνδεθείτε ξανά στο διακομιστή ως χρήστης vultr. Δημιουργήστε ένα γυμνό αποθετήριο:

$ cd ~/web/git/vultr
$ git init --bare
$ cd hooks

Γράψτε ένα αρχείο bash με το όνομα post-receiveπου θα αναπτύσσει το ιστολόγιό μας μετά από κάθε ώθηση:

#!/bin/bash
deploy_to_dir="/home/vultr/web/git/hexo"

GIT_WORK_TREE=$deploy_to_dir git checkout -f master
echo "DEPLOY:   master  copied to  $deploy_to_dir"

hexo_dir="/home/vultr/web/web/vultr/"

cd $hexo_dir

hexo clean && hexo --silent g

if [[ $? == 0 ]]; then
    echo "Congratulations! Your blog has been correctly deployed"
else:
    echo "Unfortunately your blog has not been deployed correctly"
fi

Για να λειτουργήσει η ανάπτυξη, πρέπει επίσης να εκτελέσουμε αυτές τις εντολές στον διακομιστή:

cd ~/web/web/vultr/
rm -rf source scaffolds _config.yml themes
ln -sf /home/vultr/web/git/hexo/themes/tranquilpeak  themes/
ln -sf /home/vultr/web/git/hexo/source .
ln -sf /home/vultr/web/git/hexo/scaffolds .
ln -sf /home/vultr/web/git/hexo/_config.yml .

Ρυθμίστε το τοπικό σας αποθετήριο git

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

Θα χρειαστεί να έχετε εγκαταστήσει το git.

Ρυθμίστε ένα τοπικό αποθετήριο git:

$ mkdir -p ~/vultr/git/vultr`
$ cd ~/vultr/git/vultr and git init
$ git remote add production ssh://vultr@example.com:/home/vultr/web/git/vultr

Είναι χρήσιμο να εγκαταστήσετε το Hexo στον τοπικό σας υπολογιστή για να γράψετε μια ανάρτηση. Εδώ ρυθμίζουμε έναν κατάλογο Hexo για γραφή.

$ mkdir ~/vultr/vultr && cd ~/vultr/vultr
$ hexo init && npm install --save
$ mv  source  _config.yml themes scaffolds ~/vultr/git/vultr
$ ln -sf ~/vultr/git/vultr/source .
$ ln -sf ~/vultr/git/vultr/_config.yml .
$ ln -sf ~/vultr/git/vultr/scaffolds .
$ hexo new "Test Post"

Η ρύθμιση έχει ολοκληρωθεί. Μπορείτε να προωθήσετε μια ανάρτηση στον διακομιστή σας με τις ακόλουθες εντολές:

$ cd ~/vultr/git/vultr
$ git add . && git commit -m "new post"
$ git push production master

Μετά την επιτυχία, το ιστολόγιο θα ενημερωθεί αυτόματα. Στην υγειά σας.

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

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

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

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

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα