序章


2013年4月、ブログ作成の分野に参入したばかりの John O’Nolan は、 Ghost と呼ばれる新しい種類のブログのキックスターターを立ち上げました。これにより、書き込みと保守が大幅に簡素化されます。ブログ。 ここでは、GhostをDigitalOceanVPSでセットアップして実行するためのすべての手順を説明します。

前提条件


始める前に、まとめておくべきことがいくつかあります

  1. Ghostのコピーを入手する

    • このチュートリアルでは、ローカルコンピューターにGhostのコピーが既にあることを前提としています。 現在、Kickstarterの支援者のみが利用できるため、ダウンロードできるサイトへのリンクが送信されているはずです。
  2. VPSを設定する

    • このチュートリアルでは、VPSがすでに設定されていることを前提としています。 Ubuntu 12.04を使用しますが、何でも問題ありません。 この部分についてサポートが必要な場合は、このチュートリアルを使用して開始できます。
  3. ドメインをVPSに向ける

    • このチュートリアルでは、VPSでドメインをすでに指定していることを前提としています。 このチュートリアルは、その方法がわからない場合に、その部分を支援するはずです。

ステップ1:npmをインストールする


始める前に、システムが最新であることを確認することを強くお勧めします。 次のコマンドを実行して、VPSにSSHで接続することから始めます。

ssh root@*your-server-ip*

ローカルマシンで、VPSで以下を実行します。

apt-get update
apt-get upgrade

それが完了したら、取得する必要があります npm インストールされています。 次のコマンドを実行すると、Nodeのいくつかの依存関係がインストールされ、そのリポジトリがに追加されます。 apt-get、次にインストールします nodejs.

apt-get install python-software-properties python g++ make
add-apt-repository ppa:chris-lea/node.js
apt-get update
apt-get install nodejs

注:次のコマンドを実行する必要はありません。 sudo おそらくrootとしてログインしているためですが、このチュートリアルから逸脱して別のユーザーとしてログインしている場合は、おそらく必要になることを覚えておいてください。 sudo.

今、あなたが実行すると npm コマンドラインで、いくつかのヘルプ情報が印刷されているのを確認する必要があります。 それでよければ、Ghostをインストールする準備ができています。

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


次に行うことは、Ghostのコピーをリモートサーバーに取得することです。 Ghostがベータ版である間、このステップは今のところのみ必要であることに注意してください。 一般に公開されると、次の方法でインストールできるようになります。 npm (そして、このチュートリアルはそれを反映するように更新される可能性があります)。

ファイルをVPSに直接ダウンロードするか、FTP経由で転送することができます。 SCPを使用してフォルダをホストからサーバーにコピーする方法を説明します。 次のコマンドは、ローカル端末で実行されます。

cd /path/to/unzipped/ghost/folder
scp -r ghost-0.3 root@*your-server-ip*:~/

これにより、すべてのコンテンツがコピーされます ghost-0.3 サーバー上のrootユーザーのホームフォルダーへのフォルダー。

次に、リモートサーバーに戻り、アップロードしたばかりのGhostフォルダーに移動して使用します。 npm Ghostをインストールします。 コマンドは次のようになります。

cd ~/ghost-0.3
npm install --production

これが完了したら、以下を実行して、インストールが正しく機能したことを確認します。

npm start

出力は次のようになります。

> [email protected] start /root/ghost-0.3
> node index

Ghost is running...
Listening on 127.0.0.1:2368
Url configured as: http://my-ghost-blog.com

その場合は、おめでとうございます! Ghostがサーバー上で稼働しています。 Control-Cでプロセスを停止し、次の手順に進んで構成を完了します。

ステップ3:nginxをインストールして構成する


次のステップは、インストールと構成です nginx. Nginx(「engine-x」と発音)は、「無料のオープンソースの高性能HTTPサーバーおよびリバースプロキシ」です。 基本的に、ポート80の外部からの接続が、Ghostが実行されているポートに接続できるようになるため、他のユーザーがブログを見ることができます。

挿入は簡単です:

apt-get install nginx

構成はもう少し難しいだけです。 によって開始します cdnginxの構成ファイルにアクセスし、デフォルトファイルを削除します。

cd /etc/nginx/
rm sites-enabled/default

次に、新しい構成ファイルを作成します。

cd sites-available
touch ghost

そして、次のコードを貼り付けて、独自の構成に適合するように変更します(変更する必要があるのはドメイン名だけです)。

server {
    listen 0.0.0.0:80;
    server_name *your-domain-name*;
    access_log /var/log/nginx/*your-domain-name*.log;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
    }
}

最後に、ファイルからシンボリックリンクを作成します。 sites-availablesites-enabled:

cd ..
ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

これにより、ポート80で着信するトラフィックをリッスンし、指定したドメインに接続している場合は、Ghostにリクエストを渡します。

サーバーを再起動し(ステップ2の最後のコードを使用)、ドメインにアクセスします。 あなたがゴーストを見たら、あなたは行ってもいいです!

ステップ4:アップスタートを構成する


最後のステップは、Ghostを処理するUpstartタスクを作成し、何らかの理由でサーバーの電源がオフになった場合に、Ghostがキックバックされることを確認することです。 次の手順を実行して、新しいUpstart構成ファイルを作成することから始めます。

cd /etc/init
nano ghost.conf

そして、次の構成で貼り付けます。

# ghost

# description "An Upstart task to make sure that my Ghost server is always running"
# author "Your Name Here"

start on startup

script
    cd /root/ghost
    npm start
end script

これにより、サーバーが起動するたびにGhostが起動し、Ghostを使用して簡単に制御できるようになります。 service ghost start, service ghost stop、 と service ghost restart.