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

Ubuntu Server 18.04/20.04にGhostBloggingPlatformをインストールする方法

このチュートリアルでは、GhostブログプラットフォームをUbuntuサーバーにインストールする方法を紹介します。 Ghostは、Node.jsでコード化されたオープンソースのブログソフトウェアであり、モダンで美しいブログを作成できます。 Ghostは、ブログ専用に構築されており、WordPressのような包括的なコンテンツ管理システムではないため、WordPressと比較して軽量で、はるかに高速です。

ゴースト機能

執筆時点で、Ghostの最新バージョンはv3.2.0であり、2019年12月23日にリリースされます。Ghostの機能は次のとおりです。

  • Markdownベースのエディターで投稿をすばやく作成できます。
  • シンプルなコンテンツ管理。
  • チームとの共同編集。
  • スケジュールされた公開
  • 組み込みの分析
  • セマンティックマークアップ、パーマリンク、XMLサイトマップ、正規タグ、手動オーバーライドによる自動メタデータを備えた適切なSEOが直接組み込まれています。
  • 統合AMP(Accelerated Mobile Pages)のサポート
  • 完全なRSSフィード、電子メールサブスクリプションキャプチャフォーム、およびSlackWebhook統合
  • 何百もの美しい無料およびプレミアムテーマがGhostマーケットプレイスから入手できます
  • ダークモードをサポートする見栄えの良いデフォルトテーマのCapser。
  • Linux、Mac、Windowsで利用できるクロスプラットフォームのデスクトップアプリ。
  • 公式のGhostMigratorWordPressプラグインを使用すると、WordPressからGhostに簡単に移行できます。

Ghost Foundationはマネージドホスティングを提供していますが、ここでは、UbuntuサーバーでセルフホストのGhostブログを作成する方法を説明します。

UbuntuサーバーにGhostをインストールするための前提条件

Ghostブログを実行するには、少なくとも1GBのRAMを搭載したサーバーが必要です。この特別なリンクをクリックすると、DigitalOceanで$50の無料クレジットを獲得できます。 (新規ユーザーのみ)。すでにDigitalOceanユーザーである場合は、この特別なリンクをクリックして、Vultrで$ 50の無料クレジットを取得できます(新規ユーザーのみ)。 DigitalOceanまたはVultrでアカウントを取得したら、サーバーにUbuntuをインストールし、以下の手順に従います。最高の互換性を得るには、Ubuntu18.04や16.04などのLTSバージョンのUbuntuを使用してください。

ドメイン名も必要です。ドメイン名をNameCheapから登録したのは、価格が安く、whoisのプライバシー保護が一生無料になるためです。

:Ubuntuにsudoユーザーと一緒にGhostをインストールしました。最良の結果を得るには、rootではなくsudoユーザーを使用してこのチュートリアルに従う必要があります。 sudoユーザーを追加するには、単に実行します

sudo adduser username
sudo adduser username sudo

次に、新しいユーザーに切り替えます。

su - username

ステップ1:Ubuntuを更新する

サーバーがしばらく更新されていない場合は、次のコマンドを実行して既存のソフトウェアパッケージを更新します。

sudo apt update;sudo apt upgrade

ステップ2:UbuntuにNode.jsをインストールする

Ghostでは、LTSバージョンのNode.jsをインストールする必要があり、LTS以外のバージョンはサポートされていません。 Node.jsの最新のLTSバージョンはv12.xですが、現在GhostはNode.jsv10.xとの互換性が高くなっています。以下のコマンドを使用してNodeSourceリポジトリを追加します。

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

次に、Node.jsをインストールします。

sudo apt install nodejs

ノードのバージョンを確認してください。

node -v

サンプル出力:

v10.18.1

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

npm -v

サンプル出力:

6.13.4

ステップ3:MariaDBデータベースサーバーをインストールする

MySQLとMariaDBをサポートします。 MariaDBは、MySQLのドロップイン代替品です。これは、OracleがMySQLをクローズドソース製品に変える可能性があることを懸念しているMySQLチームの元メンバーによって開発されました。それでは、MariaDBデータベースサーバーをインストールしましょう。

