すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:ゴーストサイトを設定する

最終更新日:Apr 18, 2024

Ghostは、Node.jsに基づいて開発された無料のオープンソースのブログプラットフォームで、ブログの作成と公開のプロセスを簡素化します。 このトピックでは、Ubuntu 22.04または20.04を実行するElastic Compute Service (ECS) インスタンスにゴーストサイトを設定する方法について説明します。

背景情報

ゴーストサイトは、開発モードまたは本番モードで実行できます。 初めてGhostサイトを設定するときは、デバッグを容易にするために開発モードでサイトを実行することをお勧めします。 このトピックの手順は、Alibaba Cloudを初めて使用してWebサイトを設定するユーザーに適しています。 ゴーストサイトの詳細については、「ゴーストの使い方」をご参照ください。

Alibaba Cloudサービスを使用して、ビジネス要件に基づいてサービス容量をスケールアップできます。 例:

  • 1つのECSインスタンスのvCPUとメモリをスケールアップして、インスタンスの処理能力を向上させます。

  • server Load Balancer (SLB) インスタンスのバックエンドサーバーグループに複数のECSインスタンスを追加し、SLBインスタンスを使用してトラフィックをECSインスタンスに分散します。

  • Alibaba Cloud Auto Scalingを使用して、ECSインスタンスの数をオンデマンドで自動的に増減します。

  • OSS (Object Storage Service) バケットを使用して、静的なwebページ、写真、ビデオなどの大量のデータを保存します。

前提条件

次の要件を満たすECSインスタンスが作成されます。

  • インスタンスは、自動割り当てパブリックIPアドレスまたはelastic IPアドレス (EIP) に関連付けられています。 詳細については、「EIPの関連付けまたは関連付けの解除」をご参照ください。

  • インスタンスはUbuntu 20.04または22.04を実行します。

  • インバウンドルールがECSインスタンスのセキュリティグループに追加され、22、80、443、2368のポートが開きます。 詳細については、「セキュリティグループルールの追加」をご参照ください。

(オプション) ステップ1: ユーザーを作成する

説明

インスタンス作成時にecsインスタンスのログインユーザー名としてECS-userを指定した場合は、この手順をスキップして手順2: NGINXのインストールに進みます。

Ghostサイトの設定にrootユーザーを使用しないことをお勧めします。 ECSインスタンスでユーザーを作成し、ユーザーに権限を付与します。

  1. ECS インスタンスに接続します。

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. 次のコマンドを実行してユーザーを作成します。

    この例では、testユーザーが作成されます。

    adduserテスト
    1. [新しいパスワード:][新しいパスワードを再入力] のメッセージが表示されたら、パスワードを入力して確認します。 デフォルトでは、パスワードを入力するとパスワードの文字は非表示になります。 パスワードを確認したら、Enterキーを押します。

    2. [新しい値を入力するか、Enterキーを押してデフォルト] メッセージが表示されたら、[ENTER] キーを押してデフォルト値を使用します。 実際のシナリオに基づいて、氏名、部屋番号、職場の電話、自宅の電話、その他のパラメーターを設定することもできます。

    3. はいつ情報が正しいですか? [Y/n] メッセージが表示され、Yと入力して情報を確認し、enterキーを押して設定を完了します。

    次のコードは、新しいユーザーを設定する方法を示しています。

    root @ iZbp1g2d4dpki2mf63b ****:~# adduserテスト
    ユーザー 'test' を追加...
    新しいグループ 'test' (1000) を追加...
    グループ 'test' を持つ新しいユーザー 'test' (1000) を追加...
    ホームディレクトリ '/home/test' を作成...
    '/etc/skel' からファイルをコピー...
    新しいパスワード:
    新しいパスワードを再入力:
    passwd: パスワードが正常に更新されました
    テストのユーザー情報の変更
    新しい値を入力するか、デフォルトのEnterキーを押します。
            フルネーム []:
            ルーム番号 []:
            仕事の電話 []:
            ホーム電話 []:
            その他 []:
    情報は正しいですか? [Y/n] Y 
  3. 次のコマンドを実行して、新しいユーザーをグループに追加します。

    usermod -a -G sudoテスト
  4. 次のコマンドを実行して、testユーザーに切り替えます。

    suテスト

