GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04LTSでNginxを使用してGhostブログをデプロイする方法

ゴースト は完全にオープンソース(MITライセンス)のブログプラットフォームであり、2013年のリリース以降、開発者や一般ユーザーの間で人気が高まっています。 GhostのソースコードはGitHubで公開されています。 Ghostは通常、約〜300MB RAM うまく動作するので、適度なハードウェアで実行できます。 コンテンツに重点を置いています およびブログ 。 Ghostの最も魅力的な点は、シンプルでクリーン、エレガントでレスポンシブなデザインです。あなたは携帯電話からあなたのブログ投稿を書くことができます。 Ghostのコンテンツは、Markdown言語を使用して記述およびフォーマットされています。 Ghostは、個人または小グループの作家に最適です。 Ghostには、Accelerated Mobile Pages( AMP )のサポートも組み込まれています。 )プロジェクト。これにより、携帯電話でのブログの読み込みが非常に速くなります。


最近、Ghost開発者は、Ghostの最初のメジャーで安定したリリース-1.0.0をリリースしました。 Ghost 1.0.0は多くの新機能を導入しましたが、その中で最も注目すべきものは次のとおりです。まったく新しいMarkdownエディター、更新されたユーザーインターフェース( UI )、新しいデフォルトのテーマデザイン、 Ghost-CLIを使用した新しく改善されたインストールと更新のプロセス ツール。


このチュートリアルでは、Ghostの Ghost-CLI を使用して、安全なGhostブログを設定してデプロイします。 Ubuntu 18.04 LTSのツール Let's Encryptを使用するサーバー 、 Acme.sh Node.js npm NGINX およびMySQL / MariaDB

要件
  • ドメイン名。このチュートリアルでは、example.comドメインを使用します。
  • 1GBまたはRAMを搭載したUbuntu18.04LTSを実行しているサーバー。
  • sudo権限を持つroot以外のユーザー。
初期ステップ

Ubuntuのバージョンを確認してください:

lsb_release -ds 
# Ubuntu 18.04 LTS

タイムゾーンを設定します:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

オペレーティングシステムのパッケージを更新します:

sudo apt update && sudo apt upgrade -y

build-essentialをインストールします パッケージ:

sudo apt install -y build-essential
ステップ1-Node.jsとnpmをインストールします

:最新のGhost 1.0.0は現在、Node.jsバージョンをサポートしています 8.9+ および6.9+ のみ。

GhostはNode.js上に構築されています。 推奨をインストールします v8 Carbon LTSであるGhostのバージョン この執筆チュートリアルの時点で。 Linuxには、いくつかのインストールオプションがあります。Linuxバイナリ(x86 / x64)、ソースコード、またはパッケージマネージャーを使用します。 Nodesourceリポジトリを利用してパッケージマネージャー方式を使用します。

最新のロングタームサポート( LTS )をダウンロードしてインストールします )Node.jsのバージョン(リリース):

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs

:npmはNode.jsと一緒に配布されます。つまり、Node.jsをダウンロードすると、自動的にnpmがコンピューターにインストールされます。

Node.jsとnpmのバージョンを確認してください:

node -v && npm -v
# v8.11.2
# 5.6.0

NpmはNode.jsとは別のプロジェクトであり、より頻繁に更新される傾向があります。その結果、Node.js(したがってnpm)をダウンロードしたばかりの場合でも、おそらくnpmを更新する必要があります。幸いなことに、npmは自分自身を更新する方法を知っています! npmを更新するには、ターミナルに次のように入力します:

sudo npm install -g [email protected]

npmのバージョンを再確認してください。最新バージョンである必要があります:

npm -v
# 6.1.0
ステップ2-MariaDBサーバーをインストールする

Ghostは、MySQL/MariaDBおよびSQLiteデータベースをサポートしています。ただし、このチュートリアルでは、MariaDBデータベースを使用します。必要に応じて、MariaDBの代わりにMySQLを使用できます。

マシンのMariaDBリポジトリから最新の安定バージョンのMariaDBサーバーをダウンロードしてインストールします。

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64] https://mirrors.nxthost.com/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server

MariaDBのインストールプロセス中に、MariaDBのrootを入力するように求められます ユーザーのパスワード。強力なパスワードを入力する必要があります。

MariaDBのバージョンを確認してください:

mysql --version && sudo mysqld --version
# mysql  Ver 15.1 Distrib 10.3.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
# mysqld  Ver 10.3.7-MariaDB-1:10.3.7+maria~bionic-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)

MariaDBデーモンが起動して実行されているかどうかを確認します:

sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service

mysql_secure_installationを実行します MariaDBインストールのセキュリティを向上させるユーティリティ(スクリプト):

sudo mysql_secure_installation


# Enter current password for root (enter for none):

# Change the root password? [Y/n] N
# Remove anonymous users? [Y/n] Y
# Disallow root login remotely? [Y/n] Y
# Remove test database and access to it? [Y/n] Y
# Reload privilege tables now? [Y/n] Y
# Success.

# All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

# Thanks for using MariaDB!

MariaDB rootとしてMariaDBコマンドラインにログイン(接続)します ユーザー:

mysql -u root -p

Ghostインストール用の新しいMariaDBデータベースとユーザーを作成します。このステップはオプションです。後のステップのGhost-CLIツールでデータベースを作成できるため、Ghostのインストール中にGhost-CLIから要求された場合は、MariaDBのrootユーザーのクレデンシャル(ユーザー名とパスワード)を入力するだけです。

mysql> CREATE DATABASE dbname;
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL ON dbname.* TO 'username'@'localhost';
mysql> FLUSH PRIVILEGES;

MariaDBを終了(切断)します:

mysql> EXIT;
ステップ3-NGINXをインストールする