次のコマンドを入力して、Ubuntu 18.04/20.04にインストールします。

sudo apt install mariadb-server mariadb-client

インストール後、MariaDBサーバーは自動的に開始されます。 systemctlを使用します ステータスを確認します。

systemctl status mariadb

サンプル出力:

● mariadb.service - MariaDB 10.1.34 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-09-08 11:13:27 UTC; 21s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 3473 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 505)
   CGroup: /system.slice/mariadb.service
           └─3473 /usr/sbin/mysqld

実行されていない場合は、次のコマンドで開始します:

sudo systemctl start mariadb

MariaDBがシステムの起動時に自動的に起動できるようにするには、

を実行します。
sudo systemctl enable mariadb

次に、インストール後のセキュリティスクリプトを実行します。

sudo mysql_secure_installation

MariaDBのrootパスワードの入力を求められたら、rootパスワードがまだ設定されていないため、Enterキーを押します。次に、 yと入力します MariaDBサーバーのルートパスワードを設定します。

次に、Enterキーを押して残りのすべての質問に答えることができます。これにより、匿名ユーザーが削除され、リモートrootログインが無効になり、テストデータベースが削除されます。このステップは、MariaDBデータベースセキュリティの基本的な要件です。 (文字 Y 大文字で表示されます。これは、デフォルトの回答であることを意味します。)

MariaDBサーバーのバージョン情報を確認してください。

mariadb --version

出力:

mariadb Ver 15.1 Distrib 10.1.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

ステップ4:Ghostのデータベースとユーザーを作成する

次に、MariaDBコンソールにログインし、Ghostのデータベースとユーザーを作成する必要があります。デフォルトでは、UbuntuのMaraiDBパッケージは unix_socketを使用します ユーザーログインを認証します。これは基本的に、OSのユーザー名とパスワードを使用してMariaDBコンソールにログインできることを意味します。したがって、次のコマンドを実行して、MariaDBのrootパスワードを指定せずにログインできます。

sudo mariadb -u root

次のコマンドを使用して、Ghostのデータベースを作成します。 ghostという名前を付けました 、ただし、好きな名前を使用できます。 (セミコロンを省略しないでください。)

create database ghost;

次に、以下のコマンドを入力してGhostのデータベースユーザーを作成し、Ghostデータベースのすべての権限をユーザーに付与します。

grant all privileges on ghost.* to ghost@localhost identified by 'ghost_password';

変更を有効にするために特権テーブルをフラッシュしてから、MariaDBコンソールを終了します。

flush privileges;

exit;

ステップ5:NginxWebサーバーをインストールする

GhostはNginxWebサーバーを使用するため、次のコマンドを実行して、デフォルトのUbuntuリポジトリからインストールします。

sudo apt install nginx

UFWファイアウォールを使用している場合は、ポート80と443も開く必要があります。

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

ステップ6:ブログのドメイン名のレコードを作成する

Ghostをインストールする前に、ブログのドメイン名のDNSAレコードを作成することをお勧めします。 Aレコードは、ドメイン名がUbuntuサーバーのIPアドレスを指していることを示しています。

ステップ7:Ghostをインストールする

Ghost-CLIをインストールします。

sudo npm install [email protected] -g

次に、ディレクトリを作成します( / var / www / ghost / )Ghostの場合。

sudo mkdir -p /var/www/ghost/

ユーザーアカウントに権限を付与します。 usernameを置き換えます 実際のユーザー名で。

sudo apt install acl

sudo setfacl -R -m u:username:rwx /var/www/ghost/

sudo chmod 775 /var/www/ghost

次に、作業ディレクトリを / var / www / ghost /に変更します。 Ghostをインストールします。

cd /var/www/ghost/

ghost install

インストールには時間がかかる場合があります。インストール中に、ブログのURLを入力するように求められます。 https://yourdomain.comのように入力します 。また、手順4で作成したMariaDBデータベース名とユーザークレデンシャルを入力する必要があります。