ステップ2: NGINXのインストール

重要

ECSインスタンスが自動割り当てパブリックIPアドレスまたはEIPに関連付けられていることを確認します。 詳細については、「EIPの関連付けまたは関連付けの解除」をご参照ください。

Ghostをインストールする前に、NGINXをHTTPサーバーとしてインストールする必要があります。

  1. 次のコマンドを順番に実行して、Linuxオペレーティングシステムとソフトウェアパッケージを更新します。

    sudo apt-getアップデート
    sudo apt-get upgrade -y 
  2. 次のコマンドを実行してNGINXをインストールします。

    sudo apt-get install -y nginx
  3. nginx -vコマンドを実行し、NGINXのバージョンを確認します。

    nginx -v

    次のサンプルコマンド出力が返されます。

    nginxバージョン: nginx/1.18.0 (Ubuntu)
    説明

    この例では、NGINX 1.18.0がインストールされています。 ソフトウェアインストールパッケージは定期的に更新されません。 インストールする実際のNGINXのバージョンは異なる場合があります。

ステップ3: MySQLのインストール

MySQLはオープンソースのデータベース管理システムです。 ほとんどの場合、MySQLはLinux、Apache、MySQL、およびPHP/Perl/Python (LAMP) スタックの一部としてインストールされます。 MySQLは、リレーショナルデータベースとSQL文を使用してデータを管理します。

  1. 次のコマンドを実行してMySQLをインストールします。

    sudo apt-get install -y mysql-server

    mysql -Vコマンドを実行し、MySQLのバージョンを確認します。 次のサンプルコマンド出力は、MySQLがインストールされていることを示します。

    テスト @ iZbp1g2d4dpki2mf63b ****:~$ mysql -V
    mysql Ver 8.0.36-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu)) 
  2. Ubuntuのバージョンに基づいて次のいずれかのコマンドを実行し、MySQLに接続します。

    sudo mysql
  3. 次のコマンドを実行して、Ghostのデータベースを作成します。

    この例では、ghost_dataという名前のデータベースが作成されます。

    CREATE DATABASE ghost_data;
  4. 次のコマンドを実行して、rootユーザーのパスワードを設定します。

    ALTER USER 'root' @ 'localhost' mysql_native_passwordで識別 'ルートユーザーのパスワードを入力';
  5. 次のコマンドを実行して、MySQL特権テーブルをリロードし、データベースに対する権限の変更が有効になるようにします。

    FLUSH PRIVILEGES;
  6. 次のコマンドを実行してMySQLを終了します。

    exit

ステップ4: Node.jsのインストール

重要

GhostはNode.js 18.xのみをサポートします。 Node.jsをインストールするには、このセクションの操作を実行します。

  1. 次のコマンドを実行して、Node.jsインストールリポジトリをダウンロードします。

    curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash
  2. 次のコマンドを実行してNode.jsをインストールします。

    sudo apt-get install -y nodejs
  3. 次のコマンドを実行して、Node.jsのバージョンを確認します。

    ノードv

    次のサンプルコマンド出力が返されます。

    テスト @ iZbp1g2d4dpki2mf63b ****:~$ node -v
    v18.19.1 

