Comment déployer une application DocPad sur Ubuntu 14.04

introduction

Dans ce didacticiel, nous allons apprendre à déployer une application créée avec https://docpad.org [DocPad] sur l’image Ubuntu 14.04 64 bits standard sur DigitalOcean. DocPad est un générateur de site statique alimenté par Node.js qui peut être utilisé seul ou avec une application Node.js pour gérer le contenu de votre site.

Après avoir lu ce didacticiel, vous devriez être en mesure de servir DocPad sur le port 80 en tant qu’utilisateur non root et assurez-vous que si votre application DocPad se bloque, elle redémarrera automatiquement.

Conditions préalables

Avant de commencer, vous aurez besoin des éléments suivants:

Vous devriez tout faire dans ce tutoriel en tant qu’utilisateur * docpad *.

Étape 1 - Installation de Git, Node.js et NPM

Dans cette section, nous allons installer les prérequis pour DocPad.

Assurez-vous que les listes de paquets de votre serveur sont mises à jour:

sudo apt-get update

Installez Git, qui vous permettra de déployer une application DocPad par défaut ou votre propre application personnalisée à partir d’un Référentiel Git.

sudo apt-get install git

Installez Node.js en tant que votre serveur Web:

sudo apt-get install nodejs

Notez que nous installons à la place de.

Node.js sera désormais disponible à partir de la ligne de commande avec la commande + nodejs +.

Nous voulons aussi qu’il soit disponible pour nous avec la commande. Pour ce faire, nous pouvons créer un lien symbolique de noeud à Node.js. Cela est nécessaire pour garantir que votre application DocPad puisse télécharger correctement toutes ses dépendances de plug-ins, car certaines d’entre elles appellent:

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

Pour plus d’informations et d’autres méthodes d’installation de Node.js, voir l’article https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server. [Comment installer Node.js sur un serveur Ubuntu 14.04].

Nous devons installer l’interface de ligne de commande pour le https://www.npmjs.com [gestionnaire de paquets pour Node] afin de télécharger nos dépendances Node.js:

sudo apt-get install npm

Étape 2 - Liaison Node.js au port 80

Nous aimerions que notre application soit accessible sur le port 80. Par défaut, les applications DocPad s’exécutent sur le port 9778. Dans cette étape, nous allons lier Node.js au port 80 et, dans une étape ultérieure, configurer notre application DocPad pour qu’elle s’exécute également sur le port 80. De cette façon, nous pouvons accéder à votre site Web à partir de.

Pour lier Node.js au port 80, assurez-vous d’abord qu’il est installé:

sudo apt-get install libcap2-bin

Sur la plupart des systèmes, cela est déjà installé. Liez ensuite Node.js au port 80:

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

Plus tard dans le didacticiel, nous allons configurer notre application DocPad pour utiliser le port 80.

Étape 3 - Installation de DocPad

Nous utiliserons ensuite NPM pour installer DocPad lui-même.

sudo npm install -g docpad

Nettoyez les autorisations du répertoire de base de l’utilisateur * docpad *, car nous avons utilisé sudo pour installer DocPad:

sudo chown -R docpad:docpad ~

Si vous avez choisi un autre utilisateur pour exécuter DocPad, remplacez l’utilisateur et le groupe par votre propre nom d’utilisateur.

Étape 4 - Création de votre application DocPad

Dans cette section, votre application DocPad sera configurée sur le serveur. Vous pouvez utiliser un projet existant depuis un référentiel Git ou créer une nouvelle application de test à partir de zéro.

Créez un répertoire pour votre projet. On peut appeler n’importe quoi, mais dans ce cas, nous allons utiliser. Puis déplacez-vous dans ce répertoire.

mkdir ~/
cd ~/

[[step-4a-– downloading-existing-docpad-application-and-its-dependencies]] ==== Étape 4a - Téléchargement de l’application DocPad existante et de ses dépendances

Si vous avez une application DocPad existante, procédez comme suit pour la déployer sur votre serveur. Premièrement, nous devons télécharger notre application complète à partir de son référentiel Git:

git clone

Ensuite, nous devrons télécharger toutes les dépendances de notre application DocPad:

npm install

Si votre application utilise également des composants Bower, exécutez:

bower install

Étape 4b - Création d’une nouvelle application DocPad

Si vous n’avez pas encore d’application DocPad, vous pouvez en créer une nouvelle. Dans le répertoire de l’application, initialisez une nouvelle application DocPad:

docpad run

Si vous utilisez DocPad pour la première fois, répondez aux questions du dialogue interactif comme vous le souhaitez:

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]

Nous serons ensuite invités à choisir un squelette avec lequel échafauder notre application. Choisissons + Twitter Bootstrap + (option + 4 +) car il crée un exemple de site Web et nous pouvons immédiatement voir quelque chose qui fonctionne dans le navigateur.

