Hugoでブログを作成する方法

前書き

Hugoは、非常に高速なレンダリング速度と優れた使いやすさを備えた静的サイトジェネレーターです。コンテンツ指向の機能のすべてのおかげで、環境の構築ではなく、常にコンテンツの作成に集中できます。

  • Hugoを使用すると、面倒な依存関係やデータベースを気にすることなく、実行中のどこでも静的なサイトを数分で構築できます。
  • 最も便利なライティングスタイルであるMarkdownでコンテンツを作成し、Webで行った変更を瞬時に確認できます。
  • さらに、Hugoの豊かなテーマリポジトリと急成長しているコミュニティを最大限に活用できます。

このチュートリアルでは、Hugoをインストールして使用し、CentOSベースのVultr LEMPサーバーインスタンスに静的なブログサイトを構築する方法を紹介します。

前提条件

sudo権限を持つ非rootユーザーとしてインスタンスにログインします。この記事でそのようなユーザーを作成する方法をご覧ください。

ステップ1:Hugoプログラムをインストールする

Hugoは、ほとんどすべての主流プラットフォームにインストールできます。CentOSの場合、最新のプログラムファイルを.tar.gzアーカイブにダウンロードして、便利な場所に解凍するだけです。執筆時点では、最新バージョンは0.15です。

sudo yum update -y
sudo yum install git -y
cd ~
wget https://github.com/spf13/hugo/releases/download/v0.15/hugo_0.15_linux_amd64.tar.gz
tar -zxvf hugo_0.15_linux_amd64.tar.gz
sudo mv hugo_0.15_linux_amd64/hugo_0.15_linux_amd64 /usr/local/bin/hugo

次のコマンドを使用して、インストールをテストします。

 hugo version

ステップ2:サイトを構築する

Hugoを使用すると、サーバー上の任意のフォルダー内からサイトを構築できます。ここではmysite/、ホームディレクトリの下のディレクトリにサイトを構築しました。

cd ~
hugo new site ~/mysite

次のコマンドを実行して、サイトのアーキテクチャを確認します。

cd mysite
ls -lF

ご覧のとおり、サイトの現在のアーキテクチャは次のようになります。

アーキタイプ/

config.toml

コンテンツ/

データ/

レイアウト/

静的/

さらに2つの作成されるディレクトリがthemes/ありpublic/、Hugoサイトのアーキテクチャ全体がコンパクトでありながら包括的です。

手始めに、コンテンツをディレクトリに保存する必要があることを知っておいてくださいcontent/

ステップ3:Hugoリポジトリからテーマをインストールする

Hugoリポジトリからすべてのテーマをインストールするには、次のコマンドを実行します。これらthemes/により、サイトディレクトリに名前が付けられたディレクトリが作成され、Hugoテーマリポジトリからすべてのテーマがダウンロードされます。

cd ~/mysite/
git clone --depth 1 --recursive https://github.com/spf13/hugoThemes.git themes

単一のテーマをインストールするだけの場合は、Hugoテーマリポジトリにアクセスして、お気に入りのテーマを決定してください。そのURLをコピーして、git clone以下のコマンドに貼り付けます。

cd ~/mysite/
mkdir themes
cd themes
git clone https://github.com/jaden/twentyfourteen

ステップ4:基本的な設定変更をいくつか行う

config.tomlサイトディレクトリで指定されたファイルには、Hugoサイトのグローバル構成が含まれています。テキストエディタでファイルを編集して、以下に示すようにいくつかの基本的な構成を変更します。特定の条件に従って値を置き換えることを忘れないでください。

baseurl = "http://[YourSiteIP]/"
languageCode = "en-us"
title = "Your Site Name"
theme = "twentyfourteen"

ステップ5:コンテンツを作成する

サイトディレクトリで次のコマンドを入力して、ディレクトリにコンテンツページを作成します~/mysite/content/post/

cd ~/mysite/
hugo new post/about.md

ファイルをテキストエディタで開きます。ファイルの形式は次のようになります。

+++
date = "2015-12-25T03:21:23Z"
draft = true
title = "about"

+++

2行の間に、+++コンテンツページに関するメタ情報があります。ここでは、行draft = trueを削除して、タイトル行を必要に応じて変更できます。

2 +++行目に、Webページに表示するコンテンツを追加します。マークダウン言語でコンテンツを書くことを忘れないでください。

## This is an H2 headline

Text goes here.