? Enter your blog URL: https://yourdomain.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: ghost
? Enter your MySQL password: ghost_password
? Enter your Ghost database name: ghost

Ubuntu 20.04を使用していて、次のメッセージが表示された場合は、無視してインストールを続行できます。

System checks failed with message: 'Linux version is not Ubuntu 16 or 18'
Some features of Ghost-CLI may not work without additional configuration.
For local installs we recommend using `ghost install local` instead.

ゴースト システムユーザーは自動的に作成されます。 NginxとSSLの設定に同意することをお勧めします。そうすれば、ブログは安全なHTTPSプロトコルを介して利用できるようになります。また、Ghostを簡単に開始、停止、または再起動できるように、Systemdサービスのセットアップに同意します。

Ghostが正常にインストールされたら、 https://yourdomain.com/ghostにアクセスします セットアップを完了します。まず、アカウントを作成する必要があります。

次に、一部のスタッフユーザーをGhostブログに招待するか、後で招待することができます。

ステップ8:Nginx構成ファイルを編集する

デフォルトでは、GhostのNginx構成ファイルには1つのドメイン名が含まれています。 Nginxがwwwドメインと非wwwドメインの両方にサービスを提供するようにする場合は、構成ファイルを編集します。

sudo nano /etc/nginx/sites-enabled/yourdomain.com.conf

次の行を見つけます

server_name yourdomain.com;

wwwドメインを追加します。

server_name yourdomain.com www.yourdomain.com;

ファイルを保存して閉じます。次に、 /etc/nginx/sites-enabled/yourdomain.com-ssl.confを削除します ファイル。

sudo rm /etc/nginx/sites-enabled/yourdomain.com-ssl.conf

次に、Certbot Let’sEncryptクライアントをインストールします

sudo apt install certbot python3-certbot-nginx

wwwドメインと非wwwドメインの両方のSSL証明書を取得します。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d yourdomain.com,www.yourdomain.com

Nginxを再起動すれば完了です。

sudo systemctl restart nginx

ステップ9:メール通知を設定する

Ghostブログからメールを送信するには(パスワードのリセット、スタッフユーザーの招待、メンバーのサインアップなど)、SMTP設定を構成する必要があります。独自のメールサーバーを使用する場合は、次のチュートリアルを読んで、独自のメールサーバーを簡単にセットアップしてください。

  • iRedMailを使用してUbuntu18.04で独自のメールサーバーを簡単にセットアップする方法

独自のメールサーバーを作成したら、Ghost構成ファイルを編集します。

sudo nano /var/www/ghost/config.production.json

デフォルトのメール設定は次のとおりです。

"mail": {
   "transport": "Direct"
},

SMTPを使用するように変更します。

"mail": {
    "transport": "SMTP",
    "from": "[email protected]",
    "options": {
        "service": "yourdomain.com",
        "host": "mail.yourdomain.com",
        "port": 465,
        "secureConnection": true,
        "auth": {
            "user": "[email protected]",
            "pass": "the_email_account_password"
        }
    }
},

GhostはSMTPのポート587をサポートしていないことに注意してください。ファイルを保存して閉じます。次に、systemdサービスを介してGhostを再起動します。

sudo systemctl restart ghost_yourdomain-com.service

これで、Ghostブログがメールを送信できるようになります。


Ubuntu
  1. Ubuntu18.04および16.04LTSにRabbitMQサーバーをインストールする方法

  2. Ubuntu20.04にMsSQLServer2019をインストールする方法

  3. UbuntuServer21.04にAnsibleをインストールする方法

  1. Ubuntu18.04にNginxWebサーバーをインストールする方法

  2. Ubuntu 18.04/20.04にGIMPをインストールする方法

  3. Ubuntu18.04および16.04LTSにGitlabサーバーをインストールする方法

  1. Ubuntu22.04にSSHサーバーをインストールする方法

  2. Ubuntu18.04LTSにRabbitMQサーバーをインストールする方法

  3. Ubuntu20.04にZirkulaCMSをインストールする方法