Attendez maintenant quelques minutes pendant que DocPad construit et lance votre application. Vous devriez voir cette sortie à la fin d’un déploiement réussi:

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

Le processus continuera à s’exécuter dans la fenêtre de votre terminal.

Maintenant, visitez votre adresse IP ou votre domaine au port 9778:

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

Vous devriez voir la page d’accueil par défaut de DocPad:

image: https: //assets.digitalocean.com/articles/docpad_ubuntu/1.png [page d’accueil de DocPad par défaut]

Nous mettrons à jour l’application pour qu’elle s’exécute sur le port 80 à l’étape suivante afin que les utilisateurs n’aient pas besoin d’indiquer de port lorsqu’ils visitent votre domaine.

Vous pouvez maintenant arrêter le serveur DocPad en appuyant sur CTRL + C.

Si vous souhaitez afficher les fichiers avec «+ ls +» dans le répertoire de l’application, vous devriez voir les fichiers et répertoires générés suivants avec le squelette Bootstrap:

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

Le code source de notre application est en.

Étape 5 - Configuration de DocPad pour qu’il s’exécute sur le port 80

Vous devrez ajouter la ligne suivante à votre fichier de configuration pour que DocPad exécute votre application sur le port 80. Tout d’abord, ouvrez le fichier pour le modifier:

nano ~//docpad.coffee

Ajoutez la ligne + port: 80 + dans le bloc + docpadConfig = {} +. La ligne doit être au premier niveau du bloc. Vous pouvez l’ajouter comme première ligne après + docpadConfig = {+.

docpadConfig = {

. . .



. . .

}

Assurez-vous que vous êtes dans votre répertoire d’application. Exécutez DocPad en utilisant la commande suivante. Si vous utilisez DocPad pour la première fois sur le serveur, acceptez les termes et conditions et assurez-vous que votre application peut exécuter:

./node_modules/docpad/bin/docpad run

Une fois l’application exécutée avec succès, vous devriez être capable de naviguer vers l’URL de votre site Web et d’afficher votre site dans le navigateur.

Si vous ne le trouvez pas, essayez d’accéder à. Si vous le voyez ici, c’est que votre port n’a pas été correctement configuré dans votre fichier + docpad.coffee +. Le port doit être spécifié au premier niveau de l’objet + docpadConfig +.

Maintenant, tuez le processus en appuyant sur Ctrl + C. Dans la section suivante, nous ferons de l’application un service, plutôt que de devoir la démarrer à partir de la ligne de commande à chaque fois.

Étape 6 - Exécution de DocPad en tant que service avec Upstart

Dans cette dernière étape, nous allons créer un script Upstart pour l’application DocPad. Cela vous permettra d’exécuter démarrer, arrêter, redémarrer, etc. commandes pour l’application à partir de la ligne de commande. Il fonctionnera en arrière-plan de votre serveur afin que vous n’ayez pas à garder une connexion SSH ouverte. Nous allons également configurer le système pour qu’il relance automatiquement l’application en cas de blocage ou de redémarrage du serveur.

Créez le script Upstart:

sudo nano /etc/init/.conf

Ajoutez le contenu suivant:

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 +: Entrez une description pour ce service.

  • + env HOME +: répertoire de base de votre utilisateur DocPad

  • + chdir +: le répertoire racine de l’application

  • + setuid + et + setgid +: votre utilisateur de DocPad (le groupe doit avoir le même nom)

  • + exec +: le chemin d’accès complet à la version de DocPad que nous voulons exécuter; Il s’agit de la même chose que la commande utilisée pour démarrer l’application plus tôt, sauf qu’elle utilise le chemin complet.

Pour plus d’informations sur Upstart, veuillez consulter cet article.

Lancez votre application à partir de la ligne de commande. Si vous avez appelé le fichier autre chose que + .conf +, vous devez utiliser le nom de service approprié:

sudo service  start

Attendez environ 30 secondes que votre application DocPad génère; cette durée varie en fonction de la taille de votre application et prend environ autant de temps que lorsque vous l’avez lancée manuellement avec +. / node_modules / docpad / bin / docpad run +.

Après avoir attendu quelques secondes, accédez à votre domaine ou à votre adresse IP dans votre navigateur. Vous devriez voir votre site Web généré par DocPad.

Vous êtes tous fait! Si vous le souhaitez, lancez un + sudo reboot + sur votre serveur et assurez-vous que l’application se relance automatiquement.

Conclusion

Vous devriez maintenant pouvoir créer une nouvelle application DocPad ou en cloner une existante, la déployer sur votre serveur Ubuntu et pouvoir la visiter sur votre domaine.

Pour commencer à créer votre site Web avec DocPad, voir la documentation.