NodeJS

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen

Eigene NodeJS Installation

Die JavaScript-Umgebung NodeJS für das Ausführen von JavaScript auf dem Server unterliegt noch einer rasanten Entwicklung. Daher ist die Debian-Version, die bei Hostsharing vorinstalliert ist, oft zu alt für aktuelle Software.

Ein kurze Anleitung für die eigene NodeJS-Installation für einen User.

Installation von nvm

Heute ist die Version v0.33.0 aktuell, siehe auch https://github.com/creationix/nvm/releases

   $ cd /tmp
   $ wget https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh
   $ chmod u+x install.sh 
   $ ./install.sh 

An dieser Stelle ab- und wieder anmelden oder die Befehle ausführen:

   $ export NVM_DIR="/home/pacs/xyz00/users/example/.nvm"
   $ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Installation von NodeJS

Mit dem Befehl

   $ nvm install 4.8.0
   $ nvm alias default 4.8.0

läßt sich (zum Beispiel) sehr einfach NodeJS in der Version 4.8.0 installieren.

Der Befehl

   $ node -v

gibt die Version von NodeJS aus.

NodeJS Web-Applikation

Zur Nutzung der eigenen NodeJS-Installation mit mit dem Apache-Modul "Passenger" konfiguriert man den Pfad zum node-Binärprogramm in einer ".htaccess"-Datei im Verzeichnis der Domain "/home/pacs/xyz00/users/example/doms/example.com/.htaccess":

   PassengerNodejs /home/pacs/xyz00/users/example/.nvm/versions/node/v4.8.0/bin/node

Zum Testen kann man eine "app.js" ins Verzeichnis "/home/pacs/xyz00/users/example/doms/example.com/app/" bzw. "/home/pacs/xyz00/users/example/doms/example.com/app-ss/" ablegen.

Eine minimale "app.js" zur Anzeige der NodeJS Version:

   var http = require("http");
   http.createServer(function (request, response) {
      response.writeHead(200, {'Content-Type': 'text/plain'});
      response.write('node version ' + process.version + '\n');
      response.end();
   }).listen(3000);

Weitere Installationen

Mit dem "Node Package Manager" npm läßt sich weitere Software in die Node-Umgebung installieren:

   $ npm install -g gulp