ステップ5: ゴーストをインストールする

  1. (オプション) ノードパッケージマネージャー (npm) イメージリポジトリをAlibaba Cloudイメージリポジトリに設定して、Ghostのインストールを高速化します。

    重要

    npmイメージリポジトリの変更は、その後のnpmパッケージのすべてのインストール手順に影響を与える可能性があります。 Ghostのインストール後、npm config set registry https://registry.npmjs.org/ コマンドを実行してnpmのデフォルト設定を復元することを推奨します。

    npm config setレジストリhttps://registry.npmmirror.com
  2. 次のコマンドを実行して、Ghostの設定に使用するGhost-CLIをインストールします。

    sudo npm install ghost-cli @ latest -g

    次の図に示すコマンド出力は、Ghost-CLIがインストールされていることを示します。

    image

  3. 次のコマンドを順番に実行して、Ghostをインストールするディレクトリを作成し、そのディレクトリに権限を付与します。

    sudo mkdir -p /var/www/ghost
    sudo chownテスト: test /var/www/ghost
    sudo chmod 775 /var/www/ghost 
  4. 次のコマンドを順番に実行してGhostをインストールします。

    cd /var/www/ghost
    ゴーストインストール 

    次の図に示すように、Ghostインストールプロセス中に特定のパラメーターを設定します。

    saasaパラメータの説明:

    • ブログURLを入力: Ghostの解決済みドメイン名を入力します。 例: http://example.com。 解決されたドメイン名がない場合は、GhostをインストールするECSインスタンスのパブリックIPアドレスを入力します。 この例では、http:// 47.98.XX.XXを入力します。

    • MySQLホスト名を入力: データベースがインストールされているECSインスタンスのホスト名を入力します。 この例では、MySQLデータベースとGhostが同じECSインスタンスにインストールされているため、Enterキーを押してデフォルト値を使用します。

    • MySQLユーザー名を入力: データベースへのログインに使用するユーザー名を入力し、Enterキーを押します。 この例では、rootが入力されます。

    • MySQLパスワードを入力: データベースへのログインに使用するパスワードを入力し、Enterキーを押します。

      説明

      データベースへのログインに使用されるパスワードは、手順3で指定したパスワードです。

    • ゴーストデータベース名を入力: ゴースト用に作成したデータベースの名前を入力し、Enterキーを押します。 この例では、ghost_dataが入力されています。

      説明

      データベースの名前は、手順3で指定した名前です。 この例では、名前はghost_dataです。

    実際のシナリオに基づいてプロンプトに従って他のパラメーターを設定します。 設定が完了すると、ページの下部にGhost管理者のアクセスアドレスが表示されます。 この例では、http:// 47.98.XX.XX/ghostが表示されます。

  5. ゴーストサイトへの接続をテストします。

    フロントエンドのホームページまたはGhostのバックエンド管理ページにアクセスするには、次の操作を実行します。

    • Frontendホームページ

      WindowsコンピューターまたはインターネットにアクセスできるWindowsコンピューターで、ブラウザーを開き、アドレスバーに <ECSインスタンスのパブリックIPアドレス> と入力して、Ghostのフロントエンドホームページにアクセスします。adada

      説明

      エラーコード502が返された場合は、ECSインスタンスのファイアウォールで例外が発生していないか確認してください。 ファイアウォールを無効にできます。

    • バックエンド管理ページ

      WindowsコンピューターまたはインターネットにアクセスできるWindowsコンピューターで、ブラウザーを開き、アドレスバーに <ECSインスタンスのパブリックIPアドレス>/ghostと入力して、Ghostのバックエンド管理ページにアクセスします。

      Ghostのバックエンド管理ページに初めてアクセスするときは、指示に従ってGhostの設定を完了します。adad23

ドメイン名に対する操作

Webサイトを設定したいが、独自のドメイン名を持っていない場合は、ドメイン名を購入してください。 ドメイン名を購入した後、Webサイトが中国本土のECSインスタンスにデプロイされている場合は、ドメイン名のICP (Internet Content Provider) 申請を申請し、ドメイン名をECSインスタンスのパブリックIPアドレスに解決します。 次の操作を実行します。

  • ドメイン名を購入する

    Webサイトに一意のドメイン名を指定できます。 このようにして、Webサイトにアクセスしたいユーザーは、複雑なIPアドレスの代わりに識別しやすいドメイン名を使用できます。

    Alibaba Cloudからドメイン名を購入することを推奨します。 詳細については、「Alibaba Cloudでのドメイン名の登録」をご参照ください。

  • ドメイン名のICP申請を申請する

    中国本土のECSインスタンスにデプロイされているWebサイトに関連付けられているドメイン名のICP申請を申請します。 お客様のWebサイトは、ドメイン名のICP登録番号を取得した後にのみサービスを提供できます。

  • ドメイン名を解決する

    Alibaba Cloud DNSを使用して、WebサイトがデプロイされているECSインスタンスのIPアドレスにドメイン名を解決します。 これにより、ユーザーはドメイン名を使用してWebサイトにアクセスできます。 詳細については、「Alibaba Cloud DNSの使用を開始する」をご参照ください。