Nodejs-Tutorial Teil 2: Installation (Ubuntu)

Posted by in JavaScript, Nodejs

Nach dem ganzen Geschwafel vom letzten Beitrag über warum wie und weshalb überhaupt Nodejs, geht es heute los mit dem Installieren von allen benötigten Komponenten. Zur Erinnerung, der Technologiestack der entwickelten Anwendung sieht wie folgt aus:

Nodejs
Express
Jade
MongoDB

Installiert wird das Ganze auf einem Ubuntu 12.04. Es sollte aber bei anderen Linuxversionen ähnlich verlaufen. Wer es genauer wissen will guckt sich die offiziellen Dokus an:

Nodejs
Express (über NPM)
Jade (über NPM)
MongoDB

Nodejs

Es gibt mehrere Arten Nodejs zu installieren, aber ich würde es über das Repository von Chris-Lea machen, damit man auch gleich die neueste Version installiert. Das sieht dann wie folgt aus

Für Ubuntu 12.10 und 13.04 sollte man außerdem noch software-properties-common installieren, damit add-apt-repository auch funktioniert. War bei mir aber nicht nötig.

Was auch nicht nötig war, ist die Installation von python-software-properties. Das lag aber daran, dass ich Python schon früher installiert hatte.

Dummerweise scheint es einen Namenskonflikt mit Node (Amateur Packet Radio Node Program) geben, der bei mir nicht aufgetreten ist. Die offizielle Empfehlung ist, dieses Paket zu entfernen oder einen Symlink von /usr/bin/node auf /usr/bin/nodejs zu erstellen.

Für Debian und damit auch für Ubuntu sollte folgender Konsolenbefehl funktionieren

Jetzt testen wir noch, ob alles funktioniert hat indem wir eine kleine Hello, World! Applikation erstellen. Dafür legen wir eine Javascript-Datei helloworld.js mit folgendem Inhalt an

Jetzt ganz einfach unseren Minimalserver starten im Terminal mit node helloworld.js. Wenn wir jetzt http://127.0.0.1:8124/ aufrufen, dann sollten wir die Nachricht Hello, World! sehen.

Geschafft, Nodejs und der Modulmanager NPM sind erfolgreich installiert 🙂

Express

Express ist ein Modul für Nodejs, das speziell für die Entwicklung von Webapplikationen gedacht ist und uns ein Grundgerüst für die Entwicklung zur Verfügung stellt.

Die Installation ist denkbar einfach und wird mit NPM, dem Node-Package-Manager vorgenommen. Zum Glück ist in den neuesten Versionen diese Modulverwaltung in der Standardversion von Nodejs schon dabei.

Außerdem muss noch der express-generator installiert werden für die

Die Option -g sagt NPM, dass wir die Module in unserer Master-Installation von Nodejs haben wollen, damit wir sie überall benutzen können.

Jade

Um Jade zu installieren, muss zuerst das Grundgerüst für die Applikation mit express erstellt werden. Der Einfachheit halber wird es im Home-Verzeichnis in einem eigenen Ordner application angelegt. Das geht so

Freundlicherweise wird gleich am Ende der Ausgabe darauf hingewiesen, dass man mit npm install die Abhängigkeiten installieren soll. Diese stehen in der JSON-Datei package.json im Ordner application. Dort wechseln wir mit der Konsole zuerst einmal hin. Im Moment sollte sie in etwa so aussehen

MongoDB-Modul

Bevor wir die Abhängigkeiten installieren, müssen wir noch das MongoDB-Modul und Monk hinzufügen. Monk macht die Arbeit mit MongoDB unter Nodejs erheblich einfacher, aber dazu später mehr. Wir fügen zur package.json in den dependencies diese zwei Module noch hinzu. Die fertige Datei sieht dann so aus

Zur Erklärung: Die Sterne weisen NPM an jeweils die neueste Version zu beschaffen.

Endlich können wir unser Grundgerüst fertigstellen und testen

Das kann ein bisschen dauern…
Nach der Fertigstellung enthält der Ordner application ein zusätzlichen Ordner node_modules indem alle Abhängigkeiten liegen.

Jetzt kann man mit

die Applikation starten und unter http://localhost:3000
sollte man eine Willkommensseite für Express zu sehen bekommen.

MongoDB Datenbank

MongoDB kann man über apt installieren. Dafür sind aber ein paar extra Schritte notwendig um immer die aktuellste Version zu bekommen (in diesem Fall 2.6)

Zuerst wird der GPG-Schlüssel importiert, damit apt und dpkg die Paket-Authentizität anerkennen.

Dann erstellen wir eine zusätzliche Repository-Datei für das Repository von MongoDB und aktualisieren anschließend die lokale Paketdatenbank

Jetzt kann schon installiert werden

Nach dem Starten von MongoDB kann man das MongoDB-Log überprüfen und den Datenbank-Daemon wieder beenden.

So jetzt muss natürlich noch die Datenbank für die Applikation an sich erstellt werden. Diese soll in einem Ordner data untergebracht werden, damit noch alles kompakt zusammen ist. Also erstellen wir diesen Ordner und starten MongoDB mit diesem Pfad

Da der Prozess jetzt im Vordergrund läuft öffnen wir eine weitere Konsole und tippen dann Folgendes ein

In unserer ursprünglichen Konsole sollten wir jetzt eine Ausgabe bekommen in der connection accepted from 127.0.0.1:56596 #1 (1 connection now open) oder etwas Ähnliches steht. Sollte das zu lesen sein, dann wurde die Verbindung zur MongoDB-Instanz erfolgreich hergestellt. Die Einrichtung ist abgeschlossen.

Was kommt in Teil 3

Das Setup für die ersten Schritte der Appikation sind gemacht und im dritten Teil wird erklärt wie mit Express und Jade einzelne Seiten aufgebaut und geroutet werden.