Fedora 25にGhostをデプロイする方法

Ghostはオープンソースのブログプラットフォームで、2013年のリリース以降、開発者や一般ユーザーの間で人気を博しています。コンテンツブログに焦点を当てています。Ghostの最も魅力的な点は、シンプルでクリーン、そしてレスポンシブなデザインです。携帯電話からブログ投稿を書くことができます。Ghostのコンテンツは、Markdown言語を使用して記述されています。Ghostは、個人または小グループの作家に最適です。

このガイドでは、Let's EncryptCertbotNode.jsNginx、およびPM2を使用して、Fedora 25 VPSに安全なGhostブログをセットアップしてデプロイします。

必要条件

  • Fedora 25サーバーインスタンス、最低1GB RAM
  • おそらく、ポート2368をで開く必要がありますsemanage port -a -t http_port_t -p tcp 2368

暗号化しましょう

この手順を開始する前に、ドメインにDNSレコードが設定されていることを確認してください。

Let's Encrypt CAとEFFのCertbotクライアントを使用して、GhostブログのTLS証明書を取得します。のすべてのインスタンスexample.comを自分のドメイン名に置き換えることを忘れないでください。

  1. 更新システム:

    dnf check-update || dnf upgrade -y
    
  2. 必要なツールをインストールします。

    dnf install @development-tools -y
    
  3. Certbot(別名Let's Encryptクライアント)をインストールします。

    dnf install certbot -y
    
  4. Certbotのバージョンを確認します。

    certbot --version
    # certbot 0.12.0
    
  5. スタンドアロンモードを使用して証明書を取得します。

    certbot certonly --standalone --domains example.com,www.example.com --email [email protected] --agree-tos --rsa-key-size 2048
    

前の手順を完了すると、証明書秘密鍵/etc/letsencrypt/live/example.comディレクトリに作成されます。

NodeJSをインストールする

Ghostは現在、ノードバージョン0.12.x4.2+、および6.9+のみサポートしています。

v6 Boron LTSこの記事の執筆時点でサポートされているバージョンのGhostをインストールします。

  1. Node.jsの最新のLTSバージョンをダウンロードしてインストールします。

    dnf install nodejs -y
    
  2. ノードとNPMのバージョンを確認します。

    node -v && npm -v
    # v6.10.2
    # 3.10.10
    

Nginxをインストールする

  1. Nginxをダウンロードしてインストールします。

    dnf install nginx -y
    
  2. Nginxのバージョンを確認します。

    nginx -v
    # nginx version: nginx/1.10.2
    
  3. Nginxサービスを開始して有効にします。

    systemctl start nginx.service && systemctl enable nginx.service
    
  4. Nginxをリバースプロキシとして構成します。

    vi /etc/nginx/conf.d/ghost.conf
    
  5. 以下を貼り付けます/etc/nginx/conf.d/ghost.conf

    server {
    
      listen 80;
      listen [::]:80;
      listen 443 ssl http2;
      listen [::]:443 ssl http2;
    
      server_name example.com www.example.com;
    
      ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    
      location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://127.0.0.1:2368;
      }
    
    }
    
  6. Nginx構文を確認します。

    nginx -t
    
  7. Nginx設定をリロードします。

    systemctl reload nginx.service
    

Ghostをインストールする

同じVPSで複数のGhostブログをホストする場合は、各Ghostインスタンスが個別のポートで実行されている必要があります。

  1. メイクのwebrootディレクトリ:

    mkdir -p /var/www/
    
  2. 新しいゴーストユーザーを作成します。

    useradd -c "Ghost Application" ghost 
    
  3. ゴーストをダウンロード:

    curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip
    
  4. ゴーストを解凍:

    unzip -uo ghost.zip -d /var/www/ghost
    rm -f ghost.zip
    
  5. webrootに移動します。

    cd /var/www/ghost
    
  6. webrootディレクトリの所有権を変更します。

    chown -R ghost:ghost .
    
  7. 新しいゴーストユーザーに切り替え:

    su - ghost
    
  8. webrootに移動します。

    cd /var/www/ghost
    
  9. Ghostをインストールします。

    npm install --production
    
  10. ファイル内のオブジェクトのプロパティを変更urlしてGhostを構成します。mailproductionconfig.js

    cp config.example.js config.js
    vi config.js
    
    
    var path = require('path'),
           config;
    
    config = {
      // ### Production
      // When running Ghost in the wild, use the production environment.
      // Configure your URL and mail settings here
      production: {
        url: 'https://example.com',
        mail: {
          options: {
             service: '',
                auth: {
                  user: '',
                  pass: ''
                }
              }
        },
            . . .
            . . .
        },
    }
    . . .
    . . .        
    

    mailまた、構成する必要があります。その方法については、公式のGhostドキュメントを参照してください。

  11. Ghostを起動します。

    npm start --production
    

    ゴーストが実行されます。ブログのフロントエンドと管理インターフェースの両方がHTTPSで保護されており、HTTP / 2も機能しています。ブラウザを開いて、にアクセスしてくださいhttps://example.comexample.comドメイン名に置き換えることを忘れないでください。

  12. CTRL+ Cを押してGhostプロセスをシャットダウンし、ゴーストユーザーを終了してrootユーザーに戻ります。

    exit
    

PM2をインストールする

VPSでターミナルセッションを閉じると、ブログもダウンします。それは良いことではありません。これを回避するために、PM2プロセスマネージャを使用します。それは私たちのブログを24時間365日維持します。

  1. PM2プロセスマネージャの最新の安定バージョンをインストールします。

    npm install -g pm2@latest
    
  2. PM2バージョンを確認します。

    pm2 -v
    # 2.4.6
    
  3. ゴーストユーザーに再度切り替えます。

    su - ghost
    
  4. NODE_ENV環境変数を本番に設定します。

    echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
    
  5. PM2でGhostアプリケーションを開始(デーモン化)します。

    pm2 start /var/www/ghost/index.js --name "Ghost Blog"
    
  6. https://example.com/ghost/Ghost管理ユーザーに移動して作成します。できるだけ早くこれを行ってください。

結論

それでおしまい。これで、完全に機能するGhostブログができました。Casperと呼ばれるデフォルトのGhostテーマをカスタムテーマに変更する場合は、テーマをダウンロードして/var/www/ghost/content/themesフォルダーに解凍し、にあるGhost管理インターフェイスを介して選択することができますhttps://example.com/ghost



Leave a Comment

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