NGINX(engine-x)は、ベアメタル、パブリック/プライベート/ハイブリッドクラウド、コンテナなど、すべての環境で適切に機能する高性能ウェブサーバー、ロードバランサー、キャッシュ、プロキシサーバーです。 NGINXは、Ghostアプリケーションのリバースプロキシとして使用されます。

NGINXは、オペレーティングシステムに応じて異なる方法でインストールできます。 Linuxの場合、nginx.orgのNGINXパッケージを使用できます。

最新のメインラインをダウンロードしてインストールします (ほとんどの展開に推奨 )公式のNGINXリポジトリから直接NGINXと動的にロード可能なモジュールをリリース:

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt

バージョンを確認して、NGINXがインストールされていることを確認します:

sudo nginx -v && sudo nginx -V
# nginx version: nginx/1.15.0
# nginx version: nginx/1.15.0

NGINXを起動して有効にします:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

/etc/nginx/snippets, /etc/nginx/sslを作成します 、/etc/nginx/sites-available および/etc/nginx/sites-enabled ディレクトリ。これらのディレクトリは、Ghost-CLIツールが正しく機能するために必要です:

sudo mkdir -p /etc/nginx/{snippets,ssl,sites-available,sites-enabled}

include /etc/nginx/sites-enabled/*.conf;に追加します nginx.confへのディレクティブ ファイル、実行:

sudo vim /etc/nginx/nginx.conf

ファイルを保存してVimエディターを終了します。

ステップ4-Yarnをインストールします(オプション)

システムにYarnパッケージマネージャーをダウンロードしてインストールします:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install -y yarn

糸のバージョンを確認してください:

yarn --version
# 1.7.0
ステップ5-Ghost-CLIのインストール

Ghost-CLIは、Ghostのインストールと更新を簡単にするコマンドラインインターフェース(CLI)ツールです。データベースをセットアップし、NGINXをリバースプロキシとして構成し、Let’sEncryptCAを使用してTLS/SSLセキュリティを有効にし、SSLを自動的に更新し、Ghostをsystemdサービスとして初期化します。 Ghost-CLIは、npmのいずれかを介してインストールできるnpmモジュールです。 またはyarn

Ghost-CLIツールをダウンロードしてインストールします:

sudo npm install -g [email protected]
# or with Yarn
sudo yarn global add [email protected]

Ghost-CLIバージョンを確認してください:

ghost version
# Ghost-CLI version: 1.8.1

Ghostのインストールまたは更新時に発生する可能性のある問題について、システムのトラブルシューティングを行います。

ghost doctor install
ステップ6-Ghostをインストールする

次に、Ghost-CLIツールを使用してGhostをインストールします。

まず、空のドキュメントルートディレクトリを作成します:

sudo mkdir -p /var/www/example.com

/var/www/example.comの所有権を変更します sudoを使用してroot以外のユーザーへのディレクトリ 作成した特権。この例では、johndoe:

sudo chown johndoe:johndoe /var/www/example.com

インストールフォルダには正しい権限が必要です:

sudo chmod 755 /var/www/example.com

Ghostルートディレクトリに移動します:

cd /var/www/example.com

ファイルの競合を避けるために、ディレクトリが空であることを確認してください:

ls -a

次のコマンドを実行して、Ghostを本番モードでインストールします:

ghost install

プロンプトに従って各質問に答えます:

? Enter your blog URL: https://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: your_mysql_root_user_password_here
? Enter your Ghost database name: database_name_for_ghost
? Do you wish to set up "ghost" mysql user? yes ? Do you wish to set up Nginx? yes ? Do you wish to set up SSL? yes ? Enter your email (used for Let's Encrypt notifications) [email protected] ? Do you wish to set up Systemd? yes ? Do you want to start Ghost? yes

インストールが完了したら、実行します

ghost ls

実行中のGhostプロセスを表示します。

将来、新しいバージョンがリリースされたときにGhostブログを更新するには、実行する必要があります

ghost update

GhostインストールディレクトリからのコマンドとGhost-CLIがすべてを処理します。

ステップ7-ゴーストのセットアップを完了する

セットアッププロセスを完了するには、/ghostを追加して、Ghost構成ページに移動します。 ブログのURLまたはIPの最後まで。この例では、https://example.com/ghostを使用しています 。

ようこそ画面で、[アカウントを作成]をクリックします :

メールアドレスを入力し、ユーザー、パスワード、ブログのタイトルを作成します:

チームに追加のメンバーを招待します。この手順をスキップする場合は、[後で行います。ブログに移動してください!]をクリックしてください。 ページの下部にあります。

Ghost管理エリアに移動して、最初の投稿を作成したり、サイトのテーマを変更したり、追加の設定を構成したりします。

おめでとうございます!これで、GhostブログプラットフォームがUbuntu18.04LTSサーバーに正常にインストールおよびデプロイされました。


Ubuntu
  1. Ubuntu18.04LTSにNginxを使用してPhorumをインストールする方法

  2. Ubuntu20.04LTSでNginxを使用してModsecurityをデプロイする方法

  3. Ubuntu20.04LTSにNginxを使用してModsecurityをデプロイする

  1. Ubuntu18.04LTSにNginxを使用してNextcloudをインストールする方法

  2. Ubuntu20.04LTSにNginxを使用してSeafileをインストールする方法

  3. Ubuntu16.04LTSにNginxを使用してVarnishリバースプロキシをインストールする方法

  1. Ubuntu18.04LTSにNginxを使用してSeafileをインストールする方法

  2. Ubuntu16.04LTSにNginxを使用してOroCRMをインストールする方法

  3. Ubuntu18.04LTSにBrotli圧縮を使用してNginxをインストールする方法