Hexo+gitブログ構築

7937 ワード

前言
以前使っていたwordpressのブログを変えたいと思っていましたが、昨日偶然先輩のブログを見て、フロントエンドが簡潔で落ち着いているような気がして、彼が使っているHexoというブログのフレームワークを調べました.docから見ると使いやすく、mdの編集方式が効率的で、テーマをブラウズしてもいくつかいいので、試験週間前の日に急いでブログを構築しました.
構築環境はMac+Ubuntu 14.04
ローカルインストール構築ブログ
hexoフレームワークのローカルインストール
  • まずhomebrewを使用してnpmをインストールします.
    1
    brew install npm

  • npmを使用してHexoをインストール
    1
    npm install hexo-cli -g

  • Hexo-serverのインストール hexo 3ではserverが分離されているので、ローカルでapacheなどでblogを見ないようにするには別途インストールが必要です
    1
    npm install hexo-server --save


  • ブログの作成
  • 新しいHexoブログ
    1
    2
    3
    4
    mkdir myBlog
    cd myBlog
    hexo init
    npm install

  • serverを開きます.
    1
    2
    3
    4
    hexo server
    // :
    INFO Start processing
    INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop

  • 静的ファイルを生成します.
    1
    hexo g

    hexoのヘルプドキュメントが表示された場合、serverが正常にインストールされていないことを示します. ブログはブラウザからhttp://localhost:4000/にアクセスできます.Cannot Get/チェックnpm install
  • が表示されている場合
  • トピックの交換 私が使っているテーマはaircloudです.githubからソースコードをダウンロードしてthemeファイルに入れます.hexoの_config.ymlのtheme部分を
    1
    theme: aircloud

    再度generateの後にブラウザを見て、index.htmlが見つからないと表示された場合、一般的にthemeの名前が正しく書かれていないためです.themeの後ろにthemeフォルダの下で選択したトピックのファイル名を書きます.publicフォルダの下にimgフォルダを新規作成し、アバターavatar.jpgとfavicon.icoのiconピクチャを入れます.そうしないと、トピックが見つかりません.このトピックを使用して変更する場所がいくつかある場合は、readme.mdを直接参照してください.
  • 余分なtagsを削除
    1
    2
    hexo clean
    hexo d -g


  • gitによるリモート・サーバへの導入
    gitの構成
  • まず自分がssh鍵を持っているかどうかを確認する
    1
    2
    cd ~/.ssh
    ls

    ペアを探して  id_dsa  または  id_rsa  名前付きファイル  .pub  拡張子.  .pub  ファイルはあなたの公開鍵で、もう一つは秘密鍵です.このようなファイルが見つからない場合(またはまったく見つからない場合)  .ssh  ディレクトリ)を使用して、実行できます.  ssh-keygen  を作成します.Linux/Macシステムでは、ssh-keygen SSHパッケージに従って提供する.Windowsでは、このプログラムはMSysGitパッケージに含まれています.--git公式サイト
  • 公開鍵をサーバに格納 公開鍵をシステムユーザにコピーする  .ssh  ディレクトリの下  authorized_keys  ファイルの末尾.このファイルがなければ、自分で新規作成してください.
  • サーバの構成 ブログコードを保存するフォルダを新規作成します.gitを初期化しmasterブランチを新規作成
    1
    2
    git init
    git checkout -b master

    注意bare倉庫を新築しないでください.そうしないと、blogファイルがなく、gitバージョンの制御ファイルしかありません. gitがpushを拒否することを避けるために、.git/configファイルの後に次のコードを追加します.
    1
    2
    [receive]
    denyCurrentBranch = ignore

  • ローカルhexoのconfigファイルを変更する deployセクションを追加するには、次の手順に従います.
    1
    2
    3
    4
    deploy:
    type: git
    repo: gituser@yourIpOrUrl:~/myBlog/
    branch: master

  • blogをサーバに配備
    1
    hexo d

  • git hookリモートgitウェアハウスはdeploy以降すぐに更新されず、git reset --hardを実行してからのみ可能です.この文を毎回手動で実行しないようにmyBlog/.git/hooks/post-updateファイルに追加できます.元のpost-update.sampleの.sampleを削除するとhookが有効になります.deployの後にremote: fatal: Not a git repository: '.'が現れた場合、post-updateをさらに変更します.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/sh
    #
    # An example hook script to prepare a packed repository for use over
    # dumb transports.
    #
    # To enable this hook, rename this file to "post-update".
    cd /root/myBlog
    unset GIT_DIR
    git reset --hard


  • apache 2の構成
  • apache 2のインストール 私のサーバーにはapache 2がインストールされていて、プロセスが簡単なので、ここではこの部分のチュートリアルを書かないで、他のblogを参照してください.
  • apache 2構成の変更 Apache 2のconfigファイルは/etc/apache 2/apache 2.confで、以下のように修正されます. ファイルアクセス権の追加
    1
    2
    3
    4
    5

    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted


    Document/Rootをgit倉庫へのパスに変更します. サーバに複数のWebサイトが構成されている場合は、virtualHostを追加してパスを構成できます.ここでは詳しくはお話ししません.
  • ファイル権限の変更 git倉庫のファイル権限を755に変更し、その上位ファイルも755に変更する必要があります.
    1
    chmod -R 775 /filename

  • Webページの表示 ブラウザにサーバのipまたはurlを入力します.アクセス権がない場合は、自分のファイル権限とconfigファイルが正しく変更されているかどうかを確認します.注意directory/のdeny from allをrequire all grantedに変更しないでください.非常に安全ではありません.
    このチュートリアルはここで終わります.順調に構築してほしいです.
    転載先:https://www.cnblogs.com/ver0n1ca/p/hexo_and_git.html