前書き

このチュートリアルでは、https://docpad.org [DocPad]で作成したアプリケーションをDigitalOceanの標準64ビットUbuntu 14.04イメージにデプロイする方法を学習します。 DocPadはNode.jsを使用した静的サイトジェネレーターであり、単独で、またはNode.jsアプリと一緒に使用してサイトのコンテンツを駆動できます。

このチュートリアルを読んだ後、非ルートユーザーとしてポート80でDocPadを提供し、DocPadアプリがクラッシュした場合に自動的に再起動することを確認してください。

前提条件

始める前に、次のものが必要です。

  • Ubuntu 14.04ドロップレット

  • DocPadのインストール、構成、実行に使用するsudo特権を持つユーザーを作成します。https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-an- ubuntu-14-04-vps [Ubuntu 14.04 VPSでユーザーを追加および削除する方法]。 このチュートリアルでは、このユーザーを* docpad *と呼びます

このチュートリアルのすべてを* docpad *ユーザーとして実行する必要があります。

ステップ1-Git、Node.js、およびNPMのインストール

このセクションでは、DocPadの前提条件をインストールします。

サーバーのパッケージリストが更新されていることを確認します。

sudo apt-get update

Gitをインストールします。これにより、デフォルトのDocPadアプリケーションまたは独自のカスタムアプリケーションをGitリポジトリ。

sudo apt-get install git

Node.jsをWebサーバーとしてインストールします。

sudo apt-get install nodejs

の代わりにインストールしていることに注意してください。

Node.jsは、コマンドラインからコマンド `+ nodejs +`を使用して利用できるようになります。

また、コマンドで使用できるようにしたいと考えています。 そのために、nodeからNode.jsへのシンボリックリンクを作成できます。 これは、一部のプラグインが呼び出すように、DocPadアプリケーションがすべてのプラグイン依存関係を適切にダウンロードできるようにするために必要です。

sudo ln -s /usr/bin/nodejs /usr/bin/node

Node.jsのインストールの詳細と代替方法については、https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-serverの記事を参照してください。 [Ubuntu 14.04サーバーにNode.jsをインストールする方法]。

Node.jsの依存関係をダウンロードするには、https://www.npmjs.com [Nodeのパッケージマネージャー]のコマンドラインインターフェイスをインストールする必要があります。

sudo apt-get install npm

ステップ2 – Node.jsをポート80にバインドする

ポート80でアプリケーションにアクセスできるようにします。 デフォルトでは、DocPadアプリケーションはポート9778で実行されます。 この手順では、Node.jsをポート80にバインドし、後の手順で、DocPadアプリケーションをポート80でも実行するように構成します。 これにより、の代わりにからウェブサイトにアクセスできます。

Node.jsをポート80にバインドするには、まずインストールされていることを確認してください:

sudo apt-get install libcap2-bin

ほとんどのシステムでは、これはすでにインストールされています。 次に、Node.jsをポート80にバインドします。

sudo setcap cap_net_bind_service=+ep /usr/bin/nodejs

チュートリアルの後半で、ポート80を使用するようにDocPadアプリケーションを構成します。

ステップ3 – DocPadのインストール

次に、NPMを使用してDocPad自体をインストールします。

sudo npm install -g docpad

sudoを使用してDocPadをインストールしたため、* docpad *ユーザーのホームディレクトリの権限をクリーンアップします。

sudo chown -R docpad:docpad ~

DocPadの実行に別のユーザーを選択した場合は、ユーザーとグループを自分のユーザー名に置き換えます。

ステップ4 – DocPadアプリケーションの作成

このセクションでは、サーバーにDocPadアプリケーションをセットアップします。 Gitリポジトリから既存のプロジェクトを使用するか、ゼロから新しいテストアプリケーションを作成できます。

プロジェクトのディレクトリを作成します。 任意の名前を付けることができますが、この場合はを使用します。 次に、そのディレクトリに移動します。

mkdir ~/
cd ~/

[[step-4a-– downloading-existing-docpad-application-and-its-dependencies]]
==== ステップ4a –既存のDocPadアプリケーションとその依存関係のダウンロード

既存のDocPadアプリケーションがある場合は、次の手順に従ってサーバーにデプロイします。 まず、完成したアプリケーションをGitリポジトリからダウンロードする必要があります。

git clone

次に、DocPadアプリケーションの依存関係をすべてダウンロードする必要があります。

npm install

アプリケーションでBowerコンポーネントも使用している場合は、次を実行します。

bower install

ステップ4b –新しいDocPadアプリケーションの作成

DocPadアプリケーションをまだお持ちでない場合は、新しいものを作成できます。 アプリケーションディレクトリで、新しいDocPadアプリケーションを初期化します。

docpad run

DocPadを初めて実行する場合は、必要に応じて対話型ダイアログの質問に答えてください。

Before we continue, have you read and agree to DocPad's Terms of Service (http://bevry.me/tos) and Privacy Policy (http://bevry.me/privacy)? [Y/n]

Would you like to subscribe to our newsletter and stay up to date with the latest releases and tutorials? [Y/n]

次に、アプリのスキャフォールディングに使用するスケルトンを選択するよう求められます。 サンプルのWebサイトを作成するため、「+ Twitter Bootstrap 」(オプション「+4」)を選択します。ブラウザで機能するものをすぐに確認できます。

