CentOS 7にHexoをインストールする

Hexoは、Node.jsで構築された静的なブログプラットフォームです。Jekyllなどの他の静的なブログプラットフォームと比較して高速です。

このチュートリアルでは、Hexoブログを作成してデプロイする方法を説明します。手順は非常に単純で、CentOS 7、Node.js 4.4用に書かれています。私のローカルマシンはFedora 23です。

前提条件

新しくインストールしたCentOS 7システムから始めます。次のソフトウェアパッケージが必要です。

  • gcc-cおよびgcc-c ++
  • makeとgit
  • nginx
  • openssl
  • nodejsとnpm

rootまたはsudo権限を持つユーザーとしてログインする必要があります。

ユーティリティをインストールする

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

Nginxをインストールする

nginxデフォルトのリポジトリからインストールできます:

$yum install -y nginx

...または、公式のNginxリポジトリから安定版をインストールします。ここでは後者を選択します。

という名前のレポファイルを作成します。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し、グループに追加するwheelnginx

$ 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 "[email protected]"

ssh鍵ペアを作成したら、公開鍵(通常はid_rsa.pub)を~/.ssh/authorized_keysサーバーにコピーします。

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

これで、すべての事前ビルドパッケージがインストールされました。

Hexoブログを作成する

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

これで、新しいブログを作成する必要があります。

編集_config.yml、ブログサイトのURLを変更します。次に実行します:

$ hexo g

これでブログが生成されました。HTMLファイルはにあります~/web/web/vultr/public

Nginxサーバーをセットアップする

この時点ではまだウェブサイトにアクセスできません。したがって、Nginxを構成する必要があります。

Nginx nginxnginxグループで指定されたユーザーとして実行されるため、グループに追加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;
    }
}

Nginxにコピーvultr.conf/etc/nginx/config.d/て再起動します。

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

これで、ブログにWebブラウザーでアクセスできるようになりました。

Gitを使用してブログをデプロイする

ブログはすでに設定されているため、チュートリアルのこの部分はオプションです。

この時点では、サーバーにログインして書き込む必要があるため、ブログ投稿を書くのは少し不便です。より良い解決策は、ローカルマシンに書き込み、投稿をサーバーにプッシュし、Hexoに静的ファイルを自動的に生成させることです。gitには多くのことができるフックがあることを考えると、gitフックを使用してこの設定を実現できます。

サーバーにベアリポジトリを作成する

ユーザーとしてサーバーに再度ログインしますvultr。ベアリポジトリを作成します。

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

post-receive各プッシュ後にブログをデプロイするという名前のbashファイルを記述します。

#!/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以外のデスクトップOSを使用している場合、これらの手順は異なる場合があります。

gitをインストールする必要があります。

ローカルgitリポジトリをセットアップします。

$ mkdir -p ~/vultr/git/vultr`
$ cd ~/vultr/git/vultr and git init
$ git remote add production ssh://[email protected]:/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

成功すると、ブログは自動的に更新されます。乾杯。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。