この編集が終了したら、後で使用できるようにテキストエディタを開いたままにしておきます。

ステップ6:Hugoサーバーでコンテンツを調整する

Hugoの組み込みWebサーバーを使用してサイトをデプロイできます。これにより、テキストエディターでコンテンツを変更するとすぐに、Webページに変更を即座に表示できます。

別のターミナルを開きiptables、Hugoサーバーのデフォルトポート1313でサイトへのアクセスを許可するルールを構成します。

sudo iptables -I INPUT -p tcp --dport 1313 -j ACCEPT

Hugoサーバーを起動します。

hugo server --bind="[YourServerIP]"

ブラウザからサイトにアクセスします。

http://[YourServerIP]:1313

これで、前のターミナルでページファイルのコンテンツを編集したり、ページファイルを追加/削除したりできます。content/ディレクトリ内のすべての変更がブラウザ画面に同時に反映されることがわかります。これは忙しいブロガーにとって素晴らしい機能です。いつでもすぐに変更を確認して、より良い作曲体験を得ることができます。

編集が完了したら、を押しCtrl+CてHugoサーバーを停止します。

ステップ7:サイトを公開する

これで、サイトをWebに公開する時が来ました。次のコマンドを実行すると、Hugoがpublic/ディレクトリ内での公開に適したすべての静的コンテンツを生成します。

cd ~/mysite
hugo

:上記のコマンドを実行すると、Hugoは以前に生成された古いファイルを削除しません。予期しない結果を回避するためにpublic/hugoコマンドを実行する前に常にディレクトリを削除するか、次のコマンドに示すように新しい出力先を指定できます。

hugo --destination=public2

Nginxウェブサーバーは既にサーバー上で実行されているので、必要なのは、~/mysite/public/ディレクトリまたは他のカスタム宛先ディレクトリのコンテンツをウェブディレクトリにコピーすることだけです/usr/share/nginx/html/

元のファイルを削除します。

cd /usr/share/nginx/html/
sudo rm -rf background.jpg index.php logo.png

静的サイトファイルをウェブディレクトリにコピーします。

cd ~/mysite/public
sudo cp -R ~/mysite/public/. /usr/share/nginx/html/

それでおしまい。これで、ブラウザから超高速の静的サイトにアクセスできますhttp://[YourServerIP]

詳細を確認するには、コマンドを使用するhugo helpか、Hugoの公式Webサイトにアクセスしてください



Leave a Comment

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

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

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

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

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

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

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

Ubuntu 14.10へのMcMyAdminのインストール

Ubuntu 14.10へのMcMyAdminのインストール

McMyAdminは、サーバーの管理に使用されるMinecraftサーバーコントロールパネルです。McMyAdminは無料ですが、複数のエディションがあり、一部はパイです

LinuxでTeamTalk Serverをセットアップする

LinuxでTeamTalk Serverをセットアップする

TeamTalkは、ユーザーが高品質のオーディオ/ビデオ会話、テキストチャット、ファイルの転送、および画面の共有を可能にする会議システムです。それは

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ruby on Railsは、プログラマーの生産性を向上させるために開発されたRubyの人気のあるWebフレームワークです。ただし、さまざまな宝石と依存関係を取得する

Vultr VPSにアクセスする方法

Vultr VPSにアクセスする方法

Vultrは、VPSにアクセスして構成、インストール、および使用するためのいくつかの異なる方法を提供します。アクセス認証情報VPS arのデフォルトのアクセス認証情報

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

別のシステムを使用していますか?DokuWikiは、データベースを必要としないPHPで記述されたオープンソースのWikiプログラムです。データをテキストファイルに保存します。ドクウィク

DebianでのChrootのセットアップ

DebianでのChrootのセットアップ

この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

別のシステムを使用していますか?BigTree CMS 4.2は、高速で軽量な無料のオープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

PleskサーバーでHTTP / 2を有効にする方法

PleskサーバーでHTTP / 2を有効にする方法

PleskはネイティブのHTTP / 2サポートを備えています。PleskでのHTTP / 2のロールアウトは、他のコンポーネントに比べてはるかに簡単ですが、その導入プロセスには慎重な計画が必要です

FreeBSD 12にosTicketをインストールする方法

FreeBSD 12にosTicketをインストールする方法

別のシステムを使用していますか?osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketのソースコードはGithubで公開されています。このチュートリアルでは

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の未来は、日々成長を続けています。