DocPadがアプリをビルドして起動するまで数分待ちます。 展開が正常に終了すると、次の出力が表示されます。

info: Installed the skeleton succesfully
notice: Shutting down the global DocPad, and starting up the local
info: Welcome to DocPad v6.63.8 (local installation: /home/docpad/docpad_test/node_modules/docpad)
info: Contribute: http://docpad.org/docs/contribute
info: Plugins: cleanurls, coffeescript, downloader, eco, less, livereload, marked, partials, related, stylus, text
info: Environment: development
info: DocPad listening to http://0.0.0.0:9778/ on directory /home/docpad/docpad_test/out
info: LiveReload listening to new socket on channel /docpad-livereload
info: Generating...
info: Generated 168/173 files in 15.012 seconds
info: Watching setup starting...
info: Watching setup
info: The action completed successfully

プロセスは端末ウィンドウで実行され続けます。

次に、ポート9778でIPアドレスまたはドメインにアクセスします。

  • + http://example.com:9778 +

デフォルトのDocPadホームページが表示されるはずです。

image:https://assets.digitalocean.com/articles/docpad_ubuntu/1.png [デフォルトのDocPadホームページ]

ユーザーがドメインにアクセスするときにポートを指定する必要がないように、次のステップでポート80で実行するようにアプリケーションを更新します。

Ctrl + Cキーを押すと、DocPadサーバーを停止できます。

アプリケーションディレクトリで `+ ls +`を使用してファイルを表示する場合は、Bootstrapスケルトンを含む次の生成されたファイルとディレクトリが表示されます。

docpad.coffee  LICENSE.md  node_modules  out  package.json  Procfile  README.md  src

アプリケーションのソースコードはです。

手順5 –ポート80で実行するようにDocPadを構成する

DocPadがポート80でアプリケーションを実行できるように、構成ファイルに次の行を追加する必要があります。 まず、編集するファイルを開きます。

nano ~//docpad.coffee

`+ docpadConfig = {} `ブロック内に行 ` port:80 `を追加します。 ラインはブロック内の最初のレベルにある必要があります。 ` docpadConfig = {+`の後の最初の行として追加できます。

docpadConfig = {

. . .



. . .

}

アプリケーションディレクトリにいることを確認します。 次のコマンドを使用してDocPadを実行します。 サーバーで初めてDocPadを実行する場合は、契約条件に同意し、アプリケーションが実行できることを確認してください。

./node_modules/docpad/bin/docpad run

アプリが正常に実行されると、WebサイトのURLに移動して、ブラウザーでサイトを表示できるようになります。

見つからない場合は、に移動してください。 そこに表示されているのは、ポートが `+ docpad.coffee `ファイルで適切に設定されていないためです。 ポートは、 ` docpadConfig +`オブジェクトの最初のレベルで指定する必要があります。

Ctrl + Cを押してプロセスを強制終了します。 次のセクションでは、毎回コマンドラインから起動するのではなく、アプリケーションをサービスにします。

ステップ6 – Upstartを使用してDocPadをサービスとして実行する

この最後のステップでは、DocPadアプリケーション用のUpstartスクリプトを作成します。 これにより、起動、停止、再起動などを実行できます。 コマンドラインからのアプリケーションのコマンド。 サーバーのバックグラウンドで実行されるため、SSH接続を開いたままにする必要はありません。 また、クラッシュした場合やサーバーが再起動した場合にアプリケーションを自動的に再起動するようにシステムを構成します。

Upstartスクリプトを作成します。

sudo nano /etc/init/.conf

次の内容を追加します。

description ""

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

# If the process quits unexpectedly trigger a respawn
respawn

env HOME=/home//
chdir /home//

setuid
setgid

exec /home//node_modules/docpad/bin/docpad run
  • + description +:このサービスの説明を入力してください

  • + env HOME +:DocPadユーザーのホームディレクトリ

  • + chdir +:アプリケーションのルートディレクトリ

  • + setuid +`および `+ setgid +:DocPadユーザー(グループは同じ名前でなければなりません)

  • + exec +:実行したいDocPadのバージョンへのフルパス。これは、以前にアプリケーションを起動するために使用したコマンドと同じですが、フルパスを使用する点が異なります

Upstartの詳細については、https://www.digitalocean.com/community/tutorials/the-upstart-event-system-what-it-is-and-how-to-use-it [この記事]を参照してください。

コマンドラインからアプリケーションを起動します。 ファイルを「+ .conf +」以外の名前で呼び出した場合、適切なサービス名を使用する必要があります。

sudo service  start

DocPadアプリケーションが生成されるまで約30秒待ちます。この時間はアプリケーションのサイズによって異なり、 `+。/ node_modules / docpad / bin / docpad run +`で手動で起動したときと同じくらい時間がかかります。

数秒待ってから、ブラウザでドメインまたはIPアドレスに移動します。 DocPadで生成されたWebサイトが表示されます。

完了です! 必要に応じて、サーバーに「+ sudo reboot +」を発行し、アプリケーションが自動的に起動することを確認します。

結論

これで、新しいDocPadアプリケーションを作成したり、既存のDocPadアプリケーションを複製したり、Ubuntuサーバーにデプロイしたり、ドメインにアクセスしたりできるようになります。

DocPadを使用してWebサイトの構築を開始するには、https://docpad.org/docs/intro [documentation]を